Android FCM通知在发布应用程序中不起作用

Android FCM通知在发布应用程序中不起作用,android,firebase,push-notification,google-play,firebase-cloud-messaging,Android,Firebase,Push Notification,Google Play,Firebase Cloud Messaging,我试图在发布应用程序中发送FCM通知(在用户之间发送消息、好友请求等),但他们在调试apk中发送/接收得非常好,我已经搜索了这一点,并找到了一些不适合我的解决方案 像这样,我把它放在职业后卫规则中,但不起作用 -keep class com.google.firebase.* {*;} 在我的AndroidManifest.xml中 <service android:name=".notifications.MyFirebaseMess

我试图在发布应用程序中发送
FCM
通知(在用户之间发送消息、好友请求等),但他们在调试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>


您从右jks文件路径获得SHA-1密钥了吗?

您从右jks文件路径获得SHA-1密钥了吗?

您没有将发布版的SHA-1密钥添加到firebase控制台,因此您的google-services.json中不存在

  • 生成要发布的SHA-1
  • 将您的版本SHA-1添加到firebase控制台
  • 下载并使用新的google-services.json

  • 如果您正在使用Google play应用程序签名。确保play store用于签署发行版的密钥也已在步骤2中添加。

    您尚未将发行版的SHA-1密钥添加到firebase控制台,因此您的google-services.json中不存在该密钥

  • 生成要发布的SHA-1
  • 将您的版本SHA-1添加到firebase控制台
  • 下载并使用新的google-services.json

  • 如果您正在使用Google play应用程序签名。确保play store用于签署您的发行版的密钥也添加到第2步中

    我昨晚刷牙时自己找到了问题的解决方案。 这两个答案都给了我很大的帮助,因为我不知道发布版本需要一个SHA密钥,所以它们对我很有帮助

    我已成功生成SHA密钥并将其存储在firebase控制台中,但通知仍不起作用,因此我发现我不允许通过
    Proguard规则访问firebase通知服务,因此我只在此处添加了这一行

     -keepclassmembers class com.example.app.notifications.* {
          *;
        }
    

    现在它神奇地工作了。

    我昨晚刷牙时自己找到了解决问题的办法。 这两个答案都给了我很大的帮助,因为我不知道发布版本需要一个SHA密钥,所以它们对我很有帮助

    我已成功生成SHA密钥并将其存储在firebase控制台中,但通知仍不起作用,因此我发现我不允许通过
    Proguard规则访问firebase通知服务,因此我只在此处添加了这一行

     -keepclassmembers class com.example.app.notifications.* {
          *;
        }
    

    现在它神奇地工作了。

    我不知道路径是否正确,但它应该在哪里?对于调试,有一个不同的SHA-1密钥,对于发布,有一个不同的密钥。对于released,您需要创建一个jks文件,然后在为released创建SHA-1时需要添加该文件的路径。我在这里找到了我的密钥C:\Users\SRT\Desktop\TeamUp key\key.jksy您可以检查此链接是否对您有效?我不知道路径是否正确,但应该在哪里?用于调试,有一个不同的SHA-1密钥,对于已发布的,有一个不同的密钥。对于released,您需要创建一个jks文件,然后在为released创建SHA-1时需要添加该文件的路径。我在这里找到了我的密钥C:\Users\SRT\Desktop\TeamUp key\key.jksy您可以检查此链接是否对您有效?我已逐步尝试了您的解决方案,但对我无效,请告诉我任何其他解决方案。谢谢你告诉我答案的步骤。我已经一步一步地尝试了你的解决方案,但它对我无效。请告诉我任何其他解决方案。谢谢你告诉我答案的步骤