Firebase Cloud Messaging 使用 Web API C#
Firebase Cloud Messaging 使用 Web API C#
我正在参考以下链接来实现推送通知,但是我如何获取设备ID?我将我的移动MMID作为设备ID,但它不起作用。我需要在Firebase上注册我的Android手机或安装Firebase包以获得注册ID吗?
使用C#通过FCM(Firebase Cloud Messaging)向Android发送推送
任何建议将不胜感激。
问题的原因是需要使用 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。