安装 Play 商店后,React 本机 Android 应用程序未获取分支推荐数据

Phi*_*erg 5 android react-native branch.io

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

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

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

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

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

小智 0

为了使所有深度链接边缘情况正常工作,您需要确认:

1) 将 Branch 包导入到您的MainApplication.java

import io.branch.rnbranch.RNBranchPackage;
import io.branch.referral.Branch;
Run Code Online (Sandbox Code Playgroud)

2)将RNBranchPackage添加到包列表中MainApplication.java

@Override
  protected List<ReactPackage> getPackages() {
    return Arrays.<ReactPackage>asList(
            new MainReactPackage(),
            new RNBranchPackage(), // <-- add this
Run Code Online (Sandbox Code Playgroud)

3)重写onCreate()MainApplication.java

@Override
public void onCreate() {
  super.onCreate();
  Branch.getAutoInstance(this);
}
Run Code Online (Sandbox Code Playgroud)

4) 将分支导入您的MainActivity

import io.branch.rnbranch.*;
import android.content.Intent;
Run Code Online (Sandbox Code Playgroud)

onStart()5) 分支在您的以下位置初始化MainActivity

protected void onStart() {
          super.onStart();
          RNBranchModule.initSession(getIntent().getData(), this);
      }
Run Code Online (Sandbox Code Playgroud)

6)onNewIntent()被覆盖MainActivity

@Override
      public void onNewIntent(Intent intent) {
          setIntent(intent);
      }
Run Code Online (Sandbox Code Playgroud)

请注意,这是假设您MainActivity是主要启动器活动的情况。请参考: https ://docs.branch.io/pages/apps/react-native/#android_1