美文网首页
unity接入wap的方法

unity接入wap的方法

作者: yangying12658 | 来源:发表于2017-10-14 11:30 被阅读0次

本文章仅提供unity的ios项目接入我们公司的wap的思路。

接入我们公司的wap有两种情况,只是传入的参数不同:

1、接入wap支付(将最后生成的url传入到oc,用oc的webview拉起支付)

2、接入带内购的wap支付(将最后生成的url、是否使用内购的bool值传入到oc中,由oc代码拉起我们公司的支付或者是苹果内购。)

一、怎样将unity内的参数传递给oc

1、创建一个oc的.mm文件,例如BonjourClientlmpl.mm,里面写入一个c语言的函数,可以通过这个c语言函数作为中间层,来达到沟通oc与unity的目的,如下代码:

#import"BonjourClientImpl.h"

#import"MD5.h"

#import"JHShare.h"

#import"JFTWebViewController.h"

@interfaceNetServiceBrowserDelegate()

@end

@implementationNetServiceBrowserDelegate

- (void)openInWebViewWithUrl:(NSString *)url{

JFTWebViewController *webVc = [JFTWebViewControllernew];

UINavigationController*nav = [[UINavigationController alloc] initWithRootViewController:webVc];

UIViewController *vc = [UIApplication sharedApplication].keyWindow.rootViewController;

[vc presentViewController:nav animated:YEScompletion:^{

[webVc loadWithUrl:url];

}];

}

@end

extern"C"{

void_jftPay (constchar* payType,constchar*url)

{

NSString *payTypeStr = [NSString stringWithFormat:@"%s",payType];

NSString *urlStr = [NSString stringWithFormat:@"%s",url];

if([payTypeStr isEqualToString:@"12"]) {

NetServiceBrowserDelegate *instance = [NetServiceBrowserDelegatenew];

[instance openInWebViewWithUrl:urlStr];

return;

}

JHShare *tool=[JHShare shareInstance];

tool.openComplete = ^(BOOLstatus){

dispatch_async(dispatch_get_main_queue(), ^{

if(status) {

NSLog(@"打开app成功");

}else{

NSLog(@"打开app失败");

}

});

};

[tool requestWithUrl:urlStr];

}

}

2、在unity的Assets文件目录里面,有个Plugins文件,一般将安卓或者ios平台的资源包都放到这个文件中。在里面创建一个ios的文件夹,将1所创建的BonjourClientlmpl.mm放到里面来,如果该文件还需要其他的sdk或者文件资源,一并拖到这里面。

3、在unity中调用BonjourClientlmpl.mm中写的c函数,如void_jftPay,即可以实现传递参数

4、具体oc中如何编写,请参考相应的文档,如何实现内购,可以参考文章。

相关文章

网友评论

      本文标题:unity接入wap的方法

      本文链接:https://www.haomeiwen.com/subject/luezyxtx.html