项目描述

原生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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐