apicloud apicloud

注册
查看: 3480|回复: 15

[模块教程] 微信模块配置苹果 Universal Links 功能。

主题:
12
帖子:
2167
云币:
2230

[模块教程] 微信模块配置苹果 Universal Links 功能。

3480 15 | 发表于 2019-10-9 14:46:47 |阅读模式 | |
1,什么是苹果 Universal Links 功能?

   就是在苹果手机的浏览器(Safari,或者微信 App 内置的浏览器)上输入你们网站的网址会弹出在 “ *** ” 中打开的提示。其中 *** 是开通了该功能的你的 App。如附件截图所示。

2,怎么开通?

   2.1  开通 Associated Domains。用你的苹果开发者账号登录苹果开发者中心,创建包名 (Bundle ID)的时候,在左侧列表里找到 Identifiers,选中后再找到你的 Bundle ID (包名),选中该包名,配置开启其 Associated Domains 功能。
  2.2 配置 entitlements 文件。配置方法参考[论坛帖子](http://community.apicloud.com/bb ... iewthread&tid=47691)。配置示例如下:

        ```js
                <?xml version="1.0" encoding="UTF-8"?>
                <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
                <plist version="1.0">
                <dict>
                        <key>com.apple.developer.associated-domains</key>
                        <array>
                                <string>applinks:bjtest.apicloud.com</string>
                        </array>
                </dict>
                </plist>
        ```
  其中 com.apple.developer.associated-domains 对应的值bjtest.apicloud.com 是配置的你的应用的 Universal Links。详情参考 [苹果文档](https://developer.apple.com/docu ... ink_to_your_content)

  2.3 服务器端支持苹果 Universal Links 功能。方法如下:
     2.3.1 创建一个 apple-app-site-association 的文件,文件名必须叫 apple-app-site-association,注意无后缀名。文件内容示例如下:


{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "8DYK63463V.com.apicloudwx.test",
                "paths": ["*","/m/*"]
            },
            {
                "appID": "8DYK63463V.com.apicloud.openSDK",
                "paths": ["*","/m/*"]
            }
        ]
    }
}



说明:
appID:组成方式是 teamId.yourapp’s bundle identifier。如上面的 8DYK63463V 就是teamId。登陆开发者中心,在Account - Membership里面可以找到Team ID。
paths:对应域名中的path,用于过滤可以跳转到App的链接,支持通配符‘*’,‘?’以及‘NOT’进行匹配,匹配的优先级是从左至右依次降低。

2.3.2 上传该文件到你的域名所对应的根目录或者.well-known目录下,这是为了苹果能获取到你上传的文件。上传完后,自己先访问一下,看看是否能够获取到,当你在浏览器中输入这个文件链接后,应该是直接下载apple-app-site-association文件。苹果为了方便开发者,提供了一个网页来验证我们编写的这个apple-app-site-association是否合法有效,进入[验证网页](https://search.developer.apple.com/appsearch-validation-tool/)进行验证。


2.4 验证
以上步骤完成后,在 APICloud 平台云编译安装包到手机上,就可以测试验证改功能了。在iOS设备中的备忘录中输入App能识别的链接(如:https://bjtest.apicloud.com),然后直接点击此链接,就会直接跳转到你的app了。或是长按,在出现的弹出菜单中第二项是在’XXX’中打开,这也代表着成功。
2.5 进入app后的处理
现在用户点击某个链接,直接可以进我们的app了,但是我们的目的是要能够获取到用户进来的链接,根据链接来展示给用户相应的内容。    可以通过 api 对象下的 addEventListener 接口监听。详情参考:https://docs.apicloud.com/Client-API/api#c18
api.addEventListener({    name:'appintent'},function(ret,err){    var appParam = ret.appParam;    if(api.systemType == 'ios'){        var iosUrl = ret.iosUrl;    } else {        var sourceAppId = ret.sourceAppId;    }});

本帖子中包含更多资源    您需要 登录 才可以下载或查看,没有帐号?立即注册

主题:
92
帖子:
377
云币:
995

APICloud粉丝装逼侠锤子侠SB侠

发表于 2019-10-23 12:16:11 |
有问题,必须要在下图的红框的域名前加上“applinks:”前缀才可以

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

点评

:给你一个大大的赞 
发表于 2020-4-22 17:58

驾校小白

UID:848145

主题:
7
帖子:
16
云币:
23
发表于 2020-4-2 15:22:55 |
购买的官方证书, Universal Links 的appID 应该如何配置,team ID 是多少?

版主

UID:507226

主题:
176
帖子:
645
云币:
4860

APICloud粉丝装逼侠

发表于 2019-10-14 09:24:23 |

主题:
5
帖子:
20
云币:
46
发表于 2019-11-14 10:57:31 |
请问下这两个值怎样填?



<?xml version="1.0" encoding="UTF-8"?>
                <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
                <plist version="1.0">
                <dict>
                        <key>com.apple.developer.associated-domains</key>
                        <array>
                                <string>bjtest.apicloud.com</string>
                        </array>
                </dict>
                </plist>


这两个值apple-app-site-association中的2个值是什么对应关系?
假如apple-app-site-association放在https://www.baidu.com域名下
内容为

加入apple-aapple-app-site-associationpp-site-association内容未
{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "com.abc.appname",
                "paths": ["/mobile/*"]
            }

    }
}
上面的key  填的就是   com.abc.appname
string 填的就是  www.baidu.com  或www.baidu.com/mobile/
是这样吗?

主题:
5
帖子:
20
云币:
46
发表于 2019-11-14 11:11:12 |
麻烦版主翻牌一下4楼

主题:
0
帖子:
1
云币:
3
发表于 2019-11-21 09:36:56 |
本帖最后由 阿栾style 于 2019-11-21 09:38 编辑
blacky 发表于 2019-10-23 12:16
有问题,必须要在下图的红框的域名前加上“applinks:”前缀才可以

...

按照楼主发的试了好多次都不行,编译一直失败,还好看到你的这个评论加上applinks才可以。

主题:
92
帖子:
377
云币:
995

APICloud粉丝装逼侠锤子侠SB侠

发表于 2019-11-21 10:00:34 |
阿栾style 发表于 2019-11-21 09:36
按照楼主发的试了好多次都不行,编译一直失败,还好看到你的这个评论加上applinks才可以。 ...

帮助别人也就是帮助自己

主题:
12
帖子:
45
云币:
91
发表于 2019-11-21 17:38:35 |
那个在“XXX”APP中打开的标签,在你访问配置的服务器连接页面,需要下拉一下才能出现。

新手上路

UID:465890

主题:
11
帖子:
51
云币:
62
发表于 2019-12-6 15:38:24 |
楼主 为啥我用wx模块还是可以正常使用微信功能,跳转那些也正常, 这个Universal Links到底需不需要喔?

驾校小白

UID:212189

主题:
1
帖子:
11
云币:
4
发表于 2019-12-7 16:58:41 |
nihao222 发表于 2019-12-6 15:38
楼主 为啥我用wx模块还是可以正常使用微信功能,跳转那些也正常, 这个Universal Links到底需不需要喔? ...

wxPlus必须要配置吧,我这不想要,现在IOS微信登录用不了了
12下一页
您需要登录后才可以回帖 登录 | 立即注册

快速回复 返回顶部 返回列表