FirebaseInstanceIdService已弃用,我在重写代码时迷失了方向



我在 Android Studio 中重写我的代码是 Android 开发的新手 我的初始 MyFirebaseInstanceID 服务代码

@Override
public void onCreate() {
super.onCreate();
mAuth= FirebaseAuth.getInstance();
mDatabase= FirebaseDatabase.getInstance().getReference().child("userprofiles");
}
@Override
public void onTokenRefresh() {
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
if(mAuth.getCurrentUser()!=null) {
String uiid= Settings.Secure.getString(this.getContentResolver(), Settings.Secure.ANDROID_ID);
mDatabase.child(mAuth.getCurrentUser().getUid()).child(uiid).child("utok").setValue(refreshedToken);
}
}
}

**我可以使用新格式重写我的代码吗 此示例代码将非常感谢两周来没有解决方案**

public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onNewToken(String s) {
super.onNewToken(s);
Log.e("NEW_TOKEN",s);
}
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
}
} 

这也

FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener( MyActivity.this,  new OnSuccessListener<InstanceIdResult>() {
@Override
public void onSuccess(InstanceIdResult instanceIdResult) {
String newToken = instanceIdResult.getToken();
Log.e("newToken",newToken);
}
});
No need to use FirebaseInstanceIdService service to get FCM token. You can safely remove FirebaseInstanceIdService.
Now we need to **@Override onNewToken()** to get Token in "**FirebaseMessagingService**".
**For Example:**
public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onNewToken(String s) {
super.onNewToken(s);
Log.e("NEW_TOKEN",s);
}
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
}
} 
**Add below lines in your manifest file:**
<service
android:name=".MyFirebaseMessagingService"
android:stopWithTask="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
**Get Token in your Activity :** .getToken(); is also deprecated if you need to get token in your activity then use as following:
FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener( MyActivity.this,  new OnSuccessListener<InstanceIdResult>() {
@Override
public void onSuccess(InstanceIdResult instanceIdResult) {
String newToken = instanceIdResult.getToken();
Log.e("newToken",newToken);
}
});
Hope it will help you...
Happy Coding :)

最新更新