Skip to content

リッチプッシュ通知

Braze SDKのリッチプッシュ通知の設定方法を学習。

前提条件

この機能を使用する前に、Swift Braze SDKを統合する必要があります。 プッシュ通知の設定も必要だ。

リッチプッシュ通知の設定

ステップ1:サービス拡張の作成

通知 サービス拡張 を作成するには、Xコード でFile > New > Target に移動し、** 通知 サービス拡張** を選択します。

アプリケーションに拡張機能を埋め込むように [アプリケーションに埋め込む] が設定されていることを確認します。

ステップ2:通知 保守拡張機能のセットアップ

通知サービスエクステンションは、アプリにバンドルされている独自のバイナリーです。Apple Developer Portalで独自のアプリIDとプロビジョニングプロファイルを設定する必要がある。

通知サービス拡張機能のバンドル ID は、メインアプリターゲットのバンドル ID とは異なる必要があります。たとえば、アプリのバンドル ID が com.company.appname の場合、サービス拡張に com.company.appname.AppNameServiceExtension を使用できます。

ステップ3:豊富なプッシュ通知の統合

リッチプッシュ通知s とBrazeNotificationService の統合に関するステップガイドについては、チュートリアル を参照してください。

サンプルを確認するには、サンプルアプリのNotificationService の使用法を参照してください。

アプリへのリッチプッシュフレームワークの追加

Swift Package Manager の統合ガイドに従って、以下を実行して BrazeNotificationServiceNotification Service Extension に追加します。

  1. Xコードでは、フレームワークとライブラリの下で、追加アイコンを選択してフレームワークを追加します。

    プラスアイコンは、Xcode のフレームワークとライブラリの下にあります。

  2. “BrazeNotificationService”フレームワークを選択します。

    開いたモーダルで「BrazeNotificationService」フレームワークを選択できます。

以下を 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 'YourNotificationServiceExtensionTarget' do
  pod 'BrazeNotificationService'
end

# Only include the below if you want to also integrate Push Stories
target 'YourNotificationContentExtensionTarget' do
  pod 'BrazePushStory'
end

Podfile を更新したら、ターミナル内で Xcode アプリプロジェクトのディレクトリーに移動し、pod install を実行します。

BrazeNotificationService.xcframeworkNotification Service Extension に追加するには、手動統合 を参照してください。

独自のUNNotificationServiceExtensionの使用

独自のUNNotificationServiceExtension を使用する必要がある場合は、didReceive メソッドでbrazeHandle を呼び出すことができます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import BrazeNotificationService
import UserNotifications

class NotificationService: UNNotificationServiceExtension {

  override func didReceive(
    _ request: UNNotificationRequest,
    withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void
  ) {
    if brazeHandle(request: request, contentHandler: contentHandler) {
      return
    }

    // Custom handling here

    contentHandler(request.content)
  }
}

ステップ4: ダッシュボードでリッチプッシュ通知を作成する

マーケティングチームは、ダッシュボードからリッチプッシュ通知を作成することもできます。プッシュコンポーザーを介してプッシュ通知を作成し、単に画像または GIF を添付するか、画像、GIF、または動画をホストする URL を指定します。アセットはプッシュ通知の受信時にダウンロードされるため、コンテンツをホスティングしている場合は、要求が大規模に同期的に急増することを想定する必要があります。

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 rich push notifications

Step 1: Create a notification service extension

In your Xcode project, create a notification service extension. For a full walkthrough, see iOS Rich Push Notifications Tutorial.

Step 2: Add a new target

Open your Podfile and add BrazeNotificationService to the notification service extension target you just created. If BrazeNotificationService is already added to a target, remove it before continuing. To avoid duplicate symbol errors, use static linking.

1
2
3
4
target 'NOTIFICATION_SERVICE_EXTENSION' do
  use_frameworks! :linkage => :static
  pod 'BrazeNotificationService'
end

Replace NOTIFICATION_SERVICE_EXTENSION with the name of your notification service extension. Your Podfile should be similar to the following:

1
2
3
4
target 'MyAppRichNotificationService' do
  use_frameworks! :linkage => :static
  pod 'BrazeNotificationService'
end

Step 3: Reinstall your CocoaPods dependencies

In the terminal, go to your project’s 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. You’ll also need to set up push notifications.

Using Expo to enable rich push notifications

For the React Native SDK, rich push notifications are available for Android by default.

To enable rich push notifications on iOS using Expo, configure the enableBrazeIosRichPush property to true in your expo.plugins object in app.json:

1
2
3
4
5
6
7
8
9
10
11
12
13
{
  "expo": {
    "plugins": [
      [
        "@braze/expo-plugin",
        {
          ...
          "enableBrazeIosRichPush": true
        }
      ]
    ]
  }
}

Lastly, add the bundle identifier for this app extension to your project’s credentials configuration: <your-app-bundle-id>.BrazeExpoRichPush.

「このページはどの程度役に立ちましたか?」
New Stuff!