Android SDK 統合ガイド
このページでは、Rokt Ecommerce の Android SDK を実装して、チェックアウト時により関連性のある顧客体験を提供する方法を説明します。SDK により、設定されたページで発火してこれらの体験をトリガーおよび追跡し、ユーザーやトランザクションのデータを Rokt に返し、パーソナライズと測定を行うことができます(たとえば確認ページにオファーを表示するなど)。
専任のアカウント担当者が、Android SDK 用にアカウントを設定する手助けをします。彼らは SDK を初期化するために必要な key および secret と、顧客に最も関連性の高い体験を提供するために必要な追加リソースを提供します。
これらの手順を完了するには、開発リソースが必要です。追加の支援が必要な場合は、Rokt のアカウントマネージャーにご連絡ください。Shopify ストアは、Rokt Ecommerce アプリ を使用して数秒で Rokt プレースメントを設定できます — コーディングは不要です!
1. 依存関係を追加する
SDKに必要な依存関係を含めるようにgradleファイルを更新します:
- build.gradle.kts
- build.gradle
dependencies {
implementation("com.mparticle:android-rokt-kit:5.70.2")
implementation("com.mparticle:android-core:5.70.2")
}
dependencies {
implementation "com.mparticle:android-rokt-kit:5.70.2"
implementation "com.mparticle:android-core:5.70.2"
}
2. アプリでSDKを初期化する
Android SDKは、Application
クラスのonCreate()
で、MParticleOptions
オブジェクトとビルダークラスを使用して構成できます。 mParticle Android SDKは、他のSDK APIコールが行われる前に初期化される必要があります。
上記のコードサンプルでyour-key
とyour-secret
を、あなたの専任のRoktアカウント担当者から提供されたキーとシークレットに置き換えてください。
- Kotlin
- Java
import com.mparticle.MParticle
import com.mparticle.MParticleOptions
class YourApplicationClass : Application() {
override fun onCreate() {
super.onCreate()
// 現在のユーザーを識別する:
// ユーザーのメールアドレスがない場合は、null値を渡すことができます
val identifyRequest = IdentityApiRequest.withEmptyUser()
// ハッシュされていないメールアドレスを使用している場合は、'email'に設定します。
.email("j.smith@example.com")
.build()
// ユーザーがメールアドレスで識別された場合、追加のユーザー属性を設定します。
val identifyTask = BaseIdentityTask()
.addSuccessListener { identityApiResult ->
val user = identityApiResult.user
user.setUserAttribute("example attribute key", "example attribute value")
}
val options: MParticleOptions = MParticleOptions.builder(this)
.credentials(
"your-key", // あなたのRoktアカウント担当者から提供されたキー
"your-secret" // Roktアカウント担当者によって提供された秘密
).environment(MParticle.Environment.Development) // 環境を指定します:
// .development を選択すると、統合のテスト中です。
// .production を選択すると、統合は本番データに対応しています。
// デフォルトは .autoDetect で、自動的に環境を検出しようとします
.build()
MParticle.start(options)
}
}
import com.mparticle.MParticle;
import com.mparticle.MParticleOptions;
public class YourApplicationClass extends Application {
@Override
public void onCreate() {
super.onCreate();
MParticleOptions options = MParticleOptions.builder(this)
.configuration(kitOptions)
.credentials(
"your-key", // Roktアカウント担当者によって提供されたキー
"your-secret" // Roktアカウント担当者によって提供された秘密
).environment(MParticle.Environment.Production).build(); // 環境を指定します:
// .development を選択すると、統合のテスト中です。
// .production を選択すると、統合は本番データに対応しています。
// デフォルトは .autoDetect で、自動的に環境を検出しようとします
// 現在のユーザーを識別します:
IdentityApiRequest identifyRequest = IdentityApiRequest.withEmptyUser()
// ユーザーのメールアドレスがない場合、null 値を渡すことができます
.email("j.smith@example.com").build();
// ユーザーがメールアドレスで識別されている場合、追加のユーザー属性を設定します。
BaseIdentityTask identifyTask = new BaseIdentityTask()
.addSuccessListener(new TaskSuccessListener() {
@Override
public void onSuccess(IdentityApiResult identityApiResult) {
MParticleUser user = identityApiResult.getUser();
user.setUserAttribute("example attribute key", "example attribute value");
}
});
MParticle.start(options);
}
}
your-key
と your-secret
を上記のコードサンプルで、あなた専用のRoktアカウント担当者から提供されたキーと秘密に置き換えることを確認してください。
ユーザーを識別する
SDKが初期化されるとき、現在のユーザーを識別して、収集されたデータが正しくそれらに帰属され、彼らの行動に基づいて最も関連性の高い広告が表示されるようにします。
SDKの初期化スクリプトには、identifyRequestというオブジェクトが含まれています:
- Kotlin
- Java
val identifyRequest = IdentityApiRequest.withEmptyUser()
.email("j.smith@example.com")
.build()
IdentityApiRequest identifyRequest = IdentityApiRequest.withEmptyUser()
.email("j.smith@example.com")
.build();
identifyRequest
内で、ユーザーのメールアドレスをemail
フィールドに渡します。
追加のユーザー属性を設定する
初期化スクリプトには、ユーザーがメールアドレスで正常に識別された場合に追加のユーザー属性を設定することができるコールバック関数が含まれています。
- Kotlin
- Java
val identifyTask = BaseIdentityTask()
.addSuccessListener { identityApiResult ->
val user = identityApiResult.user
user.setUserAttribute("example attribute key", "example attribute value")
}
BaseIdentityTask identifyTask = new BaseIdentityTask()
.addSuccessListener(new TaskSuccessListener() {
@Override
public void onSuccess(IdentityApiResult identityApiResult) {
MParticleUser user = identityApiResult.getUser();
user.setUserAttribute("example attribute key", "example attribute value");
}
});
フォントを使用した初期化
One Platformで希望のフォントを提供する代わりに、または追加で、アプリケーションに既にバンドルされているフォントを利用することを選択できます。これにより、初期化時にフォントをダウンロード する可能性を排除し、ネットワーク使用率を低減し、ダウンロードエラーの可能性を減少させる利点があります。アプリケーションの assets
ディレクトリにあるフォントリソースを使用するか、独自の Typeface
オブジェクトを渡すことを選択できます。
フォントアセットの使用
アプリケーションの assets
ディレクトリに保存されたフォントを利用することができます。このために、init
メソッドにフォントのポストスクリプト名をアセットディレクトリ内のファイルパスにマップするマップを渡すことができます(アセットディレクトリはルートディレクトリ)。ポストスクリプト名はレイアウトで使用されているものと一致する必要がありますので、わからない場合はアカウントマネージャーに確認してください。
- Java
- Kotlin
import com.mparticle.MParticle
import com.mparticle.MParticleOptions
class YourApplication : Application() {
override fun onCreate() {
...
val options: MParticleOptions = MParticleOptions.builder(this)
.credentials(
"your-key", // Roktアカウント担当者によって提供されたキー
"your-secret" // Roktアカウント担当者によって提供されたシークレット
).environment(MParticle.Environment.Development) // データ環境を指定します:
.roktOptions(RoktOptions(fontFilePathMap = mapOf("Arial-Bold" to "fonts/arialbold.otf")))
.build()
MParticle.start(options)
...
}
}
import com.mparticle.MParticle;
import com.mparticle.MParticleOptions;
public class YourApplication extends Application {
@Override
public void onCreate() {
...
Map<String, String> fontFilePathMap = new HashMap<>();
fontFilePathMap.put("Arial-Bold", "fonts/arialbold.otf");
MParticleOptions options = MParticleOptions.builder(this)
.credentials(
"your-key", // Roktアカウント担当者によって提供されたキー
"your-secret" // あなたのRoktアカウント担当者から提供されたシークレ ット
)
.environment(MParticle.Environment.Development) // 環境を指定するにはenvironment:
.roktOptions(new RoktOptions(fontFilePathMap))
.build();
MParticle.start(options);
...
}
}
3. ユーザーを識別する
SDKが初期化された後にユーザーがメールアドレスを提供するたびに(例えば、ログインや購入時)、identifyメソッドを呼び出して、そのメールをRoktに渡す必要があります。これにより、データが現在のユーザーに正しく関連付けられます。