リッチプッシュ通知
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 の統合ガイドに従って、以下を実行して BrazeNotificationService
を Notification Service Extension
に追加します。
-
Xコードでは、フレームワークとライブラリの下で、追加アイコンを選択してフレームワークを追加します。
-
“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.xcframework
をNotification 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
.