SDK Androidインテグレーション
このリファレンス記事では、Unity プラットフォームのAndroid SDKインテグレーションについて説明します。Braze を Unity アプリケーションで実行するには、以下の指示に従ってください。
ステップ1:Braze Unity パッケージの選択
Braze .unitypackage
は、Android プラットフォームと iOS プラットフォーム向けのネイティブバインディングを C# インターフェイスとともにバンドルします。
Braze Unity リリースページでいくつかの Braze Unity パッケージをダウンロードできます。
Appboy.unitypackage
- このパッケージは、Braze Android および iOS SDK と、iOS SDK の SDWebImage 依存関係をバンドルします。これは、Braze アプリ内メッセージングと、iOS 上のコンテンツカード機能を適切に機能させるために必要です。SDWebImage フレームワークは、GIF を含む画像のダウンロードと表示に使用されます。完全なBraze機能を使用する場合は、このパッケージを読み込むしてインポートします。
Appboy-nodeps.unitypackage
- このパッケージは
Appboy.unitypackage
に似ていますが、SDWebImage フレームワークが存在しない点が異なります。このパッケージは、iOS アプリに SDWebImage フレームワークが存在しないようにする場合に便利です。
- このパッケージは
iOS:iOS プロジェクトのSDWebImage 依存関係が必要かどうかを確認するには、[iOS in-app message documentation] を参照してください。/docs/ja/developer_guide/platform_integration_guides/android/in-app_messaging/integration/).
Android:Unity 2.6.0 以降、バンドルされた Braze Android SDK アーティファクトには AndroidX 依存関係が必要です。以前にjetified unitypackage
を使用していた場合は、対応するunitypackage
に安全に移行できます。
ステップ2:パッケージをインポートする
Unity エディターで Unity プロジェクトにパッケージをインポートするには、[アセット] > [パッケージをインポート] > [カスタムパッケージ] の順に移動します。次に、Importをクリックします。
または、カスタム Unity パッケージのインポートに関して詳しくは、Unity アセットパッケージのインポートの説明を参照してください。
iOS またはAndroid プラグインのみをインポートする場合は、Braze.unitypackage
をインポートするときにPlugins/Android
またはPlugins/iOS
サブディレクトリの選択を解除します。
ステップ3:AndroidManifest.xml を更新する
Android Unity プロジェクトでは、アプリケーションを実行するために AndroidManifest.xml
が必要です。さらに、Braze が機能するには、AndroidManifest.xml
にいくつかの追加が必要です。
AndroidManifest.xml の設定
アプリにAndroidManifest.xml
がない場合は、以下をテンプレートとして使用できます。それ以外の場合、すでにAndroidManifest.xml
がある場合は、次のいずれかの欠落セクションが既存のAndroidManifest.xml
に追加されていることを確認します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="REPLACE_WITH_YOUR_PACKAGE_NAME">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:icon="@drawable/app_icon"
android:label="@string/app_name">
<!-- Calls the necessary Braze methods to ensure that analytics are collected and that push notifications are properly forwarded to the Unity application. -->
<activity android:name="com.braze.unity.BrazeUnityPlayerActivity"
android:theme="@style/UnityThemeSelector"
android:label="@string/app_name"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
android:screenOrientation="sensor">
<meta-data android:name="android.app.lib_name" android:value="unity" />
<meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- A Braze specific FirebaseMessagingService used to handle push notifications. -->
<service android:name="com.braze.push.BrazeFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
</application>
</manifest>
AndroidManifest.xml
はAssets/Plugins/Android/AndroidManifest.xml
の下に存在する必要があります。詳細については、Unity OMAnifest ドキュメントを参照してください。
AndroidManifest.xml
に登録されているすべてのアクティビティクラスは、Braze Android SDK と完全に統合されている必要があります。独自のアクティビティクラスを追加する場合は、Unity アクティビティ統合手順に従って、分析が収集されるようにする必要があります。
最終的なAndroidManifest.xml
には、"android.intent.category.LAUNCHER"
が存在する単一のアクティビティのみを含める必要があります。
AndroidManifest.xmlをパッケージ名で更新します
パッケージ名を確認するには、[ファイル] > [ビルド設定] > [プレーヤー設定] > [Android タブ]を選択します。
AndroidManifest.xml
では、REPLACE_WITH_YOUR_PACKAGE_NAME
のすべてのインスタンスを前のステップの Package Name
に置き換える必要があります。
ステップ4: グレードル依存関係の追加
Unityプロジェクトにグレードル依存関係を追加するには、まず、公開設定で“Custom Main Gradle Template”を有効にします。これにより、プロジェクトで使用するテンプレートグラドルファイルが作成されます。gradle ファイルは、依存関係の設定やその他のビルド時のプロジェクト設定を処理します。詳細については、Braze Unity サンプルアプリのmainTemplate.gradle を参照してください。
次の依存関係が必要です。
1
2
3
4
5
6
implementation 'com.google.firebase:firebase-messaging:22.0.0'
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
implementation "androidx.recyclerview:recyclerview:1.2.1"
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.6.0"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1"
implementation 'androidx.core:core:1.6.0'
これらの依存関係は、External Dependency Managerを使用して設定することもできます。
ステップ5:SDK の設定
Braze は、Unity Android 統合を自動化するためのネイティブ Unity ソリューションを提供しています。
- Unity エディターで [Braze] > [Braze 構成] の順に移動して、[Braze 構成設定] を開きます。
- [Unity Android 統合の自動化] ボックスにチェックマークを入れます。
- Braze API キーフィールドで、設定の管理にあるアプリアプリケーションのAPI キーをBraze ダッシュボードから入力します。
手動で作成した braze.xml
ファイルでは、プロジェクトのビルド中に設定値が競合する可能性があるため、この自動統合は使用しないでください。手動のbraze.xml
が必要な場合は、自動統合を無効にします。
基本的な SDK 統合の完了
Braze はアプリケーションからデータを収集しており、基本的な統合は完了しているはずです。プッシュ統合の詳細については、次の記事を参照してください。AndroidとiOS、アプリ内メッセージs、コンテンツカード。
高度なSDKインテグレーションオプションについては、高度なインプリメンテーションを参照してください。