Skip to content

サイレントプッシュ通知

Braze SDKのサイレントプッシュ通知の設定方法を学習する。

前提条件

この機能を使用する前に、Android Braze SDKを統合する必要があります。 You’ll also need to set up push notifications.

Setting up silent push notifications

Silent notifications are available through the Braze Messaging API. To take advantage of them, you need to set the send_to_sync flag to true within the Android push object and ensure there are no title or alert fields set as it will cause errors when used alongside send_to_sync—however, you can include data extras within the object.

前提条件

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

iOSの制限

iOS オペレーティングシステムは、一部の機能の通知をゲートする場合があります。これらの機能で問題が発生している場合は、iOS のサイレント通知ゲートが原因である可能性があることに注意してください。詳細については、アップルのインスタンスメソッドと 未受信通知のドキュメントを参照のこと。

サイレント・プッシュ通知を設定する

サイレント・プッシュ通知を使用してバックグラウンド作業をトリガーするには、アプリがバックグラウンドでも通知を受け取れるように設定する必要がある。これを行うには、Xcode で、[署名 & 機能] ペインを使ってメインアプリのターゲットにバックグラウンドモード機能を追加します。リモート通知チェックボックスを選択する。

Xcode の [機能] の下に [リモート通知] モードのチェックボックスが表示されています。

リモート通知バックグラウンドモードが有効になっている場合でも、ユーザーがアプリケーションを強制終了した場合、システムはアプリをバックグラウンドで起動しません。システムによってアプリがバックグラウンドで自動的に起動される前に、ユーザーはアプリケーションを明示的に起動するか、デバイスを再起動する必要があります。

詳細については、[バックグラウンド更新のプッシュ] および application:didReceiveRemoteNotification:fetchCompletionHandler: [ドキュメント] を参照してください。

サイレントプッシュ通知の送信

サイレントプッシュ通知を送信するには、プッシュ通知ペイロードで content-available フラグを 1 に設定します。

content-available フラグは、Braze ダッシュボードおよびメッセージング APIApple プッシュオブジェクト内で設定できます。

プッシュコンポーザーの [設定] タブにある [利用可能なコンテンツ] チェックボックスを表示する Braze ダッシュボード。

サイレント プッシュ通知を送信する場合、アプリケーションがイベントを参照できるように、通知ペイロードにデータを含めることもできます。これにより、ネットワークリクエストがいくらか節約され、アプリの応答性が向上する可能性があります。

内部 プッシュ通知を無視する

Brazeは、サイレントプッシュ通知を使用して、アンインストール追跡やジオフェンスなどの特定の高度な機能を内部処理する。アプリの起動時やバックグラウンドプッシュ時に自動アクションを取る場合は、そのアクティビティが内部プッシュ通知によってトリガーされないようにゲーティングすることを検討する。

たとえば、バックグラウンドプッシュやアプリケーション起動のたびにサーバーに新しいコンテンツを要求するロジックがある場合、不必要なネットワークトラフィックを避けるために、Brazeの内部プッシュをトリガーしないようにしたい場合がある。Brazeは、ある種の内部プッシュを全ユーザーにほぼ同時に送信するため、内部プッシュからの起動時ネットワーク呼び出しがゲートされていない場合、サーバーに大きな読み込む負荷が発生する可能性がある。

ステップ1:アプリの自動アクションをチェックする

次の場所でアプリケーションの自動アクションを確認し、Braze の内部プッシュを無視するようにコードを更新します。

  1. プッシュレシーバー。バックグラウンドプッシュ通知により、UIApplicationDelegateapplication:didReceiveRemoteNotification:fetchCompletionHandler: が呼び出されます。
  2. アプリケーションデリゲート。バックグラウンドプッシュにより、中断されたアプリがバックグラウンドで起動し、UIApplicationDelegateapplication:willFinishLaunchingWithOptions: および application:didFinishLaunchingWithOptions: メソッドがトリガーされます。これらのメソッドの launchOptions をチェックして、アプリケーションがバックグラウンドプッシュから起動されたかどうかを判断できます。

ステップ2:内部プッシュ・ユーティリティ・メソッドを使用する

Braze.Notifications の静的ユーティリティメソッドを使用して、アプリが Braze の内部プッシュを受信したかを確認できます。Braze.Notifications.isInternalNotification(_:) はすべての Braze 内部プッシュ通知で true を返します。これには、アンインストール追跡、フィーチャーフラグ同期、ジオフェンス同期通知が含まれます。

以下に例を示します。

1
2
3
4
5
6
7
func application(_ application: UIApplication,
                 didReceiveRemoteNotification userInfo: [AnyHashable : Any],
                 fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
  if (!Braze.Notifications.isInternalNotification(userInfo)) {
    // Gated logic here (for example pinging server for content)
  }
}
1
2
3
4
5
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler {
  if (![BRZNotifications isInternalNotification:userInfo]) {
    // Gated logic here (for example pinging server for content)
  }
}

前提条件

この機能を使用する前に、Android Braze SDKを統合する必要があります。 You’ll also need to set up push notifications.

Setting up silent push notifications

Silent notifications are available through the Braze Messaging API. To take advantage of them, you need to set the send_to_sync flag to true within the Android push object and ensure there are no title or alert fields set as it will cause errors when used alongside send_to_sync—however, you can include data extras within the object.

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