一、react native开发的

1.h5向app发送消息,app 接收并操作

//同通过 window.postMessage 向 app 发送消息
window.postMessage(
      JSON.stringify({
          action: "login",//和app协商的时间方法
      })
);

2.app操作完成,向h5 返回消息,h5监听并处理 

// 获取app 返回的 值
/* ios交互 */
window.addEventListener("message", function (res) {
    try {
        if (JSON.parse(res.data).token) {
          
        }
    } catch (e) { console.log(e) }
});
/* 安卓交互 */
document.addEventListener("message", function (res) {
    try {
        if (JSON.parse(res.data).token) {
           
        }
    } catch (e) { console.log(e) }
});

 二、原生app

1.h5使用app方法:

 if (ios的) {
     window.webkit.messageHandlers.fn.postMessage({a:'xxx'})
  } else {
     window.android.fn({a:'xxx'})
 }

2.app使用h5方法

window['fn'] = function(){console.log('aaa')}
//h5将方法挂载到window,app直接调用

 

Logo

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

更多推荐