dea*_*lls 4 c# firebase firebase-cloud-messaging
我想向移动应用发送推送通知,因此我将 Firebase Admin SDK 安装到我的 .Net 项目中。我按照 Firebase 文档上的说明进行操作,但是当我SendAsync从 SDK 调用 时,它只是挂起。知道为什么它会挂起吗?我是否缺少步骤?
这是我的 API 代码(请注意,这只是让它工作的演示代码):
public async void SendPushNotification()
{
FirebaseApp.Create(new AppOptions()
{
Credential = GoogleCredential.FromFile("path to json file"),
});
var registrationToken = "fqCo_-tXKvY:APA91bGQ47Q2egnqn4Ml...";
var message = new FirebaseAdmin.Messaging.Message()
{
Token = registrationToken,
};
string response = await FirebaseMessaging.DefaultInstance.SendAsync(message);
Console.WriteLine("Successfully sent message: " + response);
}
Run Code Online (Sandbox Code Playgroud)
小智 5
你遇到了死锁,因为 SendAsync 永远不会完成。如果您从 ui 线程调用,您需要考虑使用,ConfigureAwait(false)
因此您的代码片段将如下所示:
public async void SendPushNotification()
{
FirebaseApp.Create(new AppOptions()
{
Credential = GoogleCredential.FromFile("path to json file"),
});
var registrationToken = "fqCo_-tXKvY:APA91bGQ47Q2egnqn4Ml...";
var message = new FirebaseAdmin.Messaging.Message()
{
Token = registrationToken,
};
string response = await FirebaseMessaging.DefaultInstance.SendAsync(message).ConfigureAwait(false);
Console.WriteLine("Successfully sent message: " + response);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6765 次 |
| 最近记录: |