プッシュ通知ストーリー
Braze SDK のプッシュストーリーを設定する方法について説明します。
前提条件
この機能を使う前に、Swift Braze SDKを統合する必要がある。 プッシュ通知の設定も必要で、これにはUNNotification フレームワークの実装も含まれる。
プッシュストーリーを受信するには、以下のSDKの最低バージョンが必要である:
プッシュストーリーの設定
ステップ 1: 通知コンテンツ拡張ターゲットを追加する{#notification-content-extension}
アプリ・プロジェクトで、メニュー「ファイル」>「新規作成」>「ターゲット」と進み、新しいNotification Content Extension ・ターゲットを追加してアクティブにする。

Xcode によって新しいターゲットが生成され、次のようなファイルが自動的に作成されるはずです。
NotificationViewController.swiftMainInterface.storyboard
ステップ2:機能を有効にする
Xcodeで、メインアプリターゲットのSigning& Capabilitiesペインを使用して、Background Modesケイパビリティを追加する。バックグラウンドフェッチとリモート通知の両方のチェックボックスを選択します。

アプリグループの追加
さらに、Xcode のSigning& Capabilitiesペインから、Notification Content Extension ターゲットと同様に、メインアプリターゲットに App Groups ケーパビリティを追加する。次に、+ボタンをクリックする。アプリのバンドル ID を使用してアプリグループを作成します。たとえば、アプリのバンドル ID が com.company.appname の場合、アプリグループに group.com.company.appname.xyz という名前を付けることができます。
ここでいうApp Groupsとは、AppleのApp Groups Entitlementのことであり、Brazeのワークスペース(旧App Group)IDのことではない。
アプリをアプリグループに追加しないと、アプリがプッシュペイロードからの特定のフィールドの入力に失敗し、期待したとおりに完全に動作しない可能性があります。
ステップ3:アプリにPush Storyフレームワークを追加する
Podfile に次の行を追加します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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 に追加します。

[埋め込み] 列の下で、BrazePushStory.xcframework に対して [埋め込まない] が選択されていることを確認します。
ステップ4: 通知ビューコントローラーを更新する{#enable-capabilities}
NotificationViewController.swift に以下の行を追加し、ヘッダーファイルをインポートする:
1
import BrazePushStory
次に、BrazePushStory.NotificationViewController を継承してデフォルトの実装を置き換えます。
1
class NotificationViewController: BrazePushStory.NotificationViewController {}
プッシュストーリーイベントのカスタム処理
独自のカスタムロジックを実装してプッシュストーリー通知イベントを処理する場合は、上記のように BrazePushStory.NotificationViewController を継承し、以下のように didReceive メソッドをオーバーライドします。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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}
Notification Content Extension のInfo.plist ファイルを開き、NSExtension \ NSExtensionAttributes の下に以下のキーを追加・変更する:
| キー | タイプ | 値 |
|---|---|---|
UNNotificationExtensionCategory |
string | ab_cat_push_story_v2 |
UNNotificationExtensionDefaultContentHidden |
ブール値 | YES |
UNNotificationExtensionInitialContentSizeRatio |
数値 | 0.6 |
UNNotificationExtensionUserInteractionEnabled |
ブール値 | YES |
あなたのInfo.plist ファイルは、以下の画像と一致するはずだ:

ステップ 6: メインアプリでの Braze 統合の更新{#update-braze}
Brazeを初期化する前に、アプリグループの名前をBraze設定の push.appGroupプロパティに割り当てる。
1
2
3
4
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を統合する必要がある。 プッシュ通知の設定も必要だ。
プッシュストーリーの設定
ステップ 1: 通知コンテンツ拡張機能を作成する
Xcode プロジェクトで、通知コンテンツ拡張機能を作成します。完全なウォークスルーについては、「iOS プッシュ通知ストーリーのチュートリアル」を参照してください。
ステップ 2:プッシュ通知アプリグループを構成する
プロジェクトの config.xml ファイルで、先ほど作成したプッシュ通知アプリグループを構成します。
1
<preference name="com.braze.ios_push_app_group" value="NOTIFICATION_CONTENT_EXTENTION" />
PUSH_APP_GROUP をプッシュ通知アプリグループの名前で置き換えます。config.xml は次のようになります。
1
<preference name="com.braze.ios_push_app_group" value="MyPushAppGroup" />
ステップ 3:新しいターゲットを追加する
Podfile を開き、先に作成した通知コンテンツ拡張機能のターゲットに BrazePushStory を追加します。シンボルの重複エラーを防ぐため、静的リンクを使用します。
1
2
3
4
target 'NOTIFICATION_CONTENT_EXTENSION' do
use_frameworks! :linkage => :static
pod 'BrazePushStory'
end
NOTIFICATION_CONTENT_EXTENSION を通知コンテンツ拡張機能の名前で置き換えます。Podfile は次のようになります。
1
2
3
4
target 'MyAppNotificationContentExtension' do
use_frameworks! :linkage => :static
pod 'BrazePushStory'
end
ステップ 4:CocoaPods の依存関係を再インストールする
ターミナルで、iOS ディレクトリに移動し、CocoaPod の依存関係を再インストールします。
1
2
cd PATH_TO_PROJECT/platform/ios
pod install
前提条件
この機能を使う前に、React Native Braze SDKを統合する必要がある。 プッシュ通知の設定も必要だ。
プッシュストーリーのイネーブルメント
React Native SDKでは、プッシュストーリーはデフォルトでAndroidで利用できる。
Expoを使ってiOSでプッシュストーリーズを有効にするには、アプリケーションにアプリグループが定義されていることを確認する。詳細については、アプリグループの追加を参照してください。
次に、enableBrazeIosPushStories プロパティを true に構成し、app.json の expo.plugins オブジェクトの iosPushStoryAppGroup にアプリグループ ID を割り当てます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"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機能が削除される。


GitHub でこのページを編集