メインコンテンツへスキップ
iOSは、通知コンテンツアプリ拡張機能のエントリーポイントとしてUNNotificationContentExtensionプロトコルを提供しています。これを使用して、アプリの通知用のカスタムインターフェースを表示できます。このサンプルガイドでは、iOS通知内でカルーセルを作成するためにこれを使用する方法について説明します。

プッシュ通知のカルーセルを示す画像

1. 通知コンテンツ拡張機能を追加

00355f9-Screen_Shot_2020-11-30_at_9.32.26_PM

Xcodeで、ファイル > 新規 > ターゲット…を選択します
efd0fde-Screen_Shot_2020-11-30_at_3.10.58_PM

「Notification Content Extension」を選択します
0a0fa6a-Screen_Shot_2020-11-30_at_6.44.46_PM

ポップアップ表示されるウィンドウで選択を確認します
ActivateContentExtension

デバッグするためにアクティブ化を選択します

2. アプリにコードを追加

GithubからOSNotificationContentExtensionをダウンロードし、XcodeプロジェクトのOSNotificationContentExtensionを同じファイルで置き換えます。 次のファイルが追加されます:

Content Extension配下のファイル

3. 通知カテゴリを設定

この例は、AppDelegate.swiftのdidFinishLaunchingWithOptions内でアクション可能な通知タイプを宣言します。

4. プッシュ通知を送信

プッシュメッセージの送信時に、iOSカテゴリとカスタムデータを設定できます。

iOSカテゴリ

iOSカテゴリとしてOSNotificationCarouselを使用します:
「プラットフォーム設定」 > Apple iOSに送信 > 「カテゴリ」で設定します

OneSignalダッシュボードのiOSプラットフォームオプション

カスタムデータ

OneSignalには、通知ごとに複数の画像をアップロードするオプションはありません。 代わりに、カンマ,で区切られた画像URLをリストする必要があります
「詳細設定」 > 「追加データ」で設定します「キー」にはimagesを設定し、「値」には引用符なしでカンマ区切りのURLのリストを設定します。
例、コピー&ペースト:

プッシュを送信

プッシュを受信したら、iOSバージョンに応じて、長押しするか左にスワイプして「表示」をクリックして通知を展開する必要があります。

参考資料