在我的应用程序中,我想使用应用程序链接。 为此,在我的AndroidManifest.xml中,我将活动定义为:
<activity
android:name="com.abc.xyz.DeepLinkActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.Transparent">
<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:host="*.example.com"
android:scheme="https"/>
<data
android:host="*.example.com"
android:scheme="http"/>
</intent-filter>
</activity>
为此我将assetlinks.json定义为:
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "com.abc.xyz",
"sha256_cert_fingerprints": ["10:0C:0C:C2:78:EA:3B:DA:CA:A3:43:57:D1:8B:EE:62:15:E6:08:99:77:F1:F7:F1:DF:9E:DF:3C:92:04:B8:62"]
}
}
其中指纹是defult android调试密钥库指纹。
唯一需要指出的是,我们在https://www.example.com/.well-known/assetlinks.json域托管assetslink.json而不是托管 https://example.com/.well-known/assetlinks.json域名。 它可能是原因。我似乎一直遵循
中的所有指南https://developer.android.com/training/app-links/verify-site-associations.html#request-verify
答案 0 :(得分:0)
正如指出的here android不能处理通配符,因此您应该更改
<data
android:host="*.example.com"
android:scheme="https"/>
到
<data
android:host="example.com"
android:scheme="https"/>
您还可以使用https://developers.google.com/digital-asset-links/tools/generator测试网站是否验证了您的应用。