概要
価値あるサービスを提供するために、App Clipによっては通知のスケジュールを設定したり、通知の受信を有効にすることが必要な場合があります。ユーザーが料理のデリバリーを注文できるApp Clipを考えてみましょう。通知を送信することで、App Clipはデリバリーの予定到着時間をユーザーに知らせます。App Clipの機能において通知が重要な場合は、起動後最大8時間まで、通知のスケジュールを設定するか、通知を受信できるようにします。なお、App Clipを複数のビジネス向けに開発する場合は、必ず通知ペイロードに変更を加えてください。
重要
ユーザーが以前起動したApp Clipを通知から再び起動する場合、App Clipは呼び出しURLなしで起動します。このシナリオはApp Clipと完全版のアプリの両方で対応する必要があります。呼び出しの詳細については、「呼び出しへの応答」を参照してください。
一時的な通知のスケジュールまたは受信設定
App Clip起動後8時間以内の通知のスケジュールまたは受信を設定するには、まずはNSAppClip(英語)キーをApp ClipのInfo
ファイルに追加し、型をDictionary
に設定します。次に、このディクショナリに、NSApp
(英語)をキーとするエントリを追加します。型をBoolean
に、その値をtrue
に設定します。
もしくは、プロパティリストエディタでInfo
ファイルを開き、キーのリストからApp Clipを選択してエントリを追加します。これにより、キーがNSApp
で、Boolean
型の2つのエントリ「Requests ephemeral user notifications(一時的なユーザー通知のリクエスト)」および「Requests location confirmation(位置情報の確認リクエスト)」がディクショナリに追加されます。デフォルトでは、両方のエントリの値はNO
です。「Requests ephemeral user notifications(一時的なユーザー通知のリクエスト)」の値をYES
に変更します。
これにより、App Clipを呼び出すと表示されるApp Clipカードに、App Clipの通知の受信またはスケジュール機能をユーザーに知らせるメモが表示されます。この権限はデフォルトで有効になっていますが、ユーザーはApp Clipカードのメモをタップして無効にすることもできます。
ユーザーがApp Clipカードで通知を無効にできるため、App Clipに通知のスケジュール設定や受信を行う権限があるかどうかを確認するコードを追加します。次のコードは、短期間にわたる通知の送信をユーザーが許可しているかどうかを確認します。
通知を送信するための明示的な許可のリクエスト
1日以上にわたり継続する機能の場合は、通知を送信するためのユーザーの許可を明示的にリクエストします。たとえば、レンタカー会社のApp Clipの場合、借りた車の返却期限を知らせる通知を送信するための許可をユーザーにリクエストすることができます。
ただし、この許可をリクエストするかどうかは慎重に検討してください。ユーザーがリクエストを拒否した場合、起動後8時間以内のApp Clipからの通知の受信やスケジュール設定をオーバーライドすることになります。
詳細については、「通知を使用する許可のリクエスト(英語)」を参照してください。
通知ペイロードへの変更の追加
単一のApp Clipを複数のビジネス向けに開発する場合があります。たとえば、レストラン向けのプラットフォームプロバイダとして、さまざまなレストランで利用されるApp Clipを開発するケースを考えてみましょう。ユーザーがそのApp Clipを異なる複数のビジネス向けに短時間に連続して起動した場合、App Clipの複数のインスタンスがデバイス上に存在する可能性があります。
このようなケースでは、通知の受信時に、システムが通知を適切なApp Clipインスタンスに渡す必要があります。そのため、通知ペイロードにはターゲットコンテンツIDとしてURLを含める必要があります。次のコードは、複数のビジネスで利用されるApp Clipの通知ペイロードを示しています。
target-content-id
の値は、それぞれのビジネスに対応する高度なApp Clip体験に一致するURLでなければなりません。先ほどのレストランの例で、次の両方のURLをApp Store Connectに登録するとします。
-
https://example
.com/restaurants/restaurant _a -
https://example
.com/restaurants/restaurant _b
その場合、呼び出しURLとターゲットコンテンツIDは、以下のようにすることができます。
-
https://example
.com/restaurants/restaurant _a/order/1234 -
https://example
.com/restaurants/restaurant _b/order/5678
一般的に、できるだけ具体的なターゲットコンテンツIDを使用します。同様に、App Clipでローカル通知のスケジュールを有効化する場合は、たとえばtarget
(英語)を使用して、通知ペイロードのターゲットコンテンツIDを設定します。
詳細については、「App Clipの起動体験の構成」、「リモート通知の生成(英語)」、「アプリからのローカル通知のスケジュールを設定する(英語)」を参照してください。