0

我已经在我的应用程序中实现了 APNS。但我有两个问题。

  1. 如何让徽章自增?在我的应用程序中,它现在总是设置为 1。

  2. 如果在应用程序处于前台时收到推送通知,据我所知,我需要实现一个替代视图并自己播放声音。在这种情况下,有没有办法播放系统默认的通知声音,即当用户在设置中更改它时,它会自动更改。

谢谢。

4

3 回答 3

2

您可以按照 wasim 的描述增加徽章计数,但它仅在您的应用程序处于前台时才有效,因此要显示正确的徽章计数,您的服务器必须推送正确的徽章编号。
当应用程序处于前台时播放默认系统通知声音我认为没有任何 API,因为您已将声音文件放入包中并在收到通知时播放该声音。

于 2013-03-20T05:18:04.400 回答
1

通常在所有应用程序中,未读通知计数都保存在服务器中。当服务器向特定设备发送推送通知时,令牌服务器将徽章计数与有效负载一起发送

您的服务器逻辑需要跟踪正确的徽章计数并适当地发送。

{
    "aps" :  
    {
        "alert" : "Your notification message",
        "badge" : badgecount ,
        "sound" : "bingbong.aiff"
    }
}
于 2013-03-20T05:12:51.637 回答
0

在您AppDelegate.m使用以下功能:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
    badge_value+=[[[userInfo objectForKey:@"aps"] objectForKey:@"badge"]intValue];
    [UIApplication sharedApplication].applicationIconBadgeNumber = badge_value;
}

其中,badge_value 是存储徽章值的整数。

于 2013-03-20T05:04:46.737 回答