首页 > 解决方案 > Xamarin iOS APNs 不同的负载

问题描述

我正在开发 iOS 版本的 Xamarin 应用程序(android 是由另一个人构建的)。我使用了 Plugin.FirebasePushNotifications插件,并成功地从 Firebase 控制台设置了 apns。响应看起来像这样:

2020-09-28 12:50:57.566 Project.iOS[16900:2364597] {
    aps =     {
        alert =         {
            body = "This is the body of the notitification";
            title = "Testing Notification";
        };
        "mutable-content" = 1;
        sound = default;
    };
    "gcm.message_id" = 1601286657133844;
    "gcm.notification.sound2" = default;
    "google.c.sender.id" = 633381035766;
}

通知成功到达设备,它在前台/后台/应用程序终止时完美运行。

但是,当我使用具有不同协议的不同服务器时(?)我收到这种类型的消息:

2020-09-28 12:51:30.944 SycretBeauty.iOS[16900:2364597] {
    Body = "\U0422\U0415\U0421\U0422 8";
    Title = "Title";
    aps =     {
        "content-available" = 1;
    };
    "gcm.message_id" = 1601286690545984;
}

id 是相同的,我在 VS 控制台中可以正常接收。但是,通知不会在屏幕上弹出。我应该怎么做才能看到屏幕上弹出通知?我无法更改 API,Android 已经全部设置为使用这种类型的响应结构......

(我什至不知道为什么“TEST 8”以 UNICODE 字符显示......)

标签: androidiosxamarinpush-notification

解决方案


我已经通过 Postman 下游解决了这个问题。

网址:https ://fcm.googleapis.com/fcm/send

标题(2):

内容类型 - 应用程序/json

授权 -<your server key from firebase>

身体:

{     "to":"d8bEmMpQJE6EuEYCG4COKq:APA91bG7YCDT7AyyJGS3j5bnpwVrbvSgdrjuUcatjOBLSkKaGpa2xZP7YDhzMAEMYfLDDp7gTgzUzhx-vs4nvr_n3yJQ6FdU9m0sxxw-stzHIxtuvXEPSXNHGy_2yxWBxGLn0IVktsil",
        "notification" : {
        "Body" : "Notification Body",
        "Title" : "Notification Title",
        "content_available" : true,
        "priority" : "high"
        }
    }

在我一直对“body”和“title”使用正确的语法后,通知就会到达。


推荐阅读