• 微信配置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(如下图所示)。

     

  • 相关阅读:
    《数据结构
    《数据结构
    《数据结构
    《算法
    《linux 进程管理》- ps/top/kill/killall/nice
    《linux 字符处理》- grep/sort/uniq/tr/paste/sed/awk
    《linux 文件目录》- touch/rm/mv/cat/head/tail/cp/mkdir/chmod/chown/find/locate/which/whereis/tar
    MySQL优化必须调整的10项配置
    PV-UV
    linux+nginx+mysql+php高性能服务器搭建
  • 原文地址:https://www.cnblogs.com/qizhuo/p/12118624.html
Copyright © 2020-2023  润新知