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 集成核心说明(翻译自官方文档)
- 集成目标:把 Branch 的深度链接事件、用户来源数据同步到 Firebase Analytics,实现在 Firebase 仪表板统一查看用户转化、渠道效果等数据
- 核心逻辑:通过监听 Branch 的深度链接回调,将获取到的参数(如渠道标识、链接来源、用户ID等)封装为自定义事件,发送到 Firebase Analytics
- 注意事项:
- 必须确保 Firebase 和 Branch 的应用ID在原生项目中配置正确
- 发送到 Firebase 的事件名称和参数需符合 Firebase Analytics 规范,避免使用保留字段
- 测试时可使用 Branch 提供的测试链接,验证数据是否正常同步到 Firebase 后台
内容的提问来源于stack exchange,提问作者Sharif Noor
相关产品推荐
相关产品推荐

