Xamarin iOS Firebase Cloud Messaging - Pu sh Уведомления - не удается отправить тестовое сообщение с токеном устройства - PullRequest
1 голос
/ 17 февраля 2020

Xamarin iOS Firebase Cloud Messaging - Pu sh Уведомления. Я отправляю уведомление от: Я могу отправить уведомление для устройства android («отправить тестовое сообщение» от https://console.firebase.google.com), и оно работает. Android токен устройства выглядит следующим образом:

dffplp_ekKY:APA91bEVk83i3ZAA-ZB7FQZ4nlwCCxhkMdEQIH4nOiuHI7nI50VZs4Ti4Gsm-gHxtwfb6OvkQSXNI0kls71Fch2bGT6nN3lIzmZ1x1uzizlTKO9PaEibUG02CR-dGVdu6vclid4l3aDY

на iOS в AppDelegate.cs:

  public override void RegisteredForRemoteNotifications(UIApplication application, NSData deviceToken)
   {
        var thisToken = deviceToken.Description;
        var DeviceToken = Regex.Replace(deviceToken.ToString(), "[^0-9a-zA-Z]+", "");
   }

thisToken:

<e24cad44 37d26c68 6c3defad f3685749 70c0180e 56526ae4 8ceb9253 e280d7a9>

DeviceToken:

e24cad4437d26c686c3defadf368574970c0180e56526ae48ceb9253e280d7a9

Теперь я go на https://console.firebase.google.com и пытаюсь отправить тестовое сообщение через токен устройства, но на реальном устройстве ничего не появляется. Когда я отправляю уведомление через Target -> bundleId, он отлично работает на iOS.

Я читаю это: https://medium.com/@kevinle / правильно-перехвата- ios -13-устройство-токен-в -xamarin-3d0fa390b71b но на самом деле я компилирую против iOS SDK 12.1, а реальное устройство - iOS 13.3, поэтому новые изменения (маркер странного устройства) не влияют на мой код.

Вопрос : не работает ли функция console.firebase.google.com «отправить тестовое сообщение», когда я пытаюсь отправить уведомление, используя отформатированный (только буквы и цифры) токен устройства на iOS (android работает нормально) или токен, который я неправильно отформатирован или недействителен?

1 Ответ

1 голос
/ 17 февраля 2020

Я думаю, что вы должны зарегистрировать токен этим методом

[Export("messaging:didReceiveRegistrationToken:")]
public void DidReceiveRegistrationToken(Messaging messaging, string fcmToken)
{
    // Monitor token generation: To be notified whenever the token is updated.
    Console.WriteLine("Received token: " + fcmToken);
    // Handle here how your app is storing token locally or send it to server
    // Note: This callback is fired at each app startup and whenever a new token is generated.
}
...