📜  如何启用 firebaseinstanceidservice (1)

📅  最后修改于: 2023-12-03 14:52:11.680000             🧑  作者: Mango

如何启用 FirebaseInstanceIDService

FirebaseInstanceIDService 是 Firebase Cloud Messaging (FCM) 的一部分,用于在设备上生成和管理 FCM 实例 ID。使用 FCM 实例 ID,您可以发送推送通知和将数据消息发送到设备。

下面是启用 FirebaseInstanceIDService 的步骤:

1. 添加 Firebase 到您的应用程序

在开始之前,请确保您已在您的应用程序中添加 Firebase。要添加 Firebase,请按照以下步骤操作:

  1. Firebase 控制台 中创建一个项目。

  2. 将以下 Gradle 依赖项添加到您的应用程序模块级别的 build.gradle 文件中:

    implementation 'com.google.firebase:firebase-messaging:21.1.0'
    
  3. 在您的应用程序中添加 Firebase 配置文件。

    对于 Android 应用程序,请将以下内容添加到您的 AndroidManifest.xml 文件中:

    <application ...>
        <!-- Add your Firebase settings -->
        <meta-data
            android:name="com.google.firebase.messaging.default_notification_icon"
            android:resource="@drawable/ic_notification" />
        <meta-data
            android:name="com.google.firebase.messaging.default_notification_color"
            android:resource="@color/colorAccent" />
        <service
            android:name=".MyFirebaseMessagingService">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>
        <service
            android:name=".MyFirebaseInstanceIDService">
            <intent-filter>
                <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
            </intent-filter>
        </service>
    </application>
    
2. 创建 FirebaseInstanceIDService

创建一个 FirebaseInstanceIDService 类,继承 FirebaseInstanceIdService,将以下代码添加到该类中:

public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService {
 
   private static final String TAG = "MyFirebaseIIDService";
 
   @Override
   public void onTokenRefresh() {
       // Get updated InstanceID token.
       String refreshedToken = FirebaseInstanceId.getInstance().getToken();
 
       // TODO: Implement this method to send any registration to your app's servers.
       sendRegistrationToServer(refreshedToken);
 
   }
 
   private void sendRegistrationToServer(String token) {
       // Add custom implementation, as needed.
   }
}
3. 实现 onTokenRefresh 方法

onTokenRefresh 方法在设备上生成新的 FCM 实例 ID 或在 FCM 实例 ID 被刷新时调用。

在该方法中,您可以获取新的 FCM 实例 ID,然后将其发送到您的后端服务器。

4. 添加 FirebaseInstanceIDService 到 AndroidManifest.xml 文件中

将以下内容添加到您的 AndroidManifest.xml 文件中,以将 FirebaseInstanceIDService 添加到应用程序中:

<service
   android:name=".MyFirebaseInstanceIDService">
   <intent-filter>
       <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
   </intent-filter>
</service>
结论

现在您的应用程序已启用 FirebaseInstanceIDService,并可以在设备上生成和管理 FCM 实例 ID。

如果您需要发送推送通知或将数据消息发送到设备,请使用获取的 FCM 实例 ID。