亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在后臺運行應用時通過推送通知更新徽章

在后臺運行應用時通過推送通知更新徽章

iOS
嚕嚕噠 2019-10-29 11:18:43
當應用程序進入前臺時,我有推送通知正在工作,并設法更新了圖標徽章計數。我對此有點困惑... iPhone收到通知,彈出消息似乎激活了我的應用程序,并且徽章僅在我啟動該應用程序后更新。就用戶體驗而言,這聽起來不對。我的理解是,徽章計數應該通過增加計數來通知用戶需要采取什么措施,但這不會發生,直到應用程序上線之后。那么,有沒有一種方法可以讓應用在收到推送通知時以及在后臺時更新其徽章計數?請注意,我的應用程序不使用位置,并且我已UIRemoteNotificationTypeBadge在通知注冊請求中使用。干杯AF
查看完整描述

3 回答

?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

實際上,在iOS 10中,遠程通知將didReceiveRemoteNotification在您的AppDelegate中自動調用Method。


您有2種在后臺更新徽章計數的方法。

我也為我當前的應用程序完成了此操作。您也不需要Notification Service Exetension。


第一種方式

將帶有有效載荷的APS徽章密鑰發送到APN。

這將根據徽章有效載荷中的Integer值更新徽章計數。例如:


// Payload for remote Notification to APN

{

    "aps": {

        "content-available": 1,

        "alert": "Hallo, this is a Test.",

        "badge": 2, // This is your Int which will appear as badge number,

        "sound": default

    }

}

第二路

當applicationState處于時,您可以切換application.applicationState并更新徽章計數.background。但是當發送到APN ex時,您必須注意不要在Notification負載中設置徽章密鑰參數


// Payload to APN as silent push notification

{

    "aps": {

        "content-available": 1

    }

}

根據應用程序狀態處理徽章更新

這是我的工作代碼,用于在APN的有效負載中在沒有徽章密鑰的情況下更新徽章計數。


func application(_ application: UIApplication, didReceiveRemoteNotification 

   userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {

    print("APN recieved")

    // print(userInfo)


    let state = application.applicationState

    switch state {


    case .inactive:

        print("Inactive")


    case .background:

        print("Background")

        // update badge count here

        application.applicationIconBadgeNumber = application.applicationIconBadgeNumber + 1


    case .active:

        print("Active")


    }

}

重置徽章計數

當您的應用恢復為活動狀態時,請不要忘記重置您的徽章計數。


func applicationDidBecomeActive(_ application: UIApplication) {

    // reset badge count

    application.applicationIconBadgeNumber = 0

}


查看完整回答
反對 回復 2019-10-29
  • 3 回答
  • 0 關注
  • 655 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號