应用链接不起作用

时间:2018-02-08 18:52:08

标签: android deep-linking applinks

在我的应用程序中,我想使用应用程序链接。 为此,在我的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

1 个答案:

答案 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测试网站是否验证了您的应用。