Firebase动态链接无法打开React Native应用问题排查求助
React Native Firebase动态链接无法唤起应用的排查与修复
1. 补全Intent-Filter的核心配置
你当前的intent-filter缺少android.intent.action.VIEW这个关键action,系统无法识别该Activity需要处理链接跳转请求。修改后的完整配置需放在主Activity(通常是MainActivity)的<activity>标签内:
<intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="https" android:host="brite.page.link" /> </intent-filter>
2. 添加自定义Scheme配置
Firebase动态链接可能通过自定义Scheme唤起应用,建议补充对应配置(替换com.your.app.package为你的应用实际包名):
<intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="com.your.app.package" /> </intent-filter>
3. 验证Firebase控制台配置
- 确认项目已正确添加应用的SHA-1和SHA-256指纹,动态链接依赖这些信息完成校验。
- 检查动态链接域名
brite.page.link是否已在Firebase控制台的「动态链接」模块中关联到当前项目。
4. 依赖与初始化检查
- 确保已安装
@react-native-firebase/dynamic-links依赖,且google-services.json已正确放置在Android项目的app目录下。 - 在App启动时添加动态链接监听,确保能捕获跳转事件:
import dynamicLinks from '@react-native-firebase/dynamic-links'; // 组件挂载时监听实时链接 useEffect(() => { const unsubscribe = dynamicLinks().onLink((link) => { console.log('Received dynamic link:', link.url); // 这里添加你的跳转逻辑 }); return unsubscribe; }, []); // 检查App启动时的初始链接 dynamicLinks() .getInitialLink() .then((link) => { if (link) { console.log('Initial dynamic link:', link.url); } });
5. 正确测试动态链接
- 不要直接在浏览器地址栏输入链接测试,建议通过短信、社交应用发送链接后点击,或用adb命令模拟跳转:
adb shell am start -W -a android.intent.action.VIEW -d "https://brite.page.link/xxx" com.your.app.package
- 测试前卸载旧版本应用,重新打包安装最新构建的安装包。
内容的提问来源于stack exchange,提问作者sharmakeshav07
相关产品推荐
相关产品推荐

