アプリで APNS を使用していますが、いくつかのデータ (もちろん 256 バイト未満) を送信したいと考えていました。私の問題は、ユーザーにアラートを表示せずにプッシュ通知でデータを送信したいということです。どうやってやるの ?ありがとうございました
1 に答える
Badge を aps キーに指定し、データを別のキーに入れます。したがって、バッジ番号を使用している場合は正しいバッジ番号を再計算し、使用していない場合は 0 を送信してください。
アップルのドキュメントから:
プロバイダーは、Apple が予約した aps 名前空間の外部でカスタム ペイロード値を指定できます。カスタム値では、辞書 (オブジェクト)、配列、文字列、数値、およびブール値の JSON 構造化およびプリミティブ型を使用する必要があります。カスタム ペイロード データとして顧客情報を含めないでください。代わりに、コンテキスト (ユーザー インターフェイス用) や内部メトリックの設定などの目的で使用してください。たとえば、カスタム ペイロード値は、インスタント メッセージ クライアント アプリケーションで使用される会話識別子や、プロバイダーが通知を送信した時刻を識別するタイムスタンプである場合があります。アラート メッセージに関連付けられたアクションは、デバイス上のデータの削除など、破壊的なものであってはなりません。
ただし、問題があります。これは、アプリが実行されている場合にのみ機能します。
仕組みは次のとおりです。アプリが実行されている場合、didReceiveRemoteNotification コールバックを介してペイロード データとともに通知を受け取ります。ここでカスタム データを抽出できます。ただし、アプリが実行されていない場合、通常はアラートが表示され、ユーザーがタップした場合にのみアプリに通知されます。アラートを表示したくないため、アプリが実行されていないときにカスタム ペイロード データを取得する方法はありません。考えてみれば、勝手にアプリが立ち上がってしまうと、ユーザーにとってはかなり怖いものです。:)