【问题标题】:New message badge on iOS app iconiOS 应用图标上的新消息徽章
【发布时间】:2015-12-17 14:05:08
【问题描述】:

我需要显示这样的内容来显示我的应用有新通知。

但我不想继续跟踪新通知的数量。只是一个徽章来表明有新的,应该足够了。所以理想情况下,徽章是一个带有“...”的红色圆圈。

我将如何实现这一目标?

【问题讨论】:

  • 所以基本上你是想通过编程方式获得徽章编号,还是想在...的应用程序位置显示徽章编号。
  • 尽量提供像999999999999这样很大的数字,orb标签可能会用...代替!我以前没试过,但这是一个猜测
  • 我只想显示有新消息。我不需要显示有多少新消息,所以我没有徽章的编号。

标签: ios push-notification ibm-cloud badge


【解决方案1】:

您应该在徽章中提供一些“未读”通知。 Apple 人机界面指南不鼓励将徽章用于通知以外的其他目的。

您的应用可能无法在 AppStore 中获得批准销售。

【讨论】:

    【解决方案2】:

    由于我知道您在 Bluemix 上使用 IBM Push Notifications 服务,因此有一种简单的方法可以完成此操作。使用 IBM Push Notification 服务发送推送通知时,您可以将标记值指示为可选负载的一部分:

    iOS 徽章 - 对于 iOS 设备,显示为应用图标徽章的数字。如果此属性不存在,则徽章不会更改。至 移除徽章,将此属性的值设置为 0。

    如果您通过 Bluemix Push Dashboard 发送推送通知,您只需输入您希望在成功接收到通知后显示的徽章值:

    如果您通过 Node.js、REST 等发送推送通知,您可以将徽章值添加为选项参数。请查看我们的 REST API 文档中提供的模型以了解正确的结构:

    https://mobile.ng.bluemix.net/imfpushrestapidocs/#!/messages/post_apps_applicationId_messages

    apns {
    badge (integer, optional): The number to display as the badge of the application icon,
    .
    .
    .
    }
    

    【讨论】:

      【解决方案3】:

      它应该只是数字。无法根据您的要求提供像“...”这样的字符串。

      【讨论】:

        【解决方案4】:

        据我所知,您必须先注册本地或推送通知才能在应用图标上显示徽章编号。

        以防万一您还没有这样做,这里是注册本地通知的代码

        if (UIApplication.instancesRespondToSelector(Selector("registerUserNotificationSettings:"))) {
                    UIApplication.sharedApplication().registerUserNotificationSettings(UIUserNotificationSettings(forTypes: [UIUserNotificationType.Alert, UIUserNotificationType.Badge], categories: nil))
                }
        

        AppDelegatedidFinishLaunchingWithOptions方法中

        然后在视图控制器的viewDidLoad 方法中尝试UIApplication.sharedApplication().applicationIconBadgeNumber = 34 进行测试

        如果您使用推送通知,则徽章值将由服务器维护

        【讨论】:

          猜你喜欢
          • 2012-02-17
          • 2014-05-21
          • 1970-01-01
          • 1970-01-01
          • 2017-03-02
          • 1970-01-01
          • 1970-01-01
          • 2021-11-17
          • 1970-01-01
          相关资源
          最近更新 更多