【问题标题】:How can I get device id for push notifications using firebase in android如何在android中使用firebase获取推送通知的设备ID
【发布时间】:2017-06-19 06:45:14
【问题描述】:
我找到了这个解决方案,我认为它不是通知所需的 ID,请通过一些示例告诉我:
import android.provider.Settings.Secure;
private String androidIdd = Secure.getString(getContext().getContentResolver(), Secure.ANDROID_ID);
我想我不需要 android id。我只想获取 Firebase 通知或 GCM 的设备唯一 ID。
【问题讨论】:
-
欢迎使用 StackOverflow,请阅读 How to ask 上的指南,以便更好地理解您的问题并为您提供更好的答案。
-
-
标签:
android
firebase
firebase-cloud-messaging
firebase-notifications
【解决方案1】:
与其使用一些第三方教程,我更愿意看一下官方Firebase Cloud Messaging documentation。
如果您已正确设置所有内容,则可以滚动到主题
获取当前注册令牌
当您需要检索当前令牌时,请致电FirebaseInstanceId.getInstance().getToken()。如果令牌尚未生成,则此方法返回 null。
简而言之:调用FirebaseInstanceId.getInstance().getToken() 以获取当前设备令牌。
编辑:
命令FirebaseInstanceId.getInstance().getToken() 已弃用。相同的文档提到了一种新方法,如下所示:
FirebaseInstanceId.getInstance().getInstanceId()
.addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
@Override
public void onComplete(@NonNull Task<InstanceIdResult> task) {
if (!task.isSuccessful()) {
Log.w(TAG, "getInstanceId failed", task.getException());
return;
}
// Get new Instance ID token
String token = task.getResult().getToken();
}
});