iOS开发 APP调起微信小程序与配置Universal Links

apple-app-site-association文件示例地址:https://download.csdn.net/download/ljc_563812704/12275126

小程序支持用APP直接调起。

在微信开放平台将APP与对应的小程序关联,关联成功之后就可以进入开发了。

APP中调起小程序的代码,来源于微信开发者文档:

WXLaunchMiniProgramReq *launchMiniProgramReq = [WXLaunchMiniProgramReq object];
launchMiniProgramReq.userName = userName;  //拉起的小程序的username
launchMiniProgramReq.path = path;    ////拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
launchMiniProgramReq.miniProgramType = miniProgramType; //拉起小程序的类型
//[WXApi sendReq:launchMiniProgramReq];//1.8.5以前SDK
//1.8.6及以后的SDK用以下方法
[WXApi sendReq:launchMiniProgramReq completion:^(BOOL success) {
        if (success) {
            
        }else{
            
        }
    }];


 其中的userName是小程序的原始id,不是小程序的名称

如果是用的openSDK1.8.6及以后的,一定要注意在AppDelegate中加入这段代码,不然会出现调起微信之后又回到APP中,无法真正调起小程序:

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRestoring>> * __nullable restorableObjects))restorationHandler {
    
    return [WXApi handleOpenUniversalLink:userActivity delegate:self];
    
}


在openSDK1.8.6版本之后需要支持Universal Links,所以也要对APP配置Universal Links。

Universal Links就是一个通用链接,iOS9以上的用户,可以通过点击这个链接无缝的重定向到一个APP应用,而不需要通过safari打开跳转。如果用户没有安装这个app,则会在safari中打开这个链接指向的网页。

Universal Links配置比较简单,在服务器的根目录上传apple-app-site-association文件,服务器必须要支持https。apple-app-site-association里面是一段json。多个app可共用一个文件,在details里面写不同的appID,appID的格式为teamID.bundle identifier。paths实际上就是配置可以唤醒app的路径,和限制哪些路径不能唤醒app(路径前面加NOT:"NOT /app1path/test/*")。

{
    "applinks":{
        "apps":[],
        "details":[
            {
                "paths":["/app1path/*"],
                "appID":"teamID.app1的Bundle identifier"
            },
            { 
                "appID": "teamID.app2的Bundle identifier", 
                "paths": ["/app2path/*"] 
             }
        ]
    }
}
文件配置好之后,要在Xcode中的Capabilities中打开Associated Domains,Domains填入applinks:服务器的域名,去掉https://(例如: applinks:aaa.bbb.com)。配置好之后,也要在苹果开发者中心的APP IDs中开启Associated Domains,然后重新配置下对应的描述文件,在Xcode中重新导入描述文件就可以了。

验证Universal Links是否配置好,可以在手机的safari中,输入配置好的地址(例如:https://aaa.bbb.com/app1path/),跳转之后下拉网页,看下是否有出现你APP的logo和打开按钮,如果出现了,就说明配置的Universal Links是正确的。如下图:


————————————————
版权声明:本文为CSDN博主「wang790492446」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wang790492446/article/details/104840630

猜你喜欢

转载自blog.csdn.net/ljc_563812704/article/details/105042215