当网站由多个应用程序处理时如何创建 assetlinks.json
How to create assetlinks.json when website is handled by multiple apps
为了 link 我的应用程序需要像下面这样定义 assetlink.json 的网页。
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "package name",
"sha256_cert_fingerprints":
[key]
}
}]
我的网站有很多模块,比如说新闻网站中的例子,它有新闻、汽车评论、汽车评论、horoscope/astrology、烹饪、直播电视等不同的部分。在这种情况下,新闻门户每个模块都有 android 个应用程序,每个模块都有单独的 android 个应用程序,而所有模块都在单个域下。那么我们如何定义我们的 assetlink.json
将网站与多个应用相关联(回答“当网站由多个应用处理时如何创建assetlinks.json”)
https://developer.android.com/training/app-links/verify-site-associations#multi-subdomain
一个网站可以在同一 assetlinks.json 文件中声明与多个应用程序的关联。以下文件列表显示了声明文件的示例,该文件分别声明与两个应用程序的关联,并驻留在 https://www.example.com/.well-known/assetlinks.json:
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.example.puppies.app",
"sha256_cert_fingerprints":
["14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5"]
}
}, {
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.example.monkeys.app",
"sha256_cert_fingerprints":
["14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5"]
}
}]
只是为了补充正确答案,如果您希望不同的应用程序处理您网站的不同部分(文件夹),在将您的应用程序 SHA256 密钥添加到您的域后,您应该在它自己创建的应用程序中 intent-filter 在 AndroidManifest 上匹配您希望该应用程序打开的部分。
像这样
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" android:host="somedomain.com" android:pathPattern="/section/*" />
</intent-filter>
为了 link 我的应用程序需要像下面这样定义 assetlink.json 的网页。
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "package name",
"sha256_cert_fingerprints":
[key]
}
}]
我的网站有很多模块,比如说新闻网站中的例子,它有新闻、汽车评论、汽车评论、horoscope/astrology、烹饪、直播电视等不同的部分。在这种情况下,新闻门户每个模块都有 android 个应用程序,每个模块都有单独的 android 个应用程序,而所有模块都在单个域下。那么我们如何定义我们的 assetlink.json
将网站与多个应用相关联(回答“当网站由多个应用处理时如何创建assetlinks.json”)
https://developer.android.com/training/app-links/verify-site-associations#multi-subdomain
一个网站可以在同一 assetlinks.json 文件中声明与多个应用程序的关联。以下文件列表显示了声明文件的示例,该文件分别声明与两个应用程序的关联,并驻留在 https://www.example.com/.well-known/assetlinks.json:
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.example.puppies.app",
"sha256_cert_fingerprints":
["14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5"]
}
}, {
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.example.monkeys.app",
"sha256_cert_fingerprints":
["14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5"]
}
}]
只是为了补充正确答案,如果您希望不同的应用程序处理您网站的不同部分(文件夹),在将您的应用程序 SHA256 密钥添加到您的域后,您应该在它自己创建的应用程序中 intent-filter 在 AndroidManifest 上匹配您希望该应用程序打开的部分。
像这样
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" android:host="somedomain.com" android:pathPattern="/section/*" />
</intent-filter>