簡體   English   中英

收到推送消息后,如何更新iOS主屏幕中的通知徽章編號?

[英]How to update notification badge number in iOS's home screen when received push message?

我希望iOS設備可以在主屏幕上自動更新伙伴編號(應用未運行)。 目前,我正在使用推送通知,可以接收推送通知。 但是伙伴編號不會自動更新(只有在我單擊以查看詳細信息推送通知后才可以更新)。 我的問題是,當收到帶有應用程序(后台應用程序)的推送消息未運行時(如LINE聊天應用程序),如何重新加載伙伴號碼? 我的功能來顯示AppDelegate中的伙伴數,如下所示:

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

謝謝大家!

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo當應用程序為backGround State或處於非活動狀態時,永遠不會調用此方法,因此只需從后端管理它的Badge計數即可。

帶有密鑰或徽章的APNS PayLoad的值必須為Integer值。 喜歡

badge": 1 // that value (1) must be an Integer else that badge not display.

因此,當推送通知到達時,Apple會自動在您的應用程序圖標上顯示該徽章圖標。

對於使用應用程序打開時的清除計數:

    [[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0];
    [[UIApplication sharedApplication] cancelAllLocalNotifications];

謝謝大家回答我! 我已經重試,現在可以運行了! 我要做的所有步驟:1-重新計算服務器中的總數,以及對Apple推送消息的響應2-用密鑰“徽章”返回

$body['aps'] = array(
                'alert' => $message,
                'badge' => $Total_msg_unread,
                'sound' => 'default'
                );

在閱讀Chinttu RoxeN Ramani的回復之前,我將'badge'設置為自定義鍵=>,它無法運行。 也許這是我的問題!

3-在Xcode中,將budged值轉換為IntValue。 再次,謝謝大家!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM