我知道如何使用意向过滤器处理Android和iOS中的深层链接,但我希望为所有平台使用相同的URL。为所有平台创建深层链接网址
如何创建可以在没有任何库的情况下由Android,iOS和Web处理的URL?提前致谢。
我知道如何使用意向过滤器处理Android和iOS中的深层链接,但我希望为所有平台使用相同的URL。为所有平台创建深层链接网址
如何创建可以在没有任何库的情况下由Android,iOS和Web处理的URL?提前致谢。
您可以通过使用Android上的应用链接和iOS上的通用链接来完成此操作,同时维护您的正常网站URL。
一旦你有一个特定的域名注册你的网站,你可以配置你的iOS应用使用的应用程序,而不是通过通用链接浏览器中打开该网址。
接下来,你必须拥有一个正确配置您的服务器使用HTTPS的一个苹果应用程序站点关联文件://.com/apple-app-site-association。它应该看起来像这样。
{
"applinks": {
"apps": [],
"details": [
{
"appID": "<teamId>.<bundleId>.dev",
"paths": [ "*" ]
},
{
"appID": "<teamId>.<bundleId>",
"paths": [ "*" ]
}
]
},
"activitycontinuation": {
"apps": [
"<teamId>.<bundleId>.dev",
"<teamId>.<bundleId>"
]
}
}
一旦你有这样的设置,你可以测试一下,看看你的通用链接是否有效使用这个tool。
现在,您的应用应该能够处理您网站处理的所有相同网址。你可以看到完整的教程here。
的应用链接基本上是照搬通用链接,使他们在一个非常类似的方式运作的Android的方式。要设置它们,您首先要将意图过滤器添加到清单中。
<activity ...>
<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="http" android:host="yoursite.com" />
<data android:scheme="https" android:host="yoursite.com" />
</intent-filter>
</activity>
接下来,你yoursite.com/.well-known/assetlinks.json您的Web服务器上托管的assetlinks.json文件中。它应该看起来像这样。
[{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "io.branch.branchster",
"sha256_cert_fingerprints": ["14:6D:E9:83:...
}
}]
然后,您应该可以在应用程序内处理深度链接。要查看完整的App Links教程,请点击here。
使用Android和iOS这两个方法,你应该能够使用在所有三种情况下网,安卓和iOS的完全相同的链接。当然,这不包括deferred deep linking,并且在某些边缘情况下会失败,具体取决于用户链接的来源。由于这些原因,我建议使用第三方服务,如Branch(免责声明,我是长期用户后为分支机构工作)或Firebase。