zoukankan      html  css  js  c++  java
  • 微信配置Universal Link解决方案支持多个app

    本文借鉴https://www.jianshu.com/p/6a25b18577eb,感谢博主的分享。

    本文主要讲解微信配置Universal Link问题,以及公司项目下多个app配置方案。

    注意事项(很重要)

    1.几个app共用一个pple-app-site-association文件,注意不同app可以根据path进行区分,在微信后台几openSDK传入的Universal Links是需要传入【https://域名+path】,不同的app对应不同的path,因此不会互相影响。

    2.项目中AppDelegate的continueUserActivity方法:进行处理,如下,如未做处理会出现每次分享都出现正在连接界面。

    - (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRest

    oring>> * __nullable restorableObjects))restorationHandler {

    return [WXApi handleOpenUniversalLink:userActivity delegate:self];

    }

    第一:更换的必要性

    微信开发者平台,包括QQ目前新建应用都必须配置Universal Link

    ,老本版存量问题,微信开发者平台公告2020年3月起逐渐收回老版本功能。因此更新ShareSDK配置Universal Link

    就是必须要做的。

    第二:自己配置的Universal Link

    步骤

    1.让后台人员准备一个https的链接,供后面存放建好的apple-app-site-association文件

    2.制作apple-app-site-association文件,并放置在准备好的链接根目录下

    3.在App Store对相应的buildID开启Universal Link服务

    4.在Xcode开启Associated Domains,并填写对应Domains

    5.用GET请求测试该链接下的文件内容,并在safari浏览器中测试

    6.填写微信新的LSApplicationQueriesSchemes

    7.回调测试

    第三步骤详解

    1.准备htttps链接,制作apple-app-site-association文件(文件名一定吧不能更改),放根目录的(.well-known)的子目录下,或者根目录下,地址一定是这两个中的一个。

    2.制作apple-app-site-association文件

    a.单个app,示例如下,其实就是一个json,apps数组不用管,details里面填入对应得appID和paths。appID就是用前缀+bundleID的方式,把它交给你的后台人员,按照之前说的放到相应目录。并且使用GET请求进行测试,确保路径能正常访问。

    {

    "applinks": {

            "apps": [],

            "details": [

                {

                    "appID": "xxxxxxxx.com.xxxxxxx",

                    "paths": ["*"]

                },

            ]

        }

    }

    B.多个App同时用1个apple-app-site-association,示例如下,通过paths来限制打开那个应用。其他同单个单用,打开app就是前面域名+/shahxi/

    {

    "applinks": {

            "apps": [],

            "details": [

                {

                    "appID":  "xxxxxxxx.com.xxxxxxx",

                    "paths": ["/shanxi/*"]

                },

                {

                    "appID":  "xxxxxxxx.com.xxxxxxx",

                    "paths": ["/chengdu/*"]

                },

                

            ]

        }

    }

    3.在App Store账号管理里找到对应的app id给其开通Associated Domains服务

     

     

     

     

     

     

     

     

     

     

     

     

     

    在项目中,添加对应的值,以applinks:+你准备的UniversalLink的形式填写,注意此次应是裸的域名,不要加https或者文件名例applinks:help.wechat.com

     

     

    在注册微信分享app哪里,是完整的UniversalLink,例如多个应用可能是这样的形式(https://域名/shanxi/),微信后台哪里填写的也是完整的UniversalLinkhttps://域名/shanxi/)

     

    4.一切就绪可以在Safari里面进行测试。

     卸载一次APP,build run一下,然后你就可以先在safari浏览器中测试走一波,把链接地址输入进去如https://help.wechat.com。页面加载完往下拉一下,看是否有打开APP的提示,如果有则配置成功!

    5.以上步骤与微信毫无关系,但证明UniversalLink已经配置成功,可进行APP跳转。

    接下来是微信开放平台和SDK注册方法填写相同UniversalLink,注意此次微信的要求https开头 /结尾,列如:https://help.wechat.com/

     

    6.也许这个时候你迫不及待想去调起微信,结果一定是失败的,因为此次更新后,还要添加一个新的Schemes。在Xcode中,在info”标签栏的“LSApplicationQueriesSchemes“添加weixin 和weixinULAPI(如下图所示)。

     

  • 相关阅读:
    【Codeforces 349B】Color the Fence
    【Codeforces 459D】Pashmak and Parmida's problem
    【Codeforces 467C】George and Job
    【Codeforces 161D】Distance in Tree
    【Codeforces 522A】Reposts
    【Codeforces 225C】Barcode
    【Codeforces 446A】DZY Loves Sequences
    【Codeforces 429B】Working out
    【Codeforces 478C】Table Decorations
    【Codeforces 478C】Table Decorations
  • 原文地址:https://www.cnblogs.com/qizhuo/p/12118624.html
Copyright © 2011-2022 走看看