プッシュ通知ストーリー
プッシュストーリーでは、マーケターが写真の回転機能を使用してプッシュ通知内の一連のページを作成できます。これらのページは、画像、クリックアクション、タイトル、説明文で構成されている。
iOSアプリにプッシュストーリーズを設定するには、標準的なプッシュ通知を統合する以外にも、この記事で説明する追加のステップが必要だ。
前提条件
プッシュストーリーを受信するには、以下のSDKバージョンが必要である:
プッシュ通知統合のチュートリアルに従って、アプリでプッシュを有効にしていることを確認する。このタスクの一環として、この機能に必要な UNNotification
フレームワークを実装しておく必要があります。
ステップ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フレームワークを追加する
Swift Package Manager の統合ガイドに従って、BrazePushStory
を Notification Content Extension
に追加します。
次の行を 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)