我在Android中使用FCM,但我无法生成令牌

时间:2017-03-06 16:31:54

标签: android firebase push-notification firebase-cloud-messaging

我在Android应用程序中使用FCM,但无法从FirebaseMessagingService获取令牌。

我有这段代码:

public class MyFirebaseMessagingService extends FirebaseMessagingService {
private static final String TAG = "MyFirebaseMsgService";

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    super.onMessageReceived(remoteMessage);
    Log.e(TAG, "From: " + remoteMessage.getFrom());
    Log.e(TAG, "Notification Message Body: " + remoteMessage.getNotification().getBody());

    //Calling method to generate notification
    sendNotification(remoteMessage.getNotification().getBody());
}

但是没有调用此类。我该怎么办?

2 个答案:

答案 0 :(得分:0)

FirebaseMessageService是负责与FCM通信的类。通常接收消息有效负载并且负责生成注册令牌。

要获得相应的注册令牌,只需在您的MainActivity onCreate()中拨打FirebaseInstanceId.getInstance().getToken()即可。您还应该监控onTokenRefresh()中令牌发生变化的事件。

有关详情,请仔细阅读Access the device registration token文档。

答案 1 :(得分:0)

您可以在String token = FirebaseInstanceId.getInstance().getToken();

的任何位置使用此方法