如何在 ios Objective c 中检查推送通知是不是在后台模式下接收?
Posted
技术标签:
【中文标题】如何在 ios Objective c 中检查推送通知是不是在后台模式下接收?【英文标题】:How to check Push Notification is Receive in background mode in ios objective c?如何在 ios Objective c 中检查推送通知是否在后台模式下接收? 【发布时间】:2017-07-15 08:43:46 【问题描述】:如何在不点击目标 c 通知栏中的推送通知警报的情况下获取推送通知按摩数据
【问题讨论】:
不点击是什么意思?您是在谈论静默通知吗?如果是这样,我建议您查看here 【参考方案1】:检查此代码,希望对您有所帮助
-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
NSLog(@"%@", [userInfo description]);
if (application.applicationState == UIApplicationStateBackground)
// Write your code for Background State
else if (application.applicationState == UIApplicationStateActive)
// Write your code here for Active state
else if (application.applicationState == UIApplicationStateInactive)
// Write your code for Inactive State
【讨论】:
【参考方案2】:仅当您实施 VoIP 推送通知服务时,您才可以在不点击通知警报的情况下收到推送通知消息。 [VoIP 推送服务]
https://developer.apple.com/library/content/documentation/Performance/Conceptual/EnergyGuide-ios/OptimizeVoIP.html
如果您使用 Apple PushKit 框架,您将在以下委托中获取消息数据:
- (void)pushRegistry:(PKPushRegistry *)registry didReceiveIncomingPushWithPayload:(PKPushPayload *)payload forType:(NSString *)type NSDictionary *userInfo = payload.dictionaryPayload;NSLog("Your JSON here: %@",userInfo);
【讨论】:
以上是关于如何在 ios Objective c 中检查推送通知是不是在后台模式下接收?的主要内容,如果未能解决你的问题,请参考以下文章
Objective C: iOS 14 如何做网络隐私权限检查
Objective-C 中的 iOS 10 富媒体推送通知(媒体附件)