我的设备未收到其他通知(FCM)

时间:2016-05-23 06:11:38

标签: android firebase firebase-cloud-messaging

我已迁移到Firebase云消息传递,当我第一次尝试发送消息时,我在Firebase中使用控制台收到通知,然后尝试在几分钟后发送另一个通知,但我不再收到另一个通知但在我的firebase控制台中它说了它是Completed

更新

这是我的代码

MainActivity

public class MainActivity extends Activity {
 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

 checkPlayServices();

 Log.i(TAG, "InstanceID token: " + FirebaseInstanceId.getInstance().getToken());

}
....
}

MyFirebaseInstanceIDService

public class MyFirebaseInstanceIDService  extends FirebaseInstanceIdService {

@Override
public void onTokenRefresh() {
    // Get updated InstanceID token.
    String refreshedToken = FirebaseInstanceId.getInstance().getToken();
    Log.d(TAG, "Refreshed token: " + refreshedToken);

    sendRegistrationToServer(refreshedToken);
}
}

MyFirebaseMessagingService

public class MyFirebaseMessagingService  extends FirebaseMessagingService {

private static final String TAG = "MyFirebaseMsgService";


// [START receive_message]
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {

    Log.d(TAG, "From: " + remoteMessage.getFrom());
    Log.d(TAG, "Notification Message Body: " + remoteMessage.getNotification().getBody());
}
// [END receive_message]

似乎其他设备收到它但其他设备没有收到它。

1 个答案:

答案 0 :(得分:2)

由于AdamK的评论询问我是否在前台发送了第二个通知,我发现只有在我的应用处于后台时才会触发通知。

在文档中说,在onMessageReceived()如果应用程序在前台处理onMessageReceived()中的数据和通知消息。因此通知不会如果应用程序位于前台,则会自动触发,因此为了做到这一点,您需要在onMessageReceived()回调中自行触发通知。

我在sendNotification()

中调用了我自己的onMessageReceived()方法

sendNotification(remoteMessage.getNotification().getBody());

即使应用程序位于前台,也会显示通知。

相关问题