12

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

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

4

1 回答 1

29

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

您可以获取注册 ID 调用:

FirebaseInstanceId.getInstance().getToken();

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

上述方法将返回令牌,如果可用,或者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

于 2016-05-20T00:03:58.437 回答