使用 Firebase 获取 GCM 注册 ID

Getting GCM Registration ID using Firebase

我有一个 ASP.net MVC 服务器,我想从那里向我的 Android 应用程序发送推送通知。我已经在应用程序中实施了 Firebase Messaging,并且从 Firebase 仪表板发送的通知工作正常。

我已尝试通过发送 post 请求使用服务器发送推送通知,但该请求需要一个 to 字段。早些时候我们曾经在那里发送 GCM 提供的 registration id。现在,由于 Firebase 正在处理它,我如何在 Android 中使用 Firebase SDK 获取要放入 to 字段的注册 ID?

您好,感谢您使用 Firebase 云消息传递!

您可以获取注册 ID 调用:

FirebaseInstanceId.getInstance().getToken();

与 GCM sdk 不同,新库会自动尽快获取令牌,然后将其缓存在本地。

上述方法将 return 令牌(如果可用)或 null 如果获取阶段仍在进行中。

您可以使用回调 onTokenRefresh() 在令牌可用或已轮换时收到通知。

public class InstanceIDService extends FirebaseInstanceIdService {
    @Override
    public void onTokenRefresh() {
        String refreshedToken = FirebaseInstanceId.getInstance().getToken();
        Log.d(TAG, "Refreshed token: " + refreshedToken);
        sendRegistrationToMyServer(refreshedToken);
    }
}

更多信息在这里:https://firebase.google.com/docs/cloud-messaging/android/client#sample-register