FCM 通知在发布应用程序中不起作用
FCM notifications not working in release app
我正在尝试在没有接收到的发布应用程序中发送 FCM
通知(在用户之间发送消息、好友请求等),但它们 sending/receiving 在调试 apk 中非常好,我已经搜索过这个并找到了一些对我不起作用的解决方案
像这样,我把它放在了亲卫规则中,但没有用
-keep class com.google.firebase.* {*;}
在我的AndroidManifest.xml
<service
android:name=".notifications.MyFirebaseMessaging"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service
android:name=".notifications.MyFirebaseInstanceId"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
和其他依赖项,我没有在此处包括它们,因为该应用程序在调试模式下运行良好
已编辑
我已经有了
- 已生成发行版 SHA-1 和 SHA-256 密钥
- 在 firebase 控制台中添加它们
- 还在 firebase 中添加了 Google 控制台应用签名 SHA-1 和 SHA-256 密钥
- 然后下载Google-services.json文件并添加到app模块
您是否从正确的 jks 文件路径获得 SHA-1 密钥?
您尚未将用于发布的 SHA-1 密钥添加到您的 firebase 控制台,因此不存在于您的 google-services.json.
- 生成要发布的 SHA-1
- 将您的版本 SHA-1 添加到 firebase 控制台
- 下载并使用新的 google-services.json.
如果您正在使用 Google 玩应用签名。确保在第 2 步中也添加了 Play 商店用于签署您的版本的密钥
嗯,我昨晚刷牙的时候自己找到了问题的解决方法。
这两个答案都帮助了我很多,因为我不知道发布版本需要一个 SHA 密钥,所以它们对我很有帮助。
我已成功生成 SHA 密钥并将它们存储在 firebase 控制台中,但通知仍然无法正常工作,所以我发现我不允许 Proguard Rules
访问 firebase 通知服务,所以我只是添加了这个在那里排队
-keepclassmembers class com.example.app.notifications.* {
*;
}
现在它神奇地工作了。
我正在尝试在没有接收到的发布应用程序中发送 FCM
通知(在用户之间发送消息、好友请求等),但它们 sending/receiving 在调试 apk 中非常好,我已经搜索过这个并找到了一些对我不起作用的解决方案
像这样,我把它放在了亲卫规则中,但没有用
-keep class com.google.firebase.* {*;}
在我的AndroidManifest.xml
<service
android:name=".notifications.MyFirebaseMessaging"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service
android:name=".notifications.MyFirebaseInstanceId"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
和其他依赖项,我没有在此处包括它们,因为该应用程序在调试模式下运行良好
已编辑
我已经有了
- 已生成发行版 SHA-1 和 SHA-256 密钥
- 在 firebase 控制台中添加它们
- 还在 firebase 中添加了 Google 控制台应用签名 SHA-1 和 SHA-256 密钥
- 然后下载Google-services.json文件并添加到app模块
您是否从正确的 jks 文件路径获得 SHA-1 密钥?
您尚未将用于发布的 SHA-1 密钥添加到您的 firebase 控制台,因此不存在于您的 google-services.json.
- 生成要发布的 SHA-1
- 将您的版本 SHA-1 添加到 firebase 控制台
- 下载并使用新的 google-services.json.
如果您正在使用 Google 玩应用签名。确保在第 2 步中也添加了 Play 商店用于签署您的版本的密钥
嗯,我昨晚刷牙的时候自己找到了问题的解决方法。 这两个答案都帮助了我很多,因为我不知道发布版本需要一个 SHA 密钥,所以它们对我很有帮助。
我已成功生成 SHA 密钥并将它们存储在 firebase 控制台中,但通知仍然无法正常工作,所以我发现我不允许 Proguard Rules
访问 firebase 通知服务,所以我只是添加了这个在那里排队
-keepclassmembers class com.example.app.notifications.* {
*;
}
现在它神奇地工作了。