iOS推送通知不会添加到通知中心

iOS推送通知不会添加到通知中心

问题描述:

我在Xamarin.iOS平台上实现了iOS应用程序的推送通知处理,但是我的问题实际上也适用于iOS本机。
我需要处理推送通知,当我的应用程序处于后台模式出于某种原因,所以我打开背景模式推送通知在我的项目中使用。此外,我还将内容可用密钥的值为纳入有效负载的aps字典中。我还包括提醒,徽章声音键,因为我想显示此用户的推送通知并将其添加到通知中心。iOS推送通知不会添加到通知中心

如在背景模式推送通知接收(当应用程序不活动的)后的结果:
1)I处理使用DidReceiveRemoteNotification()方法推送通知接收。
2)用户看到通知从屏幕顶部向下滚动为横幅。
3)我更改应用程序图标徽章计数器。
我的问题是推送通知在所有这些操作后都不会添加到通知中心
正如我在DidReceiveRemoteNotification处理推送通知后才明白()方法标记的iOS类似该通知处理,不将它们添加到通知中心。作为可能的解决方案,我可以创建本地通知,安排它们,并将其添加到通知中心,但用户将再次从屏幕顶部看到通知滚动为横幅,并且不好(它看起来像用户获得2个通知,但通知中心只显示1个)。
这种行为的实际原因是什么?我该如何解决这个问题?

您可以尝试VoIP推送通知服务。

- (void)pushRegistry:(PKPushRegistry *)registry didReceiveIncomingPushWithPayload:(PKPushPayload *)payload forType:(NSString *)type 
    NSDictionary *payloadInfo = payload.dictionaryPayload; 
    [self showLocalNotificationWithInfo: payloadInfo]; 
} 

- (void) showLocalNotificationWithInfo:(NSDictionary *)infoDict{ 
    UILocalNotification* localNotification = [[UILocalNotification alloc] init]; 
    localNotification.fireDate = [NSDate date]; 
    localNotification.alertBody = @"Your title message"; 

    localNotification.soundName = @"YourSoundFileName.mp3"; 
    localNotification.userInfo = userInfo; 
    localNotification.fireDate = [NSDate date]; 
    localNotification.timeZone = [NSTimeZone systemTimeZone]; 
    localNotification.applicationIconBadgeNumber = [[UIApplication sharedApplication] applicationIconBadgeNumber] + 1; 
    [[UIApplication sharedApplication] scheduleLocalNotification:localNotification]; 
} 

Apple VoIP Push Service

谢谢你们对你的答案。我发现这种行为的原因 - 问题是徽章键在推送通知正文。此关键字的值为值,这就是为什么iOS标记新通知的原因,他们没有添加到通知中心。