Firebase应用内消息无法展示活动:PERMISSION_DENIED错误解决
解决Firebase应用内消息PERMISSION_DENIED错误的方案
针对Logcat中出现的PERMISSION_DENIED: Requests to this API firebaseinappmessaging.googleapis.com method ... are blocked错误,可按以下步骤排查解决:
确认Google Cloud API的启用状态
虽然已在Firebase控制台启用In-App Messaging API,仍需前往Google Cloud Console对应项目,搜索Firebase In-App Messaging API,确认其状态为"已启用"。部分情况下Firebase控制台的启用操作可能未同步到Google Cloud。核对应用配置信息
- 检查Firebase控制台中安卓应用的SHA-1指纹是否正确,需覆盖调试和发布版本的签名指纹
- 确保
google-services.json文件是从Firebase控制台最新下载的,且放置在app模块根目录,文件内的api_key、client等信息与控制台配置一致
配置服务账号权限
进入Google Cloud Console的IAM与管理员页面,找到服务账号firebase-inappmessaging@[你的项目ID].iam.gserviceaccount.com,为其分配Firebase In-App Messaging Admin或Editor角色。缺失该权限会直接导致API调用被拒绝。更新依赖至兼容版本
当前使用的依赖版本可能存在兼容性问题,建议更新到最新稳定版:implementation("com.google.firebase:firebase-inappmessaging-display:21.1.0") implementation("com.google.firebase:firebase-analytics:22.2.0")执行
./gradlew clean build清理并重建项目验证应用签名与网络权限
- 调试时确保使用的签名配置与Firebase控制台中添加的SHA-1匹配;发布版本必须使用正式签名的指纹
- 检查AndroidManifest.xml中是否包含网络权限:
<uses-permission android:name="android.permission.INTERNET"/> - 确认测试设备可正常访问
firebaseinappmessaging.googleapis.com,无防火墙或代理拦截
内容的提问来源于stack exchange,提问作者Ashif Ali
相关产品推荐
相关产品推荐

