Pushing Background Updates to Your App

6303 ワード

https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/pushing_background_updates_to_your_app
"Deliver notifications that wake your app and update it in the background."
アプリケーションを起動し、バックグラウンドで更新の注意事項を伝えます.

Overview


アプリケーションのサーバ・ベースのコンテンツが頻繁に変更または不規則なサイクルに変更されない場合は、新しいコンテンツが使用可能な場合にバックグラウンド・アプリケーションを使用してアプリケーションに通知できます.バックグラウンドサイレントアプリケーションは、通知、音声再生、アイコンのタグがないリモートサイレントアプリケーションです.これにより、バックグラウンドでアプリケーションが起動し、サーバからのダウンロードの初期化に時間がかかり、コンテンツの更新が可能になります.
Important
システムは、元のアプリケーションを低い優先度で処理します.Nokipediationを使用してアプリケーションをリフレッシュできますが、転送は保証されません.また、合計秒数に達すると、バックグラウンドノードの転送が制限されます.システムが許可するバックグラウンド・アプリケーションの数は、現在のステータスに依存しますが、1時間以内に2つまたは3つを超えることはできません.

Enable the Remote Notifications Capability


バックグラウンドアプリケーションを受信するには、アプリケーションにリモートバックグラウンドモードを追加する必要があります.[認識と機能]タブで、バックグラウンドモード機能を追加し、[リモートアクティブ化]チェックボックス(Figure 1)を選択します.
Figure 1 Enabling the remote notifications background mode

watchOSの場合、この機能をWatchKit拡張子に追加する必要があります.

Create a Background Notification


バックグラウンドノイズを送信するには、[リスト1](List 1)に示すように、コンテンツのみで使用可能な鍵を含むリモートノイズアプリケーションを作成する必要があります.カスタム鍵はペイロードに含めることができますが、apsバイナリファイルにはユーザーのインタラクションを刺激する鍵を含めるべきではありません.
Listing 1 Sample payload for a background notification
{
   "aps" : {
      "content-available" : 1
   },
   "acme1" : "bar",
   "acme2" : 42
}
もう1つの注意事項アプリケーションのPOST要求は、apns-push-typeヘッダフィールドを含む必要があります.このフィールドの値は5です.APNsサーバは、アプリケーションにプッシュアプリケーションを送信する際にapns-push-typeフィールドを入力し、すべてのプラットフォームの情報を推奨する必要があります.詳細については、POSTリクエストをAPNsに作成および設定するを参照してください.
Create and Send a POST Request to APNs
https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns#2947607
https://velog.io/@panther222128/Sending-Notification-Requests-to-APNs

Receive Background Notifications


装置がバックグラウンド検出を受信すると、システムは検出を受信し、検出を遅延する可能性がある.次の側面効果を使用できます.
  • システムは、新しいバックグラウンド検出を受信すると、既存の検出を放棄し、最新の検出を有する.
  • アプリケーションが強制的にシャットダウンまたはシャットダウンされた場合、システムは元のアプリケーションを破棄します.
  • ユーザーがアプリケーションを起動すると、すぐに必要なコンテンツが提供されます.
  • システムはバックグラウンドでアプリケーションを起動し、バックグラウンドで静音を伝達します.iOSは、アプリケーション遅延ゲートのapplication(_:didReceiveRemoteNotification:fetchCompletionHandler:)メソッドを呼び出す.watchOSは、拡張遅延ゲートウェイのdidReceiveRemoteNotification(_:fetchCompletionHandler:)メソッドを呼び出す.アプリケーションは、タスクの実行と提供されたコンパイルプロセッサの呼び出しに30秒かかります.詳細については、Handling NotificationsおよびNotifications関連アクションを参照してください.
    Handling Notifications and Notification-Related Actions
    https://developer.apple.com/documentation/usernotifications/handling_notifications_and_notification-related_actions
    https://velog.io/@panther222128/Handling-Notifications-and-Notification-Related-Actions

    See Also


    Server Tasks


    Generating a Remote Notification


    ユーザの装置に注意事項を送信し、JSONペイロードとする.
    https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification
    https://velog.io/@panther222128/Generating-a-Remote-Notification

    Sending Notification Requests to APNs


    リモート認証ペイロードおよびアプライアンストークン情報をアプリケーション認証サービス(APNs)に送信します.
    https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns
    https://velog.io/@panther222128/Sending-Notification-Requests-to-APNs

    Handling Notification Responses from APNs


    APNsサーバから返されたステータスコードに応答します.
    https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/handling_notification_responses_from_apns
    https://velog.io/@panther222128/Handling-Notification-Responses-from-APNs