美文网首页
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