美文网首页
iOS APP拉起微信小程序

iOS APP拉起微信小程序

作者: iOS小武哥 | 来源:发表于2019-10-28 10:21 被阅读0次

背景:由于公司业务需求,我们公司自己开发了一个微信小程序,然后通过App拉起微信小程序进行交互,有一些功能也可以放在小程序中去实现!

准备:首先你在微信的开放平台创建应用,并通过审核,就是你的App具备:微信支付,分享等功能即可!利用Cocoapods导入第三方 pod 'WechatOpenSDK' 或者是手动导入,这个可以看官方文档!

代码实现:代码实现比较简单,如下:
if ([WXApi isWXAppInstalled]) { //先判断是否安装微信
        WXLaunchMiniProgramReq *launchMiniProgramReq = [WXLaunchMiniProgramReq object];
        launchMiniProgramReq.userName = @"gh_xxxxxxxxxxxx";  //拉起的小程序的username-原始ID
        launchMiniProgramReq.path = nil;    //拉起小程序页面的可带参路径,不填默认拉起小程序首页
        launchMiniProgramReq.miniProgramType = WXMiniProgramTypeRelease; //拉起小程序的类型
        [WXApi sendReq:launchMiniProgramReq];
    }else{
        //提示用户没有安装微信,不能拉起小程序
    }
/*
参数说明:
 userName:拉起的小程序的username-原始ID,这个在小程序->设置中可以看见,必须 必须 必须 以 (gh) 开头的 重要的事情说3遍
**/
launchMiniProgramReq.path ="page/index?key1=xxxx";//类似http的url方法来传递参数,如果不传,默认进入小程序首页!
成功之后得回调:
-(void)onReq:(BaseReq *)req
{
    if ([req isKindOfClass:[LaunchFromWXReq class]]) {
        LaunchFromWXReq *smallPro = (LaunchFromWXReq *)req;
        WXMediaMessage *meessage = smallPro.message;
        NSLog(@"meeage = %@", meessage);
    }
}

温馨提示:还有一点要求,如果你的App和小程序是在一个微信开发者下面创建的,可以不用关联就能拉起小程序,如果不在同一个账号下的话就需要关联一下即可,在小程序里面有关联App这个选项!一个APP可以关联3个微信小程序!

问题:如果发现关闭微信小程序,停留在微信页面,没有返回到App,这个应该在小程序那边处理一下,Android和iOS处理不太一样,如下:
//小程序端通过navigateBackApplication来关闭
f1: function (e) {
   if(在android下){//wx.getSystemInfo
    wx.navigateBackApplication({
      "extraData":{key:"传递到app的数据"}
    })
   else{
      wx.navigateBackApplication({
        "extraData":"传递到app的数据"
    })
  }
}

相关文章

网友评论

      本文标题:iOS APP拉起微信小程序

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