You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native中Branch.io与Google Firebase集成技术问询

React Native 集成 Branch.io 与 Google Firebase 深度链接数据追踪方案

Android 端原生配置

  • 先确认已安装 react-native-branch 和 @react-native-firebase/analytics 依赖包
  • 打开 android/app/src/main/java/[你的包名]/MainApplication.java:
    • 导入必要类:
      import io.branch.referral.Branch;
      import com.google.firebase.analytics.FirebaseAnalytics;
      
    • 在 onCreate 方法里,初始化 Branch 后添加事件监听,把深度链接数据转发到 Firebase:
      @Override
      public void onCreate() {
          super.onCreate();
          // 保留你已有的 Branch 初始化代码
          Branch.getAutoInstance(this);
          
          // 获取 Firebase Analytics 实例
          FirebaseAnalytics mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
          
          // 设置 Branch 深度链接监听器
          Branch.getInstance().setBranchUniversalReferralListener((referralParams, error) -> {
              if (error == null && referralParams != null) {
                  Bundle eventParams = new Bundle();
                  // 遍历 Branch 返回的参数,存入 Firebase 事件 Bundle
                  for (Map.Entry<String, String> entry : referralParams.entrySet()) {
                      eventParams.putString(entry.getKey(), entry.getValue());
                  }
                  // 发送自定义事件到 Firebase
                  mFirebaseAnalytics.logEvent("branch_deep_link", eventParams);
              }
          });
      }
      
  • 确保 AndroidManifest.xml 已配置 Branch 的权限、Intent Filter,且 Firebase 的 google-services.json 已正确放置在 android/app 目录下

iOS 端原生配置

  • 确认依赖安装完成:react-native-branch 和 @react-native-firebase/analytics
  • 打开 ios/[你的项目名]/AppDelegate.m:
    • 导入头文件:
      #import <Branch/Branch.h>
      #import <FirebaseAnalytics/FirebaseAnalytics.h>
      
    • 在 application:didFinishLaunchingWithOptions: 方法中,初始化 Branch 后添加深度链接处理逻辑:
      - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
          // 保留你已有的 Branch 初始化代码
          [Branch setUseTestInstance:NO];
          Branch *branch = [Branch getInstance];
          [branch initSessionWithLaunchOptions:launchOptions andRegisterDeepLinkHandler:^(NSDictionary *params, NSError *error) {
              if (!error && params) {
                  // 将 Branch 参数转为 Firebase 事件参数
                  NSMutableDictionary<NSString *, id> *firebaseEventParams = [[NSMutableDictionary alloc] initWithDictionary:params];
                  // 发送自定义事件到 Firebase Analytics
                  [FIRAnalytics logEventWithName:@"branch_deep_link" parameters:firebaseEventParams];
              }
          }];
          
          // 保留你已有的 Firebase 初始化代码
          [FIRApp configure];
          
          return YES;
      }
      
  • 确保 Info.plist 已配置 Branch 的 URL Schemes,且 Firebase 的 GoogleService-Info.plist 已添加到 iOS 项目中

React Native 层统一处理(可选)

如果不想修改原生代码,也可以在 RN 层监听 Branch 事件并转发到 Firebase:

import branch from 'react-native-branch';
import analytics from '@react-native-firebase/analytics';

// 在根组件或需要监听的组件中添加
useEffect(() => {
  const unsubscribeBranch = branch.subscribe(({ error, params }) => {
    if (!error && params) {
      // 发送深度链接数据到 Firebase Analytics
      analytics().logEvent('branch_deep_link', params);
    }
  });

  return unsubscribeBranch;
}, []);

Branch.io 与 Firebase 集成核心说明(翻译自官方文档)

  1. 集成目标:把 Branch 的深度链接事件、用户来源数据同步到 Firebase Analytics,实现在 Firebase 仪表板统一查看用户转化、渠道效果等数据
  2. 核心逻辑:通过监听 Branch 的深度链接回调,将获取到的参数(如渠道标识、链接来源、用户ID等)封装为自定义事件,发送到 Firebase Analytics
  3. 注意事项:
    • 必须确保 Firebase 和 Branch 的应用ID在原生项目中配置正确
    • 发送到 Firebase 的事件名称和参数需符合 Firebase Analytics 规范,避免使用保留字段
    • 测试时可使用 Branch 提供的测试链接,验证数据是否正常同步到 Firebase 后台

内容的提问来源于stack exchange,提问作者Sharif Noor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 14:10:25