【问题标题】:Pushwhoosh remote notificationPushwhoosh 远程通知
【发布时间】:2014-09-30 09:34:20
【问题描述】:

我们使用 Pushwhoosh 进行远程通知。它工作正常,但图标徽章数量没有增加。

代码如下:

- (void) onPushReceived:(PushNotificationManager *)pushManager withNotification:(NSDictionary *)pushNotification onStart:(BOOL)onStart
{
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:  (UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge)];

     PushNotificationManager * pushManager = [PushNotificationManager pushManager];
    pushManager.delegate = self;

    if ([launchOptions objectForKey:UIApplicationLaunchOptionsLocationKey]) {
        PushNotificationManager * pushManager = [PushNotificationManager pushManager];
        [pushManager startLocationTracking];
    }

    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
}

如何在推送时增加应用图标徽章数量?

【问题讨论】:

    标签: ios objective-c iphone pushwoosh


    【解决方案1】:

    这是服务器端的徽章编号问题。检查推送通知负载是否包含应用程序徽章字段并设置为大于 0 的值。 因为当应用程序关闭/在后台时,通知有效负载中的值用于默认设置徽章,而不是您的代码中的值。您的代码仅在应用程序运行状态时设置徽章。在您的情况下,大多数可能传入有效负载的徽章值将是 0。

    【讨论】:

    • 没听懂。你的意思是我们需要在推送 whoosh 服务器端通知消息中做一些事情?我在onPushReceived中设置了,所以没有效果?
    • 我的意思是当应用关闭或在后台时,我们在onPushReceived中设置的值将不起作用,因为该方法不会被调用。该值由通知负载设置。
    • 通知负载是指从推送嗖嗖服务器发送的消息。所以我们需要联系 push whoosh 服务器。
    • 是的。但在此之前您可以先调试并检查有效负载。只需设置警报以读取有效负载内容。如果徽章字段为0,则肯定是其有效负载问题。
    • 得到了解决方案,我们可以选择 push whoosh 服务器。 i.stack.imgur.com/9eNGR.jpg 感谢您的帮助。
    【解决方案2】:

    找到解决方案。我们可以选择在 push whoosh 服务器中设置通知徽章编号。

    【讨论】:

      猜你喜欢
      • 2012-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-07
      • 1970-01-01
      相关资源
      最近更新 更多