【问题标题】:Apple push notification not changing icon badge automaticallyApple推送通知不会自动更改图标徽章
【发布时间】:2012-07-03 19:19:37
【问题描述】:

我已经看到我的 iPhone(4S,iOS 5.1)中的邮件应用程序会在新邮件到达时自动更新徽章计数,即使应用程序没有运行也是如此。所以也可以在我的应用中实现这种行为,对吧?

我的应用程序成功注册了所有 3 种类型的推送通知 - 徽章、警报和声音。 此应用程序的所有 3 种远程通知类型都设置为“电话设置”。

我的应用接收远程通知并显示警报、播放声音,但它更新徽章编号。 如果我通过警报上的查看按钮启动应用程序,那么我的应用程序可以完美地读取徽章值,并且我可以从代码中更改/删除/设置图标徽章。

当通知到达时,iOS 无法自动更改我的应用程序的图标徽章的任何具体原因?我看过所有类似的帖子,他们都在讨论手机设置,或者它注册的通知类型,或者关于检查负载 JSON 是否包含徽章。

还有其他可能导致此问题的原因吗?

这是我的代码块:

每次启动应用时注册 APN -

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)];

几乎立即收到设备令牌。 令牌已发送给提供商,我正在接收通知。警报和声音有效。但是在我启动应用程序并手动更改之前,徽章不会自动生效。请帮忙。

【问题讨论】:

  • 发送通知时您的徽章是否设置为 +1?还是只有 1 个?
  • 出于好奇,您将推送通知用于什么目的?
  • 将其设置为 +1 或您需要添加的任何通知。
  • 实际上它看起来可能只适用于urbanairship。其他帖子说您需要跟踪通知服务器端或将计数发送到服务器。
  • @mkral,我会尝试,但苹果不建议使用 +1 developer.apple.com/library/ios/#DOCUMENTATION/…

标签: ios apple-push-notifications badge


【解决方案1】:

我也遇到了同样的问题。未引用徽章图标。在尝试调整 JSON 数小时后(在验证手机上的应用程序显示徽章、声音、警报之后) - 问题是我添加了 UIRemoteNotificationTypeNewsstandContentAvailability 作为我的应用程序注册的警报类型之一。 (我疯了,什么都挑)

所以,当UIRemoteNotificationTypeNewsstandContentAvailability 也混在一起时,它似乎覆盖了允许aps/badge 数字更新应用程序图标的功能。 (一定要更新报摊信息)

【讨论】:

  • 谢谢! “报亭”原来也是我的问题。
  • 谢谢!很多。 (我也疯了)。
  • 非常感谢!花了半天时间解决这个问题。
  • 是的。同样的问题,这解决了它。非常感谢。
  • 谢谢!如果没有您的提示,我会花更多时间进行调查!
【解决方案2】:

问题现已解决。提供者服务器正在发送带引号的徽章编号(作为 JSON 字符串,即“9”)。奇怪的是 APNs/iOS 不将其识别为整数。现在引号被删除了,它可以工作了:)

【讨论】:

    【解决方案3】:

    我有一个类似的问题,通过在徽章编号中强制整数来解决它(使用 PHP 和来自 MySQL db 的数据):

    $body['aps'] = array(
            'alert' => array(
            'action-loc-key'=> utf8_encode($r['button_action']),
            'body'          => utf8_encode($r['message']),
            'launch-image'  => ''
            ),
        'badge' => (int)$r['badge_number'],
        'sound' => 'default'
        );
    

    Ps.:看看utf8_encode 命令,以避免我之前也遇到过json_encode 错误。

    【讨论】:

      猜你喜欢
      • 2011-09-19
      • 2010-12-28
      • 1970-01-01
      • 2018-09-08
      • 1970-01-01
      • 1970-01-01
      • 2011-04-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多