分支Deep Link无法打开应用程序

时间:2016-10-11 15:21:41

标签: android branch.io

我正在尝试将 Branch.io深层链接添加到我的应用程序中。我在应用程序中生成的链接重定向到网站而不是启动应用程序。我注意到,当我手动打开app之后,它会导航到我想通过Deep Link打开的Activity。我通过Fabric工具包添加了Branch.io,并在Fabric中关于深层链接路由的分步教程。我的应用尚未在Google Play商店中使用。

这是我在网站上的配置(我还选中了仪表板顶部的选项:Always try to open appTest模式)。我正在生成的链接也应该进行测试,因为我在test key响应/请求中看到BranchSDK:

http://imgur.com/a/mgLgu

的AndroidManifest.xml

    <application
    android:name=".app.MainApplication"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:largeHeap="true"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

    <meta-data
        android:name="io.branch.sdk.TestMode"
        android:value="true" />
    <meta-data
        android:name="io.branch.sdk.BranchKey"
        android:value="key_live_xxx" />
    <meta-data
        android:name="io.branch.sdk.BranchKey.test"
        android:value="key_test_xxx" />

    <activity
        android:name=".ui.main.MainActivity"
        android:label="@string/app_name"
        android:launchMode="singleTask"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

        <intent-filter>
            <data
                android:host="open"
                android:scheme="example" />
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
        </intent-filter>

的build.gradle

//...
applicationId "com.example"
//...
 compile('io.branch.sdk.android:library:2.4.3@aar') {
    transitive = true;
}

MainApplication

@Override
public void onCreate(){
    super.onCreate();
    Fabric.with(this);
    Branch.getAutoInstance(this);
}

如果需要,我可以添加更多代码段。

2 个答案:

答案 0 :(得分:2)

来自Branch.io的Alex:

由于应用会在您点击链接后手动启动时导航到正确的活动,这意味着您配置的大多数是正确的。唯一似乎缺少的是触发您的应用实际启动的代码。

在Android上,Branch使用您的URI方案。这是代码的这一部分:

<intent-filter>
    <data
        android:host="open"
        android:scheme="example" />
    <action android:name="android.intent.action.VIEW" />

    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
</intent-filter>

您需要使用其他自定义字符串替换example部分中的android:scheme="example"值。然后确保在分支信息中心的Link Settings部分中包含相同的字符串(以及://)。

这应该足以让你在这里开始运行。您可能还想查看我们的full developer documentation。 Fabric指南是一种很好的入门方式,但它们只涵盖了Branch提供的一小部分功能。

答案 1 :(得分:0)

如果接受的解决方案对您不起作用,请尝试查看https://dashboard.branch.io/link-settings顶部的Always try to open app选项。