Firebase动态链接在Android 12设备上无法正常工作问题排查
Android 12设备点击Firebase认证动态链接报错的解决方案
针对你遇到的Android 12设备点击Firebase认证链接提示"Invalid Dynamic Link"的问题,核心原因是Android 12(API 31+)新增的包可见性限制,结合以下几个配置调整即可解决:
添加包可见性声明到AndroidManifest.xml
Android 12默认限制应用查询其他应用的存在,导致动态链接处理时无法和浏览器、Google Play服务组件交互,引发解析错误。在AndroidManifest.xml的<manifest>标签内添加以下配置:<queries> <!-- 允许与支持HTTPS的浏览器交互 --> <intent> <action android:name="android.intent.action.VIEW" /> <data android:scheme="https" /> </intent> <!-- 允许与Google Play服务组件交互(Firebase动态链接依赖) --> <package android:name="com.google.android.gms" /> </queries>确认Firebase动态链接的域名与签名配置
检查Firebase控制台中Dynamic Links模块:- 确保你的Android应用包名
com.appName.android已正确关联到https://appName.page.link域名; - 确认已添加调试版和正式版的SHA-1、SHA-256签名指纹,Android 12对签名验证的严格性更高,遗漏指纹会导致链接失效。
- 确保你的Android应用包名
校验ActionCodeSettings的版本参数
检查setAndroidPackageName的第三个参数(最小版本号):确保R.string.min_version_android对应的是纯数字的API级别(比如"21"对应Android 5.0),如果是带小数点的版本字符串(比如"5.0")会导致配置错误,需修正为整数形式的API等级。测试链接完整性
可以在Firebase控制台的Dynamic Links工具中直接测试生成的认证链接,确认链接结构完整,未被Android 12系统浏览器或安全策略拦截修改。
内容的提问来源于stack exchange,提问作者nibbana
相关产品推荐
相关产品推荐

