Branch Deep Link 打不开申请

Branch Deep Link does not open application

我正在尝试将 Branch.io Deep Linking 添加到我的应用程序中。 Link 我在应用程序内部生成的重定向到网站而不是启动应用程序。我注意到,当我之后手动打开应用程序时,它会导航到我想通过 Deep Link 打开的 Activity。我通过 Fabric 套件添加了 Branch.io,并按照 Fabric 中关于 Deep Linking Routing 的分步教程进行操作。我的应用尚未在 Google Play 商店中。

那是我在网站上的配置(我还检查了选项:仪表板顶部的 Always try to open appTest 模式)。我生成的 Links 也应该进行测试,因为我在 BranchSDK: response/request

中看到 test key

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;
}

主应用程序

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

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

Alex 来自 Branch.io 这里:

因为当您在单击 link 后手动启动应用时,该应用会导航到正确的 activity,这意味着您的 大多数 配置是正确的.唯一似乎缺失的部分是触发您的应用程序实际启动的代码。

在 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>

您需要将 android:scheme="example" 部分中的 example 值替换为其他自定义字符串。然后确保在 Branch 仪表板的 Link Settings 部分中有相同的字符串(加上 ://)。

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

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