FirebaseInstanceId在2020年底被宣布将被废弃,因此建议使用FirebaseInstallations和FirebaseMessaging代替。FirebaseInstallations提供了生成和管理FIS IDs的能力,而FirebaseMessaging可用于发送消息到指定的应用程序实例。
以下是一个示例代码:
// Initialize FirebaseInstallations
FirebaseInstallations.getInstance().getId()
.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
String fisId = task.getResult();
Log.d(TAG, "Firebase Installations ID: " + fisId);
// Use the FIS ID to send messages to the app instance
} else {
Log.e(TAG, "Failed to get Firebase Installations ID", task.getException());
}
}
});
// Initialize FirebaseMessaging
FirebaseMessaging.getInstance().getToken()
.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
String token = task.getResult();
Log.d(TAG, "Firebase Messaging Token: " + token);
} else {
Log.e(TAG, "Failed to get Firebase Messaging Token", task.getException());
}
}
});
可以在应用程序的build.gradle文件中添加以下依赖项:
implementation 'com.google.firebase:firebase-installations:17.0.0'
implementation 'com.google.firebase:firebase-messaging:22.0.0'