2016-09-20 5 views
2

iOS 10より前のプッシュ通知APIでは、プッシュ通知を受信して​​バックグラウンドジョブを簡単に実行できました。ちょうど受け取った - ユーザーは全くそれと対話する必要はありませんでした。今では、この新しいフレームワークで私の同じバックグラウンドジョブを実行するために、ユーザーは何とか通知とやりとりする必要があります。特定のプッシュがクライアントデバイスによってちょうど受信されたが、ユーザーと対話していないときにバックグラウンドジョブを実行する方法はありますか?プッシュのユーザー情報辞書にメソッドを渡すことはできますか?iOS 10でのバックグラウンドフェッチ実行時間ユーザーとのやり取りなしのユーザー通知

+0

これは非常に有効な質問です - 私はTRYI午前これまで同じことをしていて、これまでに解決策を見つけられませんでした! –

答えて

3

UserNotificationsフレームワークで直接動作しないソリューションが見つかりましたが、プッシュ通知を使用してiOS 10でバックグラウンドジョブを実行することができます。

私はあなたが実際には、以前のiOSバージョンで使用したのと同じ関数を使用してプッシュ通知を経由してバックグラウンドジョブを実行することができUIApplicationDelegateを使用していることが見つかりました:

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

    //execute the background job here 

} 

あなたがしなければならないのは、にcontent-availableフラグを追加することですJSのためにそのようにそれに等しい1.

を送信する前に押すと設定:

data: { 
     alert: "Some alert", 
     type: someType, 
     "content-available": 1, 
     id: someId 
     }