C# FirebaseMessaging.DefaultInstance.SendAsync никогда не завершаетсяC#

Место общения программистов C#
Ответить
Anonymous
 C# FirebaseMessaging.DefaultInstance.SendAsync никогда не завершается

Сообщение Anonymous »

У меня есть EXE-файл, созданный на C# в .NET 4.8, и мне нужно
"Перейти с устаревших API FCM на HTTP v1"
, чтобы продолжать отправлять push-уведомления на устройства Android.
В старой настройке не использовался SDK, а просто отправлялись сообщения в API FCM с ключом в заголовке.
Для новой настройки я добавил FirebaseAdmin SDK и импортировали Google.Apis.Auth.OAuth2
Проблема в том, что при вызове SendAsync (см. ниже) он никогда не завершается. Сообщение не отправляется.
Есть предложения?
Ниже приведен код.

Код: Выделить всё

    public async Task SendMessage()
{
string bericht = "test HTTP v1 GJS";
string firebaseToken = "a-valid-token";  // real code has a real value

var scopes = new string[] { "https://www.googleapis.com/auth/firebase.messaging" };
var path = Path.Combine(Directory.GetCurrentDirectory(), "my-service-account-json-download.json");
FirebaseApp.Create(new AppOptions()
{
Credential = GoogleCredential.FromFile(path).CreateScoped(scopes),
});

var message = new Message
{
Token = firebaseToken,
Notification = new Notification
{
Title = bericht,
}
};

// the following line never finishes!
string response = await FirebaseMessaging.DefaultInstance.SendAsync(message);

Console.WriteLine("Successfully sent message: " + response);
return response;
}
Обновление: код работал. Проблема заключалась в обработке Task. В SendMessage я сейчас просто использую

Код: Выделить всё

return FirebaseMessaging.DefaultInstance.SendAsync(message);
И я вызываю SendMessage с помощью

Код: Выделить всё

string line = await mfb.SendMessage();
Спасибо за ваш интерес и поддержку.

Подробнее здесь: https://stackoverflow.com/questions/786 ... r-finishes
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»