远程推送通知
Posted
技术标签:
【中文标题】远程推送通知【英文标题】:Remote push notifications 【发布时间】:2012-04-24 12:49:00 【问题描述】:当应用程序不在前台或后台运行时,我们能否接收?基本上应用程序被杀死了?
【问题讨论】:
how can I handle push notification when my app is not running 的可能重复项 【参考方案1】:是的,即使应用程序未运行,您仍会收到推送通知。
【讨论】:
只有在任何其他情况下在前台运行时,您的应用才会直接收到通知 ios 会向用户显示收到通知的消息。只有在用户为您的应用选择通知后,您的应用才会启动。 @rckoenes 你是对的。但我的也是对的。当您的应用未运行时,当您的应用有推送通知时,您的手机仍会收到推送通知。【参考方案2】:如果在应用程序未运行时收到应用程序通知,则设备会提醒用户该应用程序有数据等待它。
【讨论】:
【参考方案3】:不,如果收到消息,它不会启动你的应用程序,它由 iOS 处理。
如果用户选择查看通知,您的应用就会启动。因此,如果用户没有对通知做出反应,您的应用程序将不会启动。 如果 iOS 在用户为您的应用选择推送通知时启动您的应用,您将必须检查 lauchOptions 字典以查看是否有任何推送通知:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
_rootViewController = [[RootViewController alloc] init];
self.window.rootViewController = self.rootViewController;
NSDictionary *remoteNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
if (remoteNotif)
//Handle notification
如果您的应用已经在运行并且在前台,那么应用委托将直接收到通知。在您的应用委托上调用方法 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
。
【讨论】:
以上是关于远程推送通知的主要内容,如果未能解决你的问题,请参考以下文章