2

iOS 10 より前のプッシュ通知 API では、プッシュ通知の受信によってトリガーされるバックグラウンド ジョブを簡単に実行できました。受け取ったばかりです -- ユーザーはそれを操作する必要はまったくありませんでした。この新しいフレームワークで同じバックグラウンド ジョブを実行するには、ユーザーが何らかの方法で通知を操作する必要があるようです。この新しいフレームワークを使用して、特定のプッシュがクライアント デバイスによって受信されたばかりで、ユーザーが操作していないときにバックグラウンド ジョブを実行する方法はありますか? プッシュのユーザー情報辞書にメソッドを渡すことはできますか?

4

1 に答える 1

3

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

を使用するUIApplicationDelegateと、実際には、以前の iOS バージョンで使用されていたのと同じ機能を使用して、プッシュ通知を介してバックグラウンド ジョブを実行できることがわかりました。

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

    //execute the background job here

}

content-available送信する前にプッシュにフラグを 追加し、 1 に設定するだけです。

js の場合は次のようになります。

data: {
         alert: "Some alert",
         type: someType,
         "content-available": 1,
         id: someId
      }
于 2016-09-21T01:30:19.150 に答える