Deep link 不适用于 Branch

Deep link does not work with Branch

这是我在清单中得到的:

<activity
     android:name=".activities.VidyoSampleActivity"
     android:label="@string/app_name"
android:configChanges="orientation|screenSize">
     <intent-filter>
         <data android:scheme="facetalk" android:host="open"/>
         <action android:name="android.intent.action.VIEW" />
         <category android:name="android.intent.category.DEFAULT" />
         <category android:name="android.intent.category.BROWSABLE" />
     </intent-filter>
 </activity>
<receiver android:name="io.branch.referral.InstallListener" android:exported="true">
<intent-filter>
    <action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
<meta-data android:name="io.branch.sdk.BranchKey" android:value="key_live_hjyeOhAByhF1x452yXtuEjdpCzhMiEAB" />
<meta-data
android:name="io.fabric.ApiKey"
android:value="c13e89c059c32c08041932f2d48b4e5bf1054b4a" />

我正在使用这个版本:compile 'io.branch.sdk.android:library:2.+'

并且我在我的应用程序 class 中进行了初始化。 这是我在 dashboard.branch.io 上设置的 url 方案:facetalk://

但是当我尝试这个时 link:

facetalk://facetalk.vidyo-nl.com/mobile.html?key=saETMuvxjeW2akgzbyt46Xffio&guestname=Test123&secure=yes
它什么都不做。

这是为什么? 我什至从 Fabric AndroidStudio 插件创建了分支代码。它仍然不起作用。我究竟做错了什么? 如果需要更多信息,请告诉我

PS:如果我从意图过滤器中删除这个:

 android:host="open"

它会起作用的。但我认为它不会像那样通过分支机构。因为它没有输入这个:

    Branch branch = Branch.getInstance();
    branch.initSession(new Branch.BranchReferralInitListener() {
        @Override
        public void onInitFinished(JSONObject referringParams, BranchError error) {
            if (error == null) {
                Log.i("BranchConfigTest", "deep link data: " + referringParams.toString());
            }
        }
    }, this.getIntent().getData(), this);

添加一些日志后。当应用程序第一次启动时,我发现这正在被记录:

11-16 12:18:45.237: I/BranchConfigTest(25065): deep link data: {"+is_first_session":false,"+clicked_branch_link":true,"room":"DpoxihjuKKKE24FAP2ByTILdZsg","guestname":"John","secure":"true","$marketing_title":"Join Conference","$one_time_use":false,"~creation_source":1,"~feature":"marketing","~id":"325753563785928408","~marketing":true,"+click_timestamp":1479295095,"+match_guaranteed":true,"~referring_link":"https:\/\/facetalk.app.link\/join?room=DpoxihjuKKKE24FAP2ByTILdZsg&guestname=John&secure=true"}

我不明白这是怎么显示的?因为我只是启动应用程序,我没有按任何 link。 此外,当我按下我创建的 link 时,它不再被调用

来自 Branch.io 的 Alex:您需要 create a Branch link 并使用 URL 进行测试。使用 URI 方案直接输入深层 link 路径不是正确的实现,并且(正如您发现的那样)将不起作用。

Branch.io 集成表明我需要添加这样的意图:

<intent-filter>
            <data android:scheme="facetalk" android:host="open"/>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
        </intent-filter>

但这对我的分支 2.x 不起作用。 这是我能够添加意图的方式:

   <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="facetalk.app.link" />
        </intent-filter>