簡體   English   中英

Apple推送通知徽章編號

[英]Apple push notification badge number

我開發了服務器端應用程序,以便在收到新通知后將徽章編號保持為遞增或遞減,並在看到通知后正常工作。

但是顯示徽章存在一些問題,實際情況是 - 在設備上獲得新通知后,我點擊取消按鈕,然后徽章編號顯示正確,但之后我將打開應用程序並關閉應用程序徽章將被刪除。 這意味着我沒有向服務器發送請求,我發現了通知,現在您可以將徽章減一。 然后還從應用程序圖標中刪除徽章。

我的問題是,當我們打開應用程序時,徽章編號會自動從(應用程序)設備中刪除嗎? 或者它會顯示為直到我們設置為零?

它將顯示,直到您將其設置為零,您可以使用以下代碼執行此操作:

    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]


編輯:
在接收通知時,更常見的是在application:didReceiveRemoteNotification:設置徽章編號application:didReceiveRemoteNotification:application:didFinishLaunchingWithOptions: UIApplicationDelegate類的方法。

您可以在“ 本地和推送通知編程指南”中閱讀有關它的更多信息

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

    - (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
    );

暫無
暫無

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

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