关于APNS的问题

时间:2013-03-20 04:47:18

标签: ios apple-push-notifications

我已在我的应用中实施了APNS。但我有两个问题。

  1. 如何让徽章自我增加?在我的应用中,它现在始终设置为1.

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

  3. 感谢。

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

通常在所有应用中,未读通知计数都在服务器中维护。当服务器向特定设备发送推送通知时, 服务器会发送徽章计数和有效负载

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

{
    "aps" :  
    {
        "alert" : "Your notification message",
        "badge" : badgecount ,
        "sound" : "bingbong.aiff"
    }
}

答案 2 :(得分: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是一个存储徽章值的整数。