コンテンツにスキップ

プッシュ通知ストーリー

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

前提条件

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

Push Storiesを受信するには、以下の最小SDKバージョンが必要です。

Push Storiesの設定

ステップ 1: 通知コンテンツ拡張ターゲットを追加する

アプリプロジェクトで、メニューのFile > New > Targetに移動し、新しいNotification Content Extensionターゲットを追加してアクティベートします。

Push Stories用の通知コンテンツ拡張を作成するXcodeターゲットピッカー

Xcodeが新しいターゲットを生成し、以下のファイルを自動的に作成します。

  • NotificationViewController.swift
  • MainInterface.storyboard

ステップ 2: 機能を有効にする

Xcodeで、メインアプリターゲットのSigning & Capabilitiesペインを使用してBackground Modes機能を追加します。Background fetchとRemote notificationsの両方のチェックボックスを選択します。

Xcodeでバックグラウンドモード機能を有効にする設定画面

アプリグループの追加

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

アプリをアプリグループに追加しない場合、プッシュペイロードから特定のフィールドを取得できず、期待どおりに完全に動作しない可能性があります。

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

Swift Package Manager統合ガイドに従った後、Notification Content ExtensionにBrazePushStoryを追加します。

Xcodeのフレームワークとライブラリで「+」アイコンを選択してフレームワークを追加する画面

通知コンテンツ拡張ターゲットにBrazePushStoryを追加するXcodeパッケージ製品選択画面

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

BrazePushStory.xcframeworkが「Do Not Embed」選択で追加されたXcodeフレームワーク設定

ステップ 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ファイルは以下の画像と一致するはずです。

Brazeプッシュストーリーキーとアプリグループ設定が含まれる通知コンテンツ拡張の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でアプリ拡張を使用するを参照してください。

New Stuff!