我正在我的项目中实现FCM,并且工作正常。 但按照以下步骤操作时未收到消息。
- 打开设置>应用程序>我的FCMApp
- 点击"强制停止">
- 从 Firebase 控制台发送消息
- 打开我的FCMApp
- 等待收到消息
但未收到待处理消息,并在收到消息时再次发送消息。 我检查在令牌上打开应用程序后强制停止没有更改。
如何解决这个问题?
Firebase Cloud Messaging有2种类型。
-
显示消息:这种类型的 FCM 仅在应用程序处于前台时才有效,我怀疑您正在使用该应用程序。
-
数据消息:这适用于您想要的前台和后台。
这里真的没有办法解释。如果我没有违反StackOverflow规则,请查看此youtube教程。
这将起作用
private static final String TAG = MyFirebaseInstanceIDService.class.getSimpleName();
@Override
public void onTokenRefresh() {
super.onTokenRefresh();
SharedPreferences sharedPreferences = getSharedPreferences("SmsGateWay", MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
String token = FirebaseInstanceId.getInstance().getToken();
sendRegistrationToServer(token);
editor.putString("Refresh_token", token);
editor.commit();
editor.apply();
}
private void sendRegistrationToServer(final String token) {
// sending gcm token to server
Log.e(TAG, "sendRegistrationToServer: " + token);
}