リッチプッシュ通知
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で、メインアプリターゲットおよびNotification Service ExtensionターゲットのSigning & CapabilitiesペインからApp Groups機能を追加します。次に、+ボタンをクリックします。アプリのバンドルIDを使用してアプリグループを作成します。たとえば、アプリのバンドルIDがcom.company.appnameの場合、アプリグループにgroup.com.company.appname.xyzという名前を付けることができます。

ここでのApp Groupsは、AppleのApp Groups Entitlement(App Groups Entitlement)を指しており、Brazeのワークスペース(以前のアプリグループ)IDではありません。
メインアプリとNotification Service Extensionが共有データにアクセスできるように、共有App Groupが必要です。アプリをアプリグループに追加しない場合、アプリはプッシュペイロードの特定のフィールドを入力できず、期待どおりに完全に動作しない可能性があります。
ステップ 4: リッチプッシュ通知を統合する
BrazeNotificationServiceを使用したリッチプッシュ通知の統合に関するステップバイステップガイドについては、チュートリアルを参照してください。
サンプルについては、ExamplesアプリのNotificationServiceでの使用例を参照してください。
リッチプッシュフレームワークをアプリに追加する
Swift Package Manager統合ガイドに従った後、以下の手順でNotification Service ExtensionにBrazeNotificationServiceを追加します:
-
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に追加するには、手動統合を参照してください。

独自の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を初期化する前に、アプリグループの名前を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でアプリ拡張機能を使用するを参照してください。