Skip to content

FireOS プッシュ統合

このリファレンス記事では、FireOS アプリケーションで Braze プッシュ通知を統合する方法について説明します。

プッシュ通知は、重要なアップデートが発生したときにユーザーの画面に表示されるアプリ外のアラートです。プッシュ通知は、時間的制約があって関連性の高いコンテンツをユーザーに提供したり、ユーザーをアプリに再エンゲージしたりするための効果的な方法です。

ADM (Amazon Device Messaging) は、Amazon 以外のデバイスではサポートされていません。Kindle プッシュをテストするには、FireOS デバイスが必要です。その他のベストプラクティスについては、ヘルプの生地を参照してください。

Braze は、Amazon Device Messaging (ADM) を使用して Amazon デバイスにプッシュ通知を送信します。

ステップ 1:ADM を有効にする

  1. まだ作成していない場合は、Amazon Apps & Games Developer Portal を使用してアカウントを作成します。
  2. OAuth 認証情報 (クライアント ID とクライアントシークレット) と ADM API キーを取得します。
  3. [Unity Braze 設定]ウィンドウで [自動 ADM 登録が有効] を有効にします。
    • または、res/values/braze.xml ファイルに次の行を追加して、ADM 登録を有効にすることもできます。
1
  <bool name="com_braze_push_adm_messaging_registration_enabled">true</bool>

ステップ2:AndroidManifest.xml を更新する

アプリのAndroidManifest.xml 、Amazonの名前空間を<>manifest</> タグに追加する:

1
  xmlns:amazon="http://schemas.amazon.com/apk/res/android"

次に、<>permission</> および<>uses-permission</> 要素を <>manifest</> element の後に追加して、ADM をサポートするために必要な権限を宣言します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:amazon="http://schemas.amazon.com/apk/res/android"
    package="[YOUR PACKAGE NAME]"
    android:versionCode="1"
    android:versionName="1.0">

  <!-- This permission verifies that no other application can intercept your ADM messages. -->
  <permission
    android:name="[YOUR PACKAGE NAME].permission.RECEIVE_ADM_MESSAGE"
    android:protectionLevel="signature" />
  <uses-permission android:name="[YOUR PACKAGE NAME].permission.RECEIVE_ADM_MESSAGE" />

   <!-- This permission allows your app access to receive push notifications from ADM. -->
  <uses-permission android:name="com.amazon.device.messaging.permission.RECEIVE" />

  <!-- ADM uses WAKE_LOCK to keep the processor from sleeping when a message is received. -->
  <uses-permission android:name="android.permission.WAKE_LOCK" />
    ...
  </manifest>

次に、amazon:enable-feature 要素をマニフェストのアプリケーション要素に追加することで、アプリがデバイスの ADM 機能を使用すること、およびデバイスに ADM が存在しない状態でアプリが機能を維持するように設計されていること (android:required="false") を宣言します。android:required"false" として設定しても安全です。これは、ADM がデバイスに存在しない場合、Braze ADM コードはグレースフルデグラデーションを行うためです。

1
2
3
4
5
6
7
8
  ...
  <application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">

    <amazon:enable-feature android:name="com.amazon.device.messaging" android:required="false"/>
  ...

最後に、Braze AndroidManifest.xml ファイル内の ADM から REGISTRATION および RECEIVE インテントを処理するインテントフィルターを追加します。amazon:enable-feature の直後に、以下の要素を追加します。

1
2
3
4
5
6
7
8
9
10
11
    <receiver
      android:name="com.braze.push.BrazeAmazonDeviceMessagingReceiver"
      android:exported="true"
      android:permission="com.amazon.device.messaging.permission.SEND">
      <intent-filter>
        <action android:name="com.amazon.device.messaging.intent.RECEIVE" />
        <action android:name="com.amazon.device.messaging.intent.REGISTRATION" />

        <category android:name="${applicationId}" />
      </intent-filter>
    </receiver>

ステップ 3:ADM API キーを保存する

まず、ADM API キーを api_key.txt という名前のファイルに保存し、ファイルをプロジェクトの [Assets/Plugins/Android/assets][54] フォルダーに保存します。次に、アプリの ADM API キーを取得します

Amazon は、末尾の改行などの空白文字が api_key.txt に含まれている場合、キーを認識しません。

ステップ 4:ディープリンクを追加する

ディープリンクの自動オープンを有効にする

プッシュ通知がクリックされたときに Braze がアプリとディープリンクを自動的に開くようにするには、braze.xmlcom_braze_handle_push_deep_links_automaticallytrue に設定します。

1
<bool name="com_braze_handle_push_deep_links_automatically">true</bool>

ディープリンクをカスタムで処理する場合は、Braze からのプッシュ受信およびオープンインテントをリッスンするプッシュコールバックを作成する必要があります。詳細については、Android のプッシュに関するドキュメントの [カスタム処理のプッシュ受信およびオープン] を参照してください。

ステップ5: Braze ダッシュボードにクライアントシークレットとクライアントID を追加する

最後に、ステップ 1 で取得したクライアントシークレットとクライアント ID を Braze ダッシュボードの [設定の管理] ページに追加する必要があります。

手動プッシュ登録

Brazeは手動登録の使用を推奨していないが、ADM登録を自分で処理する必要がある場合は、以下のように braze.xml:

1
2
<!-- This will disable automatic registration for ADM via the Braze SDK-->
<bool name="com_braze_push_adm_messaging_registration_enabled">false</bool>

次に Braze.setRegisteredPushToken()を使って、ユーザーのADMregistration_id をBrazeに渡す:

1
Braze.getInstance(context).setRegisteredPushToken(registration_id);
1
Braze.getInstance(context).registeredPushToken = registration_id

ADM の extra

ユーザーは、ディープリンク、URL トラッキングなどのための extras として、Kindle プッシュメッセージでカスタムのキーと値のペアを送信できます。Android プッシュとは異なり、Kindle プッシュのユーザーは、extra キーと値のペアを定義するときに、Braze の予約キーをキーとして使用しないことがあります。

予約キーには以下が含まれます。

  • _ab
  • a
  • cid
  • p
  • s
  • t
  • ttl
  • uri

Kindle 予約キーが検出されると、Braze は Status Code 400: Kindle Push Reserved Key Used を返します。

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