【apicloud】微信模块相关配置--Universal Links

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)

<?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

        可参考苹果官方文档:【文档地址


        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;
		}
	}
);


翻滚的胖子博客


猿教程
请先登录后发表评论
  • 最新评论
  • 总共0条评论