存储FCM令牌

时间:2016-06-29 22:30:17

标签: android firebase firebase-cloud-messaging

我有一个接收推送通知的Android应用。我想知道是否有一种更简单的方法来存储外部数据库上的FCM令牌和用户ID,因为我现在正在编写自己的FirebaseInstanceIdService. sendRegistrationToServer方法。喜欢这个

public class TokenRegistrationService extends FirebaseInstanceIdService {

    @Override
    public void onTokenRefresh() {
        // My custom manager
    }

    private void sendRegistrationToServer(final String FCMToken) {
        // Here I can send FCMToken to my db
    }
}

有没有其他方法可以让我获得令牌并发送它?

2 个答案:

答案 0 :(得分:0)

  

我有没有其他办法获取令牌并发送它?

为了生成注册令牌,我确信除了使用FirebaseInstanceID服务之外别无他法。

用于将令牌发送到您的服务器时..我不确定这里的问题是什么。在生成直接足够的代码后,是否不会将令牌直接发送到您的应用服务器?或者我错过了什么?做解释。

答案 1 :(得分:0)

我假设你的意思比延伸FirebaseInstanceIdService更直接。如果是这样,那么您应该注意,无论您是否扩展此类,都会生成令牌。

要检索令牌,您只需获取InstanceID的实例并调用getToken

String token = InstanceID.getInstance().getToken();

另请注意,如果您未在FirebaseInstanceIdService onTokenRefresh回调中请求令牌,getToken将返回null 如果令牌检索过程尚未已完成并将在检索到令牌后返回。

只要您的应用程序启动就会发生令牌检索,因此如果您在首次运行时很早就不需要令牌,则调用getToken可能就足够了。如果您需要令牌或刷新版本,则需要延长FirebaseInstanceIdService并覆盖onTokenRefresh