我们有一个本机应用程序,编译成android和ios。我们使用branch.io来跟踪通过不同链接的安装并将用户路由到不同的地方。 ios应用程序适用于所有scnearios。
对于Android应用程序,它适用于网站上列出的每个测试用例(大多数是安装应用程序但不打开它,然后单击链接,反之亦然),但当链接指示用户到Play商店,他们从那里下载,链接不起作用。
我见过3例
1.工作正常(罕见)
它根本不起作用,没有数据通过
参数以+clicked_branch_link:false +is_first_session:true
我正在使用来自npm的最新版本的react-native-branch
到目前为止,分支机构的电子邮件支持一直没有响应,我收到的一个回复没有帮助
答案 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
@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
我测试了以下情况:
[Works]单击分支链接,然后安装应用程序
[Works]从APK安装应用但不打开它,然后点击链接
事实证明,通过从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>