Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何向iOS推送通知添加标题?_C#_Xamarin.ios - Fatal编程技术网

C# 如何向iOS推送通知添加标题?

C# 如何向iOS推送通知添加标题?,c#,xamarin.ios,C#,Xamarin.ios,我使用云脚本向我的客户端应用程序发送推送通知,在Android上,该通知如下所示: 欢迎辞 你好 我想在iOS上以相同的方式显示通知,但在我的iOS设备上,它看起来是这样的: 你好 你好 我如何在iOS推送通知中显示正确的标题(“欢迎消息”) 更新:我发现我的邮件标题(“欢迎邮件”)不在userInfo中,而在邮件正文(“你好”)中。为什么userInfo中不包含消息标题(“欢迎消息”) 推送负载中的键“警报”被操作系统读取为通知的标题。 如果您想为通知显示任何自定义标题,有几种可能的方法 简

我使用云脚本向我的客户端应用程序发送推送通知,在Android上,该通知如下所示:

欢迎辞

你好

我想在iOS上以相同的方式显示通知,但在我的iOS设备上,它看起来是这样的:

你好

你好

我如何在iOS推送通知中显示正确的标题(“欢迎消息”)

更新:我发现我的邮件标题(“欢迎邮件”)不在
userInfo
中,而在邮件正文(“你好”)中。为什么
userInfo
中不包含消息标题(“欢迎消息”)

推送负载中的键“警报”被操作系统读取为通知的标题。 如果您想为通知显示任何自定义标题,有几种可能的方法

简易方法

将有效负载键“alert”的值更改为自定义消息

艰难的道路

创建通知服务扩展

这是在手机显示您发送的通知之前运行的一小段代码,它允许您在用户看到通知之前自定义通知的内容

- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request
           withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler;

- (void)serviceExtensionTimeWillExpire;


class NotificationService: UNNotificationServiceExtension {
var contentHandler: ((UNNotificationContent) -> Void)?
var bestAttemptContent: UNMutableNotificationContent?

override func didReceive(
    _ request: UNNotificationRequest,
    withContentHandler contentHandler:
        @escaping (UNNotificationContent) -> Void)
{

    print (request.content.userInfo)
    self.bestAttemptContent = request.content
    //We can now change title 
    self.bestAttemptContent.title = "Welcome message"
    contentHandler (self.bestAttemptContent)
    return
}}
注意: 您需要在有效负载中包含键“可变内容”和值1

"aps" : {
    "alert" : "Welcome Message"
    "badge" : 5
    "muatble_content" : 1
},

检查。你可以把它转换成c。我不知道如何把它转换成c。我知道这行是错误的:notification.AlertTitle=aps.ObjectForKey(alertKey)作为NSString;但我不知道如何更改代码,以便在通知中获得正确的标题(“欢迎消息”),我认为该标题不在我在应用程序中收到的有效负载中。在我问题的图片中,它只显示alert=Hello;徽章=0。为什么有效载荷中没有“标题”?我的云脚本总是发送带有正文和标题的推送通知,但在我的iOS应用程序中,有效负载中缺少标题。iOS有效负载中没有标题是正常的还是我的云脚本服务器代码可能有问题?在我的Android应用程序中,我总是在有效负载中收到标题。@Hobbit7 1。当有效负载中没有“标题”时,操作系统将显示键“警报”的值作为通知标题。2.是,有效负载中可能没有“标题”键。3.您可以要求后端团队更新iossanx的有效负载格式。我会问他们,因为iOS的有效负载格式。同时,我使用notification.AlertTitle=“新建通知!”;在我的应用程序代码中。
"aps" : {
    "alert" : "Welcome Message"
    "badge" : 5
    "muatble_content" : 1
},