リッチプッシュ通知
Braze SDKのリッチプッシュ通知の設定方法を学習。
前提条件
この機能を使用する前に、Swift Braze SDKの統合を完了する必要があります。 プッシュ通知の設定も必要です。
リッチプッシュ通知の設定
ステップ 1: サービス拡張機能を作成する
通知サービス拡張機能を作成するには、XcodeでFile > New > Targetに移動し、Notification Service Extensionを選択します。

拡張機能をアプリケーションに埋め込むように、Embed In Applicationが設定されていることを確認してください。
ステップ 2: 通知サービス拡張機能を設定する
通知サービス拡張機能は、アプリにバンドルされる独立したバイナリです。Apple Developer Portalで、独自のアプリIDとプロビジョニングプロファイルを使用して設定する必要があります。
通知サービス拡張機能のバンドルIDは、メインアプリのターゲットのバンドルIDとは異なるものにする必要があります。たとえば、アプリのバンドルIDがcom.company.appnameの場合、サービス拡張機能にはcom.company.appname.AppNameServiceExtensionを使用できます。
ステップ 3: App Groupを追加する
Xcodeで、Signing & CapabilitiesペインからメインアプリのターゲットとNotification Service Extensionのターゲットの両方にApp Groups機能を追加します。次に、+ボタンをクリックします。アプリのバンドルIDを使用してApp Groupを作成します。たとえば、アプリのバンドルIDがcom.company.appnameの場合、App Groupの名前をgroup.com.company.appname.xyzにできます。

メインアプリとNotification Service Extensionが共有データにアクセスできるように、共有のApp Groupが必要です。アプリをApp Groupに追加しない場合、アプリがプッシュペイロードから特定のフィールドを入力できず、期待どおりに完全には動作しない可能性があります。
ステップ 4: リッチプッシュ通知を統合する
BrazeNotificationServiceを使用したリッチプッシュ通知の統合に関するステップごとのガイドについては、チュートリアルを参照してください。
サンプルを確認するには、ExamplesアプリのNotificationServiceでの使用方法を参照してください。
リッチプッシュフレームワークをアプリに追加する
Swift Package Manager統合ガイドに従った後、次の手順でBrazeNotificationServiceをNotification Service Extensionに追加します。
-
Xcodeのフレームワークとライブラリで、追加アイコンを選択してフレームワークを追加します。

-
「BrazeNotificationService」フレームワークを選択します。

Podfileに以下を追加します。
target 'YourAppTarget' do
pod 'BrazeKit'
pod 'BrazeUI'
pod 'BrazeLocation'
end
target 'YourNotificationServiceExtensionTarget' do
pod 'BrazeNotificationService'
end
# Only include the below if you want to also integrate Push Stories
target 'YourNotificationContentExtensionTarget' do
pod 'BrazePushStory'
end

Podfileを更新したら、ターミナルでXcodeアプリプロジェクトのディレクトリに移動し、pod installを実行します。
BrazeNotificationService.xcframeworkをNotification Service Extensionに追加するには、手動統合を参照してください。

生成されたXcodeプロジェクトのトラブルシューティング
TuistなどのビルドツールでXcodeプロジェクトを生成する場合は、生成されたプロジェクトでBrazeNotificationServiceがNotification Service Extensionのターゲットにリンクされたままになっており、そのリソースが拡張機能のバンドル内に保持されていることを確認してください。生成されたプロジェクト構造によっては、リソースが想定外のバンドルに配置され、実行時にリッチプッシュのアセットを読み込めなくなる場合があります。
サポートについては、以下のリソースを参照してください。
独自のUNNotificationServiceExtensionを使用する
独自のUNNotificationServiceExtensionを使用する必要がある場合は、代わりにdidReceiveメソッドでbrazeHandleを呼び出すことができます。
import BrazeNotificationService
import UserNotifications
class NotificationService: UNNotificationServiceExtension {
override func didReceive(
_ request: UNNotificationRequest,
withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void
) {
if brazeHandle(request: request, contentHandler: contentHandler) {
return
}
// Custom handling here
contentHandler(request.content)
}
}
ステップ 5: BrazeでApp Groupを設定する
Brazeを初期化する前に、App Groupの名前をBraze設定のpush.appGroupプロパティに割り当てます。
let configuration = Braze.Configuration(apiKey: "<YOUR-BRAZE-API-KEY>",
endpoint: "<YOUR-BRAZE-ENDPOINT>")
configuration.push.appGroup = "REPLACE_WITH_APPGROUP"
let braze = Braze(configuration: configuration)
ステップ 6: ダッシュボードでリッチプッシュ通知を作成する
マーケティングチームは、ダッシュボードからリッチプッシュ通知を作成することもできます。プッシュ作成画面でプッシュ通知を作成し、画像やGIFを添付するか、画像、GIF、または動画をホストするURLを指定します。アセットはプッシュ通知の受信時にダウンロードされるため、コンテンツを自社でホストしている場合は、リクエストが大規模かつ同時に急増することを想定して計画してください。
前提条件
この機能を使用する前に、Cordova Braze SDKを統合する必要があります。 プッシュ通知の設定も必要です。
リッチプッシュ通知の設定
ステップ 1: 通知サービス拡張機能を作成する
Xcodeプロジェクトで、通知サービス拡張機能を作成します。完全なウォークスルーについては、iOS リッチプッシュ通知チュートリアルを参照してください。
ステップ 2: 新しいターゲットを追加する
Podfileを開き、先ほど作成した通知サービス拡張機能のターゲットにBrazeNotificationServiceを追加します。BrazeNotificationServiceがすでにターゲットに追加されている場合は、続行する前に削除してください。重複シンボルエラーを避けるため、スタティックリンクを使用します。
target 'NOTIFICATION_SERVICE_EXTENSION' do
use_frameworks! :linkage => :static
pod 'BrazeNotificationService'
end
NOTIFICATION_SERVICE_EXTENSIONを通知サービス拡張機能の名前に置き換えてください。Podfileは以下のようになります:
target 'MyAppRichNotificationService' do
use_frameworks! :linkage => :static
pod 'BrazeNotificationService'
end
ステップ 3: CocoaPods依存関係を再インストールする
ターミナルで、プロジェクトのiOSディレクトリに移動し、CocoaPodの依存関係を再インストールします。
cd PATH_TO_PROJECT/platform/ios
pod install
この機能を使う前に、React Native Braze SDKを統合する必要があります。 プッシュ通知の設定も必要です。
Expoを使用してリッチプッシュ通知を有効にする
React Native SDKの場合、リッチプッシュ通知はAndroidではデフォルトで利用可能です。
Expoを使用してiOSでリッチプッシュ通知を有効にするには、app.jsonのexpo.pluginsオブジェクトでenableBrazeIosRichPushプロパティをtrueに設定します:
{
"expo": {
"plugins": [
[
"@braze/expo-plugin",
{
...
"enableBrazeIosRichPush": true
}
]
]
}
}
最後に、このアプリ拡張機能のバンドル識別子をプロジェクトの認証情報設定に追加します:<your-app-bundle-id>.BrazeExpoRichPush。このプロセスの詳細については、Expo Application Servicesでアプリ拡張機能を使用するを参照してください。