プッシュ通知ストーリー
Braze SDK のプッシュストーリーを設定する方法について説明します。
前提条件
この機能を使用する前に、Swift Braze SDKの統合を完了する必要があります。 プッシュ通知の設定も必要です。これにはUNNotificationフレームワークの実装が含まれます。
Push Storiesを受信するには、以下の最小SDKバージョンが必要です。
Push Storiesの設定
ステップ 1: 通知コンテンツ拡張ターゲットを追加する
アプリプロジェクトで、メニューのFile > New > Targetに移動し、新しいNotification Content Extensionターゲットを追加してアクティベートします。

Xcodeが新しいターゲットを生成し、以下のファイルを自動的に作成します。
NotificationViewController.swiftMainInterface.storyboard
ステップ 2: 機能を有効にする
Xcodeで、メインアプリターゲットのSigning & Capabilitiesペインを使用してBackground Modes機能を追加します。Background fetchとRemote notificationsの両方のチェックボックスを選択します。

アプリグループの追加
さらに、XcodeのSigning & Capabilitiesペインから、メインアプリターゲットと通知コンテンツ拡張ターゲットの両方にApp Groups機能を追加します。次に、+ボタンをクリックします。アプリのバンドルIDを使用してアプリグループを作成します。たとえば、アプリのバンドルIDがcom.company.appnameの場合、アプリグループの名前をgroup.com.company.appname.xyzにできます。

アプリをアプリグループに追加しない場合、プッシュペイロードから特定のフィールドを取得できず、期待どおりに完全に動作しない可能性があります。
ステップ 3: アプリにPush Storiesフレームワークを追加する
Podfileに以下の行を追加します。
target 'YourAppTarget' do
pod 'BrazeKit'
pod 'BrazeUI'
pod 'BrazeLocation'
end
target 'YourNotificationContentExtensionTarget' do
pod 'BrazePushStory'
end
# Only include the below if you want to also integrate Rich Push
target 'YourNotificationServiceExtensionTarget' do
pod 'BrazeNotificationService'
end

Podfileを更新した後、ターミナルでXcodeアプリプロジェクトのディレクトリに移動し、pod installを実行します。
GitHubリリースページから最新のBrazePushStory.zipをダウンロードし、展開して、BrazePushStory.xcframeworkをプロジェクトのNotification Content Extensionに追加します。


Embed列でBrazePushStory.xcframeworkにDo Not Embedが選択されていることを確認してください。
ステップ 4: 通知ビューコントローラーを更新する
NotificationViewController.swiftで、以下の行を追加してヘッダーファイルをインポートします。
import BrazePushStory
次に、BrazePushStory.NotificationViewControllerを継承して、デフォルトの実装を置き換えます。
class NotificationViewController: BrazePushStory.NotificationViewController {}
Push Storiesイベントのカスタムハンドリング
Push Stories通知イベントを処理する独自のカスタムロジックを実装する場合は、前述の例のようにBrazePushStory.NotificationViewControllerを継承し、以下の例に示すようにdidReceiveメソッドをオーバーライドします。
import BrazePushStory
import UserNotifications
import UserNotificationsUI
class NotificationViewController: BrazePushStory.NotificationViewController {
override func didReceive(_ notification: UNNotification) {
super.didReceive(notification)
// Custom handling logic
}
override func didReceive(_ response: UNNotificationResponse, completionHandler completion: @escaping (UNNotificationContentExtensionResponseOption) -> Void) {
super.didReceive(response, completionHandler: completion)
// Custom handling logic
}
}
ステップ 5: 通知コンテンツ拡張のplistを設定する
Notification Content ExtensionのInfo.plistファイルを開き、NSExtension \ NSExtensionAttributesの下に以下のキーを追加・変更します。
| キー | タイプ | 値 |
|---|---|---|
UNNotificationExtensionCategory |
String | ab_cat_push_story_v2 |
UNNotificationExtensionDefaultContentHidden |
Boolean | YES |
UNNotificationExtensionInitialContentSizeRatio |
Number | 0.6 |
UNNotificationExtensionUserInteractionEnabled |
Boolean | YES |
さらに、同じInfo.plistファイルに以下のトップレベルのBraze辞書を追加し、REPLACE_WITH_APPGROUPをステップ 2で作成したアプリグループに置き換えます。
| キー | タイプ | 値 |
|---|---|---|
Braze.AppGroup |
String | REPLACE_WITH_APPGROUP |
Info.plistファイルは以下の画像と一致するはずです。

ステップ 6: メインアプリのBraze統合を更新する
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)
前提条件
この機能を使用する前に、Cordova Braze SDKを統合する必要があります。 プッシュ通知の設定も必要です。
Push Storiesの設定
ステップ 1: 通知コンテンツ拡張を作成する
Xcodeプロジェクトで、通知コンテンツ拡張を作成します。詳しい手順については、iOS Push Storiesチュートリアルを参照してください。
ステップ 2: プッシュアプリグループを設定する
プロジェクトのconfig.xmlファイルで、先ほど作成したプッシュアプリグループを設定します。
<preference name="com.braze.ios_push_app_group" value="NOTIFICATION_CONTENT_EXTENTION" />
PUSH_APP_GROUPをプッシュアプリグループの名前に置き換えます。config.xmlは以下のようになります。
<preference name="com.braze.ios_push_app_group" value="MyPushAppGroup" />
ステップ 3: 新しいターゲットを追加する
Podfileを開き、先ほど作成した通知コンテンツ拡張ターゲットにBrazePushStoryを追加します。重複シンボルエラーを回避するために、静的リンクを使用してください。
target 'NOTIFICATION_CONTENT_EXTENSION' do
use_frameworks! :linkage => :static
pod 'BrazePushStory'
end
NOTIFICATION_CONTENT_EXTENSIONを通知コンテンツ拡張の名前に置き換えます。Podfileは以下のようになります。
target 'MyAppNotificationContentExtension' do
use_frameworks! :linkage => :static
pod 'BrazePushStory'
end
ステップ 4: CocoaPodsの依存関係を再インストールする
ターミナルでiOSディレクトリに移動し、CocoaPodsの依存関係を再インストールします。
cd PATH_TO_PROJECT/platform/ios
pod install
この機能を使う前に、React Native Braze SDKを統合する必要があります。 プッシュ通知の設定も必要です。
Push Storiesの有効化
React Native SDKでは、Push Storiesはデフォルトで Android で利用可能です。
Expoを使用してiOSでPush Storiesを有効にするには、アプリケーションにアプリグループが定義されていることを確認してください。詳細については、アプリグループの追加を参照してください。
次に、enableBrazeIosPushStoriesプロパティをtrueに設定し、app.jsonのexpo.pluginsオブジェクト内でアプリグループIDをiosPushStoryAppGroupに割り当てます。
{
"expo": {
"plugins": [
[
"@braze/expo-plugin",
{
...
"enableBrazeIosPushStories": true,
"iosPushStoryAppGroup": "group.com.company.myApp.PushStories"
}
]
]
}
}
最後に、このアプリ拡張のバンドル識別子をプロジェクトの認証情報設定に追加します:<your-app-bundle-id>.BrazeExpoPushStories。このプロセスの詳細については、Expo Application Servicesでアプリ拡張を使用するを参照してください。

Expo Application ServicesでPush Storiesを使用している場合は、eas buildを実行する際にEXPO_NO_CAPABILITY_SYNC=1フラグを使用してください。コマンドラインには、拡張のプロビジョニングプロファイルからApp Groups機能を削除してしまう既知の問題があります。

