Firebase Cloud Messaging 使用 Web API C#

5 浏览
0 Comments

Firebase Cloud Messaging 使用 Web API C#

我正在参考以下链接来实现推送通知,但是我如何获取设备ID?我将我的移动MMID作为设备ID,但它不起作用。我需要在Firebase上注册我的Android手机或安装Firebase包以获得注册ID吗?

使用C#通过FCM(Firebase Cloud Messaging)向Android发送推送

任何建议将不胜感激。

0
0 Comments

问题的原因是需要使用 Firebase Cloud Messaging (FCM) 的 Web API 来发送消息,但是没有提供生成 Registration Token 的方法。Registration Token 是由 FCM SDK 为每个客户端应用实例生成的 ID。解决方法是在 Android 上设置应用程序以生成 Token 并接收消息。

以下是解决方法的具体步骤:

1. 在 Android 应用程序中设置 Firebase Cloud Messaging。参考链接:https://firebase.google.com/docs/cloud-messaging/android/client

2. 使用 Firebase SDK 在 Android 应用程序中生成 Registration Token。具体代码如下:

FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener(new OnSuccessListener() {
    @Override
    public void onSuccess(InstanceIdResult instanceIdResult) {
        String token = instanceIdResult.getToken();
        Log.d(TAG, "Registration Token: " + token);
    }
});

3. 将生成的 Registration Token 发送到服务器端,以便后续使用。服务器端可以使用 Firebase Admin SDK 来发送消息。具体代码如下:

FirebaseApp app = FirebaseApp.Create(new AppOptions()
{
    Credential = GoogleCredential.FromFile("path/to/serviceAccountKey.json")
});
            
FirebaseMessaging messaging = FirebaseMessaging.GetMessaging(app);
            
var message = new Message()
{
    Token = "your_registration_token",
    Notification = new Notification()
    {
        Title = "Title",
        Body = "Body"
    }
};
            
messaging.SendAsync(message);

通过上述步骤,我们可以使用 Firebase Cloud Messaging 的 Web API 来发送消息,并确保每个客户端应用实例都有一个唯一的 Registration Token。

0