在Play商店安装后,反应原生Android应用程序没有获得分支引用数据

时间:2018-03-30 20:26:26

标签: android react-native branch.io

我们有一个本机应用程序,编译成android和ios。我们使用branch.io来跟踪通过不同链接的安装并将用户路由到不同的地方。 ios应用程序适用于所有scnearios。

对于Android应用程序,它适用于网站上列出的每个测试用例(大多数是安装应用程序但不打开它,然后单击链接,反之亦然),但当链接指示用户到Play商店,他们从那里下载,链接不起作用。

我见过3例 1.工作正常(罕见) 它根本不起作用,没有数据通过 参数以+clicked_branch_link:false +is_first_session:true

的形式出现

我正在使用来自npm的最新版本的react-native-branch

到目前为止,分支机构的电子邮件支持一直没有响应,我收到的一个回复没有帮助

2 个答案:

答案 0 :(得分:0)

为了使所有深层链接边缘情况起作用,您需要确认:

1)您将分行包导入MainApplication.java

import io.branch.rnbranch.RNBranchPackage;
import io.branch.referral.Branch;

2)将RNBranchPackage添加到MainApplication.java

中的包列表中
@Override
  protected List<ReactPackage> getPackages() {
    return Arrays.<ReactPackage>asList(
            new MainReactPackage(),
            new RNBranchPackage(), // <-- add this

3)覆盖MainApplication.java

中的onCreate()
@Override
public void onCreate() {
  super.onCreate();
  Branch.getAutoInstance(this);
}

4)将分支导入您的MainActivity

import io.branch.rnbranch.*;
import android.content.Intent;

5)分支在onStart()的{​​{1}}中初始化:

MainActivity

6)在protected void onStart() { super.onStart(); RNBranchModule.initSession(getIntent().getData(), this); }

中覆盖了onNewIntent()
MainActivity

请注意,这是假设您的@Override public void onNewIntent(Intent intent) { setIntent(intent); } 是主要的启动器活动。请参考: https://docs.branch.io/pages/apps/react-native/#android_1

答案 1 :(得分:0)

作为参考,我使用的是NPM的react-native-branch v2.2.4

我测试了以下情况:

  1. [Works]单击分支链接,然后安装应用程序

  2. [Works]从APK安装应用但不打开它,然后点击链接

  3. [Works]从商店安装应用程序然后单击链接
  4. [已损坏]点击链接以通过应用商店安装
  5. 事实证明,通过从AndroidManifest.xml中删除以下行来解决该问题

            <!-- Branch install referrer tracking (optional) -->
        <receiver android:name="io.branch.referral.InstallListener" android:exported="true">
            <intent-filter>
                <action android:name="com.android.vending.INSTALL_REFERRER" />
            </intent-filter>
        </receiver>