从App直接打开小程序

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/dt1991524/article/details/88876052

今天无意中了解到APP竟然可以直接打开小程序这个功能,一致认为不可能啊,因为小程序是依靠微信,如果手机上微信没有打开,或者是没有安装微信会怎样呢?一起探索吧!
步骤
1.打开微信开发者平台文档,下载微信SDK。
2.根据文档手动集成SDK
3.点击进入小程序代码:

WXLaunchMiniProgramReq *launchMiniProgramReq = [WXLaunchMiniProgramReq object];
    launchMiniProgramReq.userName = @"gh_fc392b7c02cf";  //拉起的小程序的原始ID
    launchMiniProgramReq.path = @"";    //拉起小程序页面的可带参路径,不填默认拉起小程序首页
    launchMiniProgramReq.miniProgramType = WXMiniProgramTypePreview; //拉起小程序的类型
    [WXApi sendReq:launchMiniProgramReq];

3.当小程序跳转app时,会走onReq的代理方法(文档中说的是onResp的方法,很坑)。需要把req强转成LaunchFromWXReq。其中WXMediaMessage下的messageExt才是小程序传给我们的参数。

-(void)onResp:(BaseResp *)resp
{
    if ([resp isKindOfClass:[WXLaunchMiniProgramResp class]])
    {
        WXLaunchMiniProgramResp*rep = (WXLaunchMiniProgramResp*)resp;
        NSString *string = rep.extMsg;
        NSLog(@"参数:%@",string);
    }
}

注意:
1.查看移动端与小程序是否在同一开发者平台下(同一平台下直接跳转,不同平台下需要关联才能跳转)

同一平台

 

关联

 

2.APP跳到小程序时报如下图:

 

 

原因:因为APP暂未上架。
解决方案:我暂时选了一个上线的APP的Bundle id。

  1. APP跳到小程序时报如下图:

     

     

    原因:因为用的是体验版,所登的微信账号无体验权限。
    解决方案:管理员给该账户体验权限,用该小程序有体验权限的账号测试。

展开阅读全文

没有更多推荐了,返回首页