Xamarin iOS APNs 不同的负载

Posted

技术标签:

【中文标题】Xamarin iOS APNs 不同的负载【英文标题】:Xamarin iOS APNs Different Payload 【发布时间】:2021-01-13 23:01:36 【问题描述】:

我正在开发 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 字符显示...)

【问题讨论】:

您可以在 github 项目站点 github.com/CrossGeeks/FirebasePushNotificationPlugin/issues 上发布问题。 【参考方案1】:

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

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

标题(2):

ContentType - 应用程序/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”语法后,通知就会到达。

【讨论】:

以上是关于Xamarin iOS APNs 不同的负载的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin iOS部署无声无息

如何在 Push Sharp 库中的 APNS 有效负载中添加类别以进行交互式通知 ios

Xamarin iOS构建错误-本地链接失败(仅链接框架SDK)

APNS 是不是理解 UTF-8 编码的有效负载

用Xamarin和Visual Studio编写iOS App

在 iOS 上显示背景,但在 Android Xamarin 上不显示