簡體   English   中英

如何增加推送通知徽章iPhone

[英]How to Increment the Push notification Badge iPhone

是否可以在收到通知時增加徽章值。 還是應該將計數作為有效載荷發送?

如果我每次都將徽章值發送為“ 1”,如果應用程序未打開,我如何在應用程序的圖標中增加徽章值

我使用了此代碼,但不起作用。

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
    [UIApplication sharedApplication].applicationIconBadgeNumber = [UIApplication sharedApplication].applicationIconBadgeNumber + 1; 
}

如果要自動更改圖標徽章,請使用以下代碼。

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{

    application.applicationIconBadgeNumber = 0;
    NSLog(@"userInfo %@",userInfo);

    for (id key in userInfo) {
        NSLog(@"key: %@, value: %@", key, [userInfo objectForKey:key]);
    }

    [application setApplicationIconBadgeNumber:[[[userInfo objectForKey:@"aps"] objectForKey:@"badge"] intValue]];

    NSLog(@"Badge %d",[[[userInfo objectForKey:@"aps"] objectForKey:@"badge"] intValue]);

}

我們還需要更改php文件。 這樣我們就可以自動獲取更改圖標徽章

// Create the payload body
$body['aps'] = array(
    'alert' => $message,
    'sound' => 'default',
    'id' => '135',
    'badge' => 8
    );

由於推送通知是由iOS處理的,而不是由您的應用處理的,因此您無法在收到推送通知時更改應用程序標志。

但是您可以在推送通知的有效負載中發送徽章編號,但是您將必須在計算服務器端進行操作。

您應該閱讀:Local and Push Notification Programming Guide,尤其是The Notification Payload。

有效負載可能如下所示:

{“ aps”:{“ alert”:“您收到了電子郵件。”,“徽章”:9}}現在,應用程序應用程序徽章圖標將顯示9。

暫無
暫無

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

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