android - 如何生成 Firebase 注册令牌
问题描述
我正在尝试使用新方法生成 Firebase 注册令牌,但无法生成这是我的以下代码:
MyFirebaseInstanceIdService.java
public class MyFirebaseInstanceIdService extends FirebaseMessagingService {
@Override
public void onNewToken(String s) {
super.onNewToken(s);
FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener(new OnSuccessListener<InstanceIdResult>() {
@Override
public void onSuccess(InstanceIdResult instanceIdResult) {
String token = instanceIdResult.getToken();
Log.d("Token",token);
}
});
}
}
清单.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:dist="http://schemas.android.com/apk/distribution"
package="com.app.retrofitapp">
<dist:module dist:instant="true" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".Users"></activity>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name=".MyFirebaseInstanceIdService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"></action>
</intent-filter>
</service>
</application>
使用上述方法在 log cat 中没有显示任何令牌。有人请让我知道我做错了什么。任何帮助将不胜感激。
谢谢
解决方案
如果您只需要 fcm 令牌(不关心通知),您只需要清单中的以下服务并带有操作 INSTANCE_ID_EVENT...
<service android:name=".fcm.FireBaseInstanceIdService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
然后在您的活动中添加以下代码(onCreate 会很好)
FirebaseInstanceId.getInstance().getInstanceId()
.addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
@Override
public void onComplete(@NonNull Task<InstanceIdResult> task) {
if (!task.isSuccessful()) {
Log.w(TAG, "Failed", task.getException());
return;
}
String token = task.getResult().getToken();
Log.i("FCM", "Current token=" + token);
}
});
您将在那里获得当前的令牌。希望它会有所帮助。
推荐阅读
- python-3.x - 从网页下载所有 PDF 文件的程序
- python - 时间序列数据:填补时间序列数据和汇总值的空白
- ios - 编辑时检查文本字段文本
- javascript - 如何使用 JavaScript 将伪造的图像保存到本地文件夹?
- python - Python 等效于 R 中的“library(help = PackageName)”和“?FunctionName”(即 help() 函数)
- angular - HttpClient 不返回数据
- python - 如何从存储在 gitlab repos 中的文件中提取内容
- javascript - 将图像动态添加到这个漂亮的框架中
- javascript - Email expiration tokens without usage of database and crontab deletion
- python - Kivy 相机免费资源问题