【问题标题】:Push notification while in App在应用程序中推送通知
【发布时间】:2012-09-21 19:43:58
【问题描述】:

我已经成功设置了一个 MySQL+PHP 推送通知服务器,并且一切正常,除了一件事。如果用户碰巧在应用程序中,他们不会收到推送通知,这有点烦人。有没有办法可以修改它,以便在通知中心或其他地方显示推送通知?

提前感谢您的帮助!

【问题讨论】:

    标签: php iphone ios push-notification apple-push-notifications


    【解决方案1】:

    当应用程序在下面运行时调用方法

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

    您无法使用 SDK 向通知中心添加任何内容。如果在应用程序未运行 iOS 时收到通知,请将其添加到通知中心。您可以像这样在上述方法中显示警报

    if ([[UIApplication sharedApplication] applicationState] == UIApplicationStateActive)
    {
       //show alert
    }
    

    【讨论】:

      【解决方案2】:

      如果您的用户在应用程序中,您的应用程序将收到一条消息给应用程序委托。见

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

      Apple Documentation

      当应用程序打开时,您不能在通知中心放置通知。通知中心旨在捕获应用程序未激活时发生的通知。但是,调用应用程序委托很有用,因为您可以以任何您想要的方式向用户显示通知,包括构建您自己的通知中心样式动画(如果您想要的话)。

      【讨论】:

      • 非常感谢,我想我可以用它来显示 UIAlertView 或类似的东西,它们基本上会做同样的事情。
      • 手机收到推送通知时似乎没有调用该函数。关闭应用程序后,推送通知就会发出。
      • 没关系,它突然起作用了。不知道为什么。我没有改变任何东西。哦,好吧,我没有抱怨:)
      • 如果应用 ID 正确且与配置文件应用 ID 匹配,并且 APNS 的证书都是最新的且与应用 ID 匹配,则该应用正在真实设备上运行并已调用 @987654323 @ 并成功注册并且 iPhone 在应用程序运行时收到通知,然后该方法将始终在应用程序 delagate 上调用。很多东西都会出错;)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 2014-03-04
      • 2014-05-19
      • 1970-01-01
      • 2018-01-20
      • 1970-01-01
      相关资源
      最近更新 更多