推送通知如何根据iOS应用程序状态运行

时间:2019-03-07 06:28:55

标签: ios apple-push-notifications

我想了解如果推送通知到达设备会发生什么情况。

  1. 应用程序未运行-如果通知到达,状态会发生变化?
  2. 应用程序处于前台-?
  3. 应用程序是后台-?
  4. 应用程序处于非活动状态?

我假设如果App没有运行,我们可以在某些情况下通过发送静默推送通知来调用。

有人可以根据我的应用状态来说明推送通知的工作原理。

1 个答案:

答案 0 :(得分:0)

如果应用未运行或处于后台状态,则如果用户接受接收推送通知,则推送通知将发送到将其显示在屏幕上的设备。

从显示的通知中,您可以启动或唤醒目标应用程序。

传统的启动回调:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

将被触发,您可以使用launchOptions键从其UIApplicationLaunchOptionsRemoteNotificationKey字典中访问收到的通知及其有效载荷。

如果应用程序正在运行,并且在前台运行,则AppDelegate方法

- (void)application:(UIApplication*)application didReceiveRemoteNotification:(NSDictionary *)userInfo

将被触发,userInfo包含推送通知有效负载。