我正在尝试通过firebase获得推动noptification。在试图从Firebase Am获得令牌的代币时,将令牌长度作为140(无效(,有时会获得长度150的有效令牌。
无效令牌
APA91bEQ14IejWxNnQ_pzY-GMs3Bx7Wi_0Iib7CKTNVlRGAFujP-VsWQwxBpMB4D1JUV91Ao_E6Ry8qEfJbjGLEEmyPX2oBI7KCmf4BIk5Jqyd456jxFvt2S-zIFyBFI2xwxOf5FwOEN
有效令牌
fzdOrLvN02w:APA91bETJie1o1v8LPWdJKvdI_XzqDdZ7z5FggXZASbD4pp9JLXMGeRudnyLEcY75u0ZVd494znghVJD7ZhZymN7g1bdE07qLocsoOOjlk9TwBa6kgGqHSSsKfENTM62UM_M_azwsvlU
衍生品注意,有一个有效令牌的结肠,有12个字符。但是我不知道原因
是什么build.gradle
dependencies {
compile 'com.google.firebase:firebase-messaging:9.0.0'
compile 'com.google.firebase:firebase-core:9.0.0'
compile 'com.google.android.gms:play-services:9.0.0'
}
apply plugin: 'com.google.gms.google-services'
清单
<service android:name=".firebase.MyFirebaseRegistrationIntentService" android:exported="false"/>
<service android:name=".firebase.MyFirebaseMessagingService"
android:exported="false" >
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service android:name=".firebase.MyFirebaseInstanceIDService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
和正在使用 onhandletoken((覆盖功能以获取FCM令牌,该函数在 myfirebaseregistrationInterservice
中任何人都可以告诉我为什么有时会得到无效的令牌。
您可以使用以下代码在Firebase中获得令牌:
String fcm_idtoken = FirebaseInstanceId.getInstance().getToken();
使用此代码获取有效令牌ID
FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener(new OnSuccessListener<InstanceIdResult>() {
@Override
public void onSuccess(InstanceIdResult instanceIdResult) {
String deviceToken = instanceIdResult.getToken();
Log.d(TAG,deviceToken);
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.d(TAG,e.toString());
}
});