今天无意中了解到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。
原因:因为用的是体验版,所登的微信账号无体验权限。 解决方案:管理员给该账户体验权限,用该小程序有体验权限的账号测试。