irpas技术客

cocoscreator ts项目与IOS/Android 交互_全栈小王子

大大的周 7974

项目描述

原生webview加载cocoscreator ts 的游戏页面。经常使用的场景调用原生的sdk之类的。

1.业务流程

ts发起调用原生方法,原生处理完数据 在回调给ts 使用。

?

2.技术实现流程

ts->js->native->js->ts

3.ts要想使用js

js要先定义d.ts 这个没啥说的 都是参考。注意要将js导入为插件。

4js调用原生

js调用native webview的代理方法 发送消息

if(deviceType==1){

? ? ? ? //ios

? ? ? ? ?window.webkit.messageHandlers.JumpToParentCenter.postMessage(JSON.stringify(msg));

? ? }else{

????????//android

? ? ? ? leiming.fangfaming(JSON.stringify(msg));

? ? }

5.原生webview收到消息进行业务处理 发送消息给js

? ? [wkwebViewevaluateJavaScript:@"revMsg('bbbb')"completionHandler:^(id_Nullableresponse,NSError*_Nullableerror) {

?? ? ? ? ? NSLog(@"error %@", error);

?? ? ? }];

6.js收到消息 给ts发送消息。

这里要用到window定义一个全局的类

在你需要使用回调的ts类里定义。window['需要数据回调的类'] = this

然后js 直接调用?window['需要数据回调的类'] .方法();

7.ts收到js给的消息 完成业务。

8.完整流程代码参考:https://github.com/lure9999/ts_native


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #cocosCreator #ts项目与IOSAndroid #交互 #TS #的游戏页面