我有一个接收推送通知的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
}
}
有没有其他方法可以让我获得令牌并发送它?
答案 0 :(得分:0)
我有没有其他办法获取令牌并发送它?
为了生成注册令牌,我确信除了使用FirebaseInstanceID
服务之外别无他法。
用于将令牌发送到您的服务器时..我不确定这里的问题是什么。在生成直接足够的代码后,是否不会将令牌直接发送到您的应用服务器?或者我错过了什么?做解释。
答案 1 :(得分:0)
我假设你的意思比延伸FirebaseInstanceIdService
更直接。如果是这样,那么您应该注意,无论您是否扩展此类,都会生成令牌。
要检索令牌,您只需获取InstanceID的实例并调用getToken
。
String token = InstanceID.getInstance().getToken();
另请注意,如果您未在FirebaseInstanceIdService
onTokenRefresh
回调中请求令牌,getToken
将返回null 如果令牌检索过程尚未已完成并将在检索到令牌后返回。
只要您的应用程序启动就会发生令牌检索,因此如果您在首次运行时很早就不需要令牌,则调用getToken
可能就足够了。如果您需要令牌或刷新版本,则需要延长FirebaseInstanceIdService
并覆盖onTokenRefresh
。