プッシュ通知ストーリー
Braze SDK のプッシュストーリーを設定する方法について説明します。
Prerequisites
Before you can use this feature, you’ll need to integrate the Cordova Braze SDK. set up push notifications も必要です。これにはUNNotification
フレームワークの実装も含まれます。
プッシュストーリーを受信するには、以下のSDKバージョンが必要である:
プッシュストーリーの設定
ステップ1:通知コンテンツ拡張ターゲットを追加する{#notification-content-extension}
アプリ・プロジェクトで、メニュー「ファイル」>「新規作成」>「ターゲット」と進み、新しいNotification Content Extension
・ターゲットを追加してアクティブにする。
Xcode によって新しいターゲットが生成され、次のようなファイルが自動的に作成されるはずです。
NotificationViewController.swift
MainInterface.storyboard
ステップ2:機能を有効にする
Xcode で、[署名 & 機能] ペインを使ってメインアプリのターゲットにバックグラウンドモード機能を追加します。バックグラウンドフェッチとリモート通知の両方のチェックボックスを選択します。
アプリグループの追加
さらに、Xcode の [署名 & 機能] ペインから、アプリグループ機能をメインアプリターゲットと通知コンテンツ拡張ターゲットに追加します。次に、+ボタンをクリックする。アプリのバンドル 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)
Prerequisites
Before you can use this feature, you’ll need to integrate the Cordova Braze SDK. You’ll also need to set up push notifications.
Setting up push stories
Step 1: Create a notification content extension
In your Xcode project, create a notification content extension. For a full walkthrough, see iOS Push Stories Tutorial.
Step 2: Configure your push app group
In your project’s config.xml
file, configure the push app group you just created.
1
<preference name="com.braze.ios_push_app_group" value="NOTIFICATION_CONTENT_EXTENTION" />
Replace PUSH_APP_GROUP
with the name of your push app group. Your config.xml
should be similar to the following:
1
<preference name="com.braze.ios_push_app_group" value="MyPushAppGroup" />
Step 3: Add a new target
Open your Podfile and add BrazePushStory
to the notification content extension target you created previously. To avoid duplicate symbol errors, use static linking.
1
2
3
4
target 'NOTIFICATION_CONTENT_EXTENSION' do
use_frameworks! :linkage => :static
pod 'BrazePushStory'
end
Replace NOTIFICATION_CONTENT_EXTENSION
with the name of your notification content extension. Your Podfile should be similar to the following:
1
2
3
4
target 'MyAppNotificationContentExtension' do
use_frameworks! :linkage => :static
pod 'BrazePushStory'
end
Step 4: Reinstall your CocoaPods dependencies
In the terminal, go to your iOS directory and reinstall your CocoaPod dependencies.
1
2
cd PATH_TO_PROJECT/platform/ios
pod install
Prerequisites
Before you can use this feature, you’ll need to integrate the 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機能が削除される。