簡體   English   中英

保存收到的遠程推送通知-iOS

[英]Save received remote push notifications - ios

我們可以將收到的推送通知本地保存在plist中嗎?

我需要在徽章視圖中顯示未讀的推送通知的數量,就像applicationIconBadgeNumber一樣。 但是它應該顯示在應用程序內部,而不是圖標徽章視圖。

因此,我的問題是我們可以將收到的推送通知保存在應用程序的所有狀態(運行,后台和退出)中嗎?

我已經實現了推送通知,必要時可以共享代碼

如果您已添加后台模式->遠程通知(在“功能”選項卡下)

那么您就可以在后台接收推送通知-在此功能中(應該位於您的AppDelegate中):

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler

請注意,在后台調用此函數時-它將喚醒您的應用程序,然后您調用:

completionHandler(UIBackgroundFetchResultNewData);

停止應用程序的后台進程。 (否則,在30-60秒內,iOS將終止您的應用)。

(因此-您應該能夠在應用程序處於后台狀態時接收推送通知,進行保存,保存計數。)

要知道的一件事-如果用戶關閉了應用程序強制執行,則不會調用它。

還是為了上帝-在用戶最終打開應用程序時使用此命令:

[UIApplication sharedApplication].applicationIconBadgeNumber.

一旦打開應用程序,您必須將其值重置為0,但是在執行此操作之前-您可以讀取它的值以了解收到了多少個推送通知。 (鑒於事實,它將從服務器提供正確的證卡號)

是的,您可以通過以下代碼行獲取徽章編號:-NSInteger count = [UIApplication sharedApplication] .applicationIconBadgeNumber;

並且可以做任何您想做的事,但是只要您的應用程序啟動就可以得到它。為了顯示它像徽章計數一樣,您可以使用帶有紅色圓圈的圖像和標簽。

暫無
暫無

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

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