【问题标题】:Push Notifications not working when app is killed应用程序被杀死时推送通知不起作用
【发布时间】:2017-08-25 20:16:22
【问题描述】:

我在 react native 中制作了一个应用程序,并将这个库用于推送通知: https://github.com/zo0r/react-native-push-notification

当我使用命令“react-native run-ios”运行我的 iphone 应用程序时,会弹出一个 iphone 6 模拟器,我的应用程序正在运行,当我终止应用程序时,我仍然会收到通知。但是,当我从 xcode 运行我的程序时,它会打开一个类似的 iphone 6 模拟器,但是现在当应用程序被杀死时,通知不起作用。然而,奇怪的是,当我关闭应用程序(也就是进入主屏幕)然后在运行 w/xcode 时终止应用程序时,通知确实有效。当我准备在应用商店上发布我的应用并需要获得推送通知证书时,我开始在 xcode 上遇到这个问题。我还在我的 xcode 项目的“功能”中启用了推送通知,并且我还在我的开发人员配置文件中启用了推送通知。开发和生产都启用了推送通知,当用户使用主页按钮退出应用程序然后终止应用程序时,我会收到推送通知,但如果用户在没有先按下主页按钮的情况下终止应用程序,我不会接收通知。我不知道该怎么办。

【问题讨论】:

  • 你是否在两种情况下都以完全相同的方式杀死应用程序(双击主页按钮技术)?
  • 是的,我通过双击主屏幕并向上滑动来杀死应用程序

标签: iphone xcode push-notification app-store-connect native


【解决方案1】:

当应用程序被终止时,通知将由操作系统处理,因此它需要一些特定的键来显示通知。您的 json 应该如下所示

{
    "content_available": 1, 
      "notification": {
        "title":  "Mark sent you a message", 
        "sound": "default", 
        "body": "Hello", 
        "badge": 0

      } 
}

【讨论】:

    【解决方案2】:

    我很惊讶你在应用程序被强制退出时收到通知(双击主页按钮并向上滑动)。

    请参阅iOS 应用程序编程指南:后台执行Understanding When Your App Gets Launched in the Background,其中涉及强制退出应用程序的注意事项。

    支持后台执行的应用程序可能会被系统重新启动以处理传入事件。如果应用程序因用户强制退出以外的任何原因终止,系统会在以下事件之一发生时启动应用程序:...

    在大多数情况下,系统不会在用户强制退出后重新启动应用程序。一个例外是定位应用程序,......但在其他情况下,用户必须启动应用程序

    Local and Remote Notification Programming Guide

    在 iOS 设备上,如果用户使用应用多任务 UI 强制退出您的应用,则应用在用户重新启动之前不会收到远程通知。

    【讨论】:

    • 您的应用不会启动,但推送通知仍会显示。
    • “在用户重新启动之前,该应用程序不会收到远程通知” - 这个说法并不完全正确。在设备上接收到远程通知,但当应用程序被强制退出时,不会调用“didReceiveRemoteNotification”方法。检查以下链接以获取更多信息。 forums.developer.apple.com/thread/65817
    • 当然,但是在用户重新启动之前,强制退出应用程序不会收到它们。
    猜你喜欢
    • 2018-12-20
    • 2022-01-22
    • 1970-01-01
    • 2017-06-07
    • 2015-12-30
    • 2017-04-12
    • 1970-01-01
    • 1970-01-01
    • 2017-01-09
    相关资源
    最近更新 更多