我正在开发一个使用Firebase通知的项目。我面临的问题是在安装应用程序几个小时后没有收到通知。最初会按预期收到通知,但之后无法按预期工作。
我无法确定此问题的原因。
@Override public void onTokenRefresh()
上面的方法在服务类(FCMIDService)中用于firebase的令牌刷新,并使用最新的令牌以备将来使用通知。
<service android:name=".services.fcm.FCMIDService"><intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/></intent-filter>
</service>
应该非常感谢任何帮助。
答案 0 :(得分:2)
onTokenRefresh 。如果您的应用程序先前已安装并生成令牌,则不会调用onTokenRefresh。尝试卸载并重新安装应用程序以强制生成新令牌,这将导致调用onTokenRefresh。
确保您的AndroidManifest.xml中正确定义了FirebaseInstanceIdService
<service
android:name="com.bnt.etailers.fcm.MyFireBaseInstanceIDService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
<service
android:name="com.bnt.etailers.fcm.GCMNotificationIntentService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
答案 1 :(得分:0)
在主页活动中添加此行,以便每次应用重新启动时获取最新的令牌。
String token = FirebaseInstanceId.getInstance().getToken();