【问题标题】:Quickblox push notification badge counter iOS RESTQuickblox 推送通知徽章计数器 iOS REST
【发布时间】:2013-09-04 13:54:54
【问题描述】:

我正在使用具有 QuickBlox 后端的 Corona SDK 构建应用程序。我有一个最后的技术挑战 - 每次收到推送通知时,如何让徽章计数器增加?我正在使用 REST API 发送消息。

【问题讨论】:

    标签: increment badge quickblox


    【解决方案1】:

    要在推送通知中管理徽章计数器,您应该发送带有适当徽章值的推送通知。每次收到新推送消息时,iOS 设备都不会自动增加它

    要从带有特定徽章计数器的 iOS 设备发送推送,您应该使用以下代码:

    NSMutableDictionary *payload = [NSMutableDictionary dictionary];
    NSMutableDictionary *aps = [NSMutableDictionary dictionary];
    [aps setObject:@"default" forKey:QBMPushMessageSoundKey];
    [aps setObject:@"This is Push Notification, baby!" forKey:QBMPushMessageAlertKey];
    [aps setObject:@"5" forKey:QBMPushMessageBadgeKey];
    [payload setObject:aps forKey:QBMPushMessageApsKey];
    
    QBMPushMessage *message = [[QBMPushMessage alloc] initWithPayload:payload];
    
    // Send push
    [QBMessages TSendPush:message toUsers:@"218650" delegate:self];
    

    您将收到徽章值 = 5 的推送消息

    您还可以从管理面板发送推送并管理徽章值 https://www.evernote.com/shard/s216/sh/7e53a5e3-c24b-4ae9-b4c4-855dd4f41370/b404dcb788992fb1a8dabe1bf0fbcc0f

    【讨论】:

    • 好的,但这是一个 Corona 项目,而不是 xCode。所以本质上我必须将徽章计数存储在数据库中并在其中添加 1 以使其工作?
    • @IgorKhomenko,我认为有些混乱。当应用程序收到来自 QuickBlox 服务器的推送(不是通过代码发送)时,我正在更新徽章计数。但是当我发送推送(通过代码)时,我如何管理徽章。我怎么知道,有 6 个徽章值(来自服务器),一个来自我这边,所以我必须为那个特定用户传递 7 个。
    【解决方案2】:

    如果应用在后台运行,将 QBMPushMessageBadgeKey 作为字符串参数(至少对于 iOS7)发送不会更新图标徽章。

    您应该将它作为 NSNUmber 发送,它会很好地工作,无论应用程序在后台运行还是在前台运行:

    [aps setObject:@5 forKey:QBMPushMessageBadgeKey];
    

    【讨论】:

      猜你喜欢
      • 2015-07-05
      • 1970-01-01
      • 2013-08-07
      • 1970-01-01
      • 1970-01-01
      • 2012-04-02
      • 1970-01-01
      • 2018-09-08
      • 1970-01-01
      相关资源
      最近更新 更多