Skip to content

プッシュ通知ストーリー

Braze SDK のプッシュストーリーを設定する方法について説明します。

前提条件

この機能を使う前に、Swift Braze SDKを統合する必要がある。 プッシュ通知の設定も必要で、これにはUNNotification フレームワークの実装も含まれる。

プッシュストーリーを受信するには、以下のSDKの最低バージョンが必要である:

プッシュストーリーの設定

ステップ 1: 通知コンテンツ拡張ターゲットを追加する{#notification-content-extension}

アプリ・プロジェクトで、メニュー「ファイル」>「新規作成」>「ターゲット」と進み、新しいNotification Content Extension ・ターゲットを追加してアクティブにする。

Xcode によって新しいターゲットが生成され、次のようなファイルが自動的に作成されるはずです。

  • NotificationViewController.swift
  • MainInterface.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 という名前を付けることができます。

アプリをアプリグループに追加しないと、アプリがプッシュペイロードからの特定のフィールドの入力に失敗し、期待したとおりに完全に動作しない可能性があります。

ステップ3:アプリにPush Storyフレームワークを追加する

Swift Package Manager の統合ガイドに従って、BrazePushStoryNotification Content Extension に追加します。

Xcodeのフレームワークとライブラリーの下にある "+"アイコンを選択し、フレームワークを追加する。

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 に追加します。

ステップ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 ExtensionInfo.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.jsonexpo.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 でアプリ拡張機能を使用するを参照してください。

New Stuff!