Android深层链接默认处理程序

时间:2016-08-10 14:53:54

标签: android deep-linking android-app-indexing

我正在尝试使用Marshmallow版本中引入的深层链接网站和应用程序的最后一个默认处理功能。 我已经完成了三个步骤,如此处所述(https://developer.android.com/training/app-links/index.html

  1. 我在apk

    中创建了intent处理程序

                                                   

            <data android:scheme="http"
                android:path="/cat.html"
                android:host="kino.tryremember.ru"/>
        </intent-filter>
    </activity>
    <activity
        android:name=".DogActivity"
        android:exported="true"
        android:launchMode="singleTop">
        <intent-filter
            android:label="@string/app_name"
            android:autoVerify="true"
            tools:ignore="UnusedAttribute">
            <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:path="/dog.html"
                android:host="kino.tryremember.ru"/>
        </intent-filter>
    </activity>
    
  2. 我在测试网站上添加了assetlink json文件(https://kino.tryremember.ru/.well-known/assetlinks.json

  3. 正如我注意到我的应用程序处理网站链接,当我点击链接搜索结果在谷歌搜索中的Chrome例如它给了我选择器对话框,但正如文档(上面的链接)中描述的那样,将会自动检测默认值处理程序实际上我的应用程序将是默认处理程序,因为我已经完成了所有条件。

    但是在安装过程中,我可以在logcat中看到类似的东西

    08-10 17:39:24.821  4755 19896 I SingleHostAsyncVerifier:Verification result: checking for a statement with source a <
    08-10 17:39:24.821  4755 19896 I SingleHostAsyncVerifier:   a: "https://kino.tryremember.ru"
    08-10 17:39:24.821  4755 19896 I SingleHostAsyncVerifier: >
    08-10 17:39:24.821  4755 19896 I SingleHostAsyncVerifier: , relation delegate_permission/common.handle_all_urls, and target b <
    08-10 17:39:24.821  4755 19896 I SingleHostAsyncVerifier:   a: "com.busylee.appindexingexample"
    08-10 17:39:24.821  4755 19896 I SingleHostAsyncVerifier:   b <
    08-10 17:39:24.821  4755 19896 I SingleHostAsyncVerifier:     a: "A7:93:BA:D8:DD:ED:F4:40:08:7B:C7:43:49:60:C3:4F:31:34:54:2F:58:AC:BE:D9:16:CB:C5:B9:2B:A3:B9:CA"
    08-10 17:39:24.821  4755 19896 I SingleHostAsyncVerifier:   >
    08-10 17:39:24.821  4755 19896 I SingleHostAsyncVerifier: >
    08-10 17:39:24.821  4755 19896 I SingleHostAsyncVerifier:  --> false.
    08-10 17:39:24.821  4755 19896 D SingleHostAsyncVerifier: Remaining verification failures before we've exhausted all certs: 0
    08-10 17:39:24.821  4755 19896 D StatementServiceResFut: setResult on host: a <
    08-10 17:39:24.821  4755 19896 D StatementServiceResFut:   a: "https://kino.tryremember.ru"
    08-10 17:39:24.821  4755 19896 D StatementServiceResFut: >
    08-10 17:39:24.821  4755 19896 D StatementServiceResFut: : false
    08-10 17:39:24.821  4755 19895 I IntentFilterIntentSvc: Verification 3 complete. Success:false. Failed hosts:kino.tryremember.ru.
    

    我无法理解什么是错的。有没有人知道我错过了什么或做错了什么?

1 个答案:

答案 0 :(得分:1)

我发现我失败了。为Content-Type application-json文件添加标题.well-known/assetlinks.json是严格的,否则您将面临与我相同的错误。