簡體   English   中英

用戶在后台收到推送后手動打開應用程序時獲取推送通知有效負載

[英]Getting push notification payload when user opens app manually after push has been received in the background

我正在使用iOS7,並且試圖確定在以下情況下是否可以獲取JSON有效負載。

  • 我啟用了后台模式“遠程通知”
  • 應用終止時收到推送通知
  • 該應用是通過圖標而不是通知中心手動啟動的

收到通知后,我從圖標本身啟動應用程序時,我沒有從

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;

從圖標手動啟動應用程序時,以下方法也不會被調用

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

我終於想出了如何得到這個!

從iOS 7開始,您可以獲得它!

基本上,您需要為后台遠程通知配置應用程序。

因此,在您的info.plist文件中: For required backgrounds -將其設置為app downloads content from push notifications.

AppDelegate.m文件中,您需要實現此方法:

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

請參閱此內容以了解如何實現該功能:didReceiveRemoteNotification:fetchCompletionHandler:從圖標打開與推送通知

對於您的推送通知,您必須具有'content-available': 1,作為推送通知的一部分。 這就是在顯示警報之前告訴應用程序新內容的原因。

請參閱此頁面以獲取有關后台遠程通知的更多信息: http : //developer.xamarin.com/guides/cross-platform/application_fundamentals/backgrounding/part_3_ios_backgrounding_techniques/updating_an_application_in_the_background/

暫無
暫無

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

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