Xamarin iOS Firebase云消息传递-推送通知-无法使用设备令牌发送测试消息

问题描述 投票:1回答:1

Xamarin iOS Firebase Cloud Messaging-推送通知。我正在从以下位置发送通知:我可以发送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

现在我转到https://console.firebase.google.com,尝试通过设备令牌发送测试消息,但在实际设备上什么也没有出现。当我通过Target-> bundleId发送通知时,它可以在iOS上完美运行。

我读过:https://medium.com/@kevinle/correctly-capture-ios-13-device-token-in-xamarin-3d0fa390b71b,但实际上我是根据iOS SDK 12.1编译的,而实际设备是iOS 13.3,因此新更改(奇怪的设备令牌)不会影响我的代码。

[问题是:当我尝试在iOS上使用格式化的(仅字母和数字)设备令牌(Android运行正常)或我的格式错误或无效?

xamarin xamarin.forms xamarin.ios firebase-cloud-messaging
1个回答
0
投票

我认为您应该使用此方法注册令牌

[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.
}
© www.soinside.com 2019 - 2024. All rights reserved.