行业动态
微信小程序唤起其他微信小程序 / 移动应用App唤起小程序
2024-07-06

1. 微信小程序唤起微信小程序

小程序唤起其他小程序很简单

先上链接

小程序跳转小程序 Navigator组件 推荐使用?????从今往后开发者跳转小程序需要将指定跳转小程序的id添加到白名单,具体看文档中的“使用限制”栏目和下图

白名单配置预览 key=

navigateToMiniProgramAppIdList

??小程序基础库版本要在础库 2.0.7 开始支持,低版本需做兼容处理。??注意:不是任何小程序都可以唤起的,只能打开同一公众号下关联的小程序

1

2

3

//navigator组件也可以添加class属性 可以当做一个button来使用 点击触发

//其他没有用的的参数 详见上面的Navigator组件文档链接

2. 移动应用App唤起微信小程序

移动应用App唤起小程序的方式也不麻烦,但由于当时开发的时候参考的文档有点模棱两可,导致调试了一阵子,这也是写这篇文章的初衷,避免大家走弯路。

先上链接

移动应用App唤起微信小程序

具体流程:

登陆微信开放平台管理中心-创建移动应用-等待审核通过审核通过后-查看应用(拉到最下面)-关联小程序信息-查看关联-关联小程序-小程序账号持有者通过申请到这一步就可以开始移动开发了

??这里只介绍iOS SDK接入开发全流程 原文链接下载导入或是cocoapod接入随你,原文链接里写的挺清楚,应该不会遇到太多问题,这里提几个容易遗忘和出错的点

URL Schemes设置 如下图所示

Identifier直接填写 weixin

URL Schemes填写已申请通过的App详情中的AppIdURL Schemes设置Info.plist设置添加Key-LSApplicationQueriesSchemes

如下图所示Info.plist设置必须在代码中向微信终端注册你的id

NSLog(@"注册微信权限 ===== %d", [WXApi registerApp:@"AppId"]);

??都设置成功后,如果想测试一下是否可以使用SDK可以调用api打开微信试一下,如果能跳转到微信,说明可以继续开发了。

1

2

//测试代码

[WXApi openWXApp];

??在iOS资源Demo中有一个写好的类WXApiManager可以拿来直接用,方便哦~Demo

由于我们的需求是点击不同的按钮跳转到小程序不同的页面,所以我有写一个工具类,具体代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

//外部调用此方法前先调用abilityCheck判断是否可以正常调起微信小程序

+ (BOOL)openWXMiniProgram:(MiniProgramPathType)path {

WXLaunchMiniProgramReq *launchMiniProgramReq = [WXLaunchMiniProgramReq object];

launchMiniProgramReq.userName = @"原始ID";

launchMiniProgramReq.path = [WXMiniProgramTool transformPath:path];

launchMiniProgramReq.miniProgramType = WXMiniProgramTypeRelease;

return [WXApi

sendReq:launchMiniProgramReq];

}

//检查用户是否安装微信

//判断当前微信的版本是否支持OpenApi

+ (BOOL)abilityCheck {

if ([WXApi isWXAppInstalled]) {

if ([WXApi isWXAppSupportApi]) {

return YES;

}

return NO;

}

return NO;

}

//外部调用传入枚举值在内部转化为具体小程序path

+ (NSString *)transformPath:(MiniProgramPathType)path {

if (path == MiniProgramPathDefault) {

return @"pages/path1/path1";

}

if (path == MiniProgramPathIndex) {

return @"pages/path2/path2";

}

if (path == MiniProgramPathTeach) {

return @"pages/path3/path3";

}

return @"

pages/pathDefault/pathDefault";
}

iOS这里有个很坑的地方,文档中是这样写的

1

2

3

4

5

WXLaunchMiniProgramReq *launchMiniProgramReq = [WXLaunchMiniProgramReq object];

launchMiniProgramReq.userName = userName; //拉起的小程序的username

launchMiniProgramReq.path = path; //拉起小程序页面的可带参路径,不填默认拉起小程序首页

launchMiniProgramReq.miniProgramType = miniProgramType; //拉起小程序的类型

return [WXApi

sendReq:launchMiniProgramReq];

这个userName

并没有具体说明是什么参数,其实是你小程序配置里的原始ID,登陆小程序微信公众平台-设置-最下面 账号信息-原始ID

若这个参数不填或者填错,该API直接返回NO,不好发现错误原因。

到这一步如果没有出错,恭喜你已经看到你要跳转的小程序弹出了。如果你们的需求还有从小程序中跳转回移动应用App后的操作,参考文档,这里就不说了。


1063568276