Android SDK を初期化する
Rokt のパートナーは Android SDK を使用してオーバーレイまたは埋め込み配置を表示でき、Rokt ブランドはキャンペーンのコンバージョンを記録するためにそれを使用できます。Rokt Android SDK は Maven および Gradle を使用して展開されます。
Rokt の Android SDK には ProGuard ルールが含まれており、追加の設定は不要です。
SDK のすべてのユースケースは、同じ初期手順に従って統合および初期化されます。大まかに言うと、これらの手順は以下の通りです:
- ワークスペースを設定し、Rokt Gradle リポジトリを有効にする
- Rokt Placement プラグインを追加する
- Rokt Android SDK モジュールを追加する
- Rokt Android SDK を初期化する
これらの手順を実行した後、SDK の execute
メソッドをさまざまな方法で使用して、必要なユースケースに合わせることができます。
始める前に
このガイドは、Gradle に精通しており、Android 開発用のプラグインをインストールする方法を知っていることを前提としています。
Android SDK のセットアップ
- ワークスペースを設定し、Rokt Gradle リポジトリを有効にします。リポジトリを設定するには、Gradle の指示に従ってください。
- プロジェクトの
settings.gradle
ファイルに Rokt Widget プラグイン リポジトリ URL を追加します。
- Kotlin
- Groovy
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven("https://apps.rokt.com/msdk")
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven {
url "https://apps.rokt.com/msdk"
}
}
}
または、リポジトリ設定がトップレベルの build.gradle ファイルにある Gradle バージョン 7.0.0 以下を使用している場合は、build.gradle ファイルに次の内容を追加します。
- Kotlin
- Groovy
// file => build.gradle.kts (Project: ....)
allprojects {
repositories {
google()
mavenCentral()
maven("https://apps.rokt.com/msdk")
}
}
// file => build.gradle (Project: ....)
allprojects {
repositories {
google()
mavenCentral()
maven {
url "https://apps.rokt.com/msdk"
}
}
}
- (オプション)バージョンカタログを使用している場合は、
libs.versions.toml
(または他の命名カタログ)に Rokt Android SDK モジュールを追加します。
[versions]
roktsdk = "4.7.0"
[libraries]
roktsdk = { group = "com.rokt", name = "roktsdk", version.ref = "roktsdk" }
- モジュールの
build.gradle
に Rokt Android SDK モジュールを追加します。
バージョンカタログを使用する場合
- Kotlin
- Groovy
// ファイル => build.gradle.kts (モジュール: ...)
dependencies {
...
implementation(libs.roktsdk)
...
}
// ファイル => build.gradle (モジュール: ...)
dependencies {
...
implementation(libs.roktsdk)
...
}
バージョンカタログを使用しない場合
- Kotlin
- Groovy
// ファイル => build.gradle.kts (モジュール: ...)
dependencies {
...
implementation('com.rokt:roktsdk:4.7.0')
...
}
// ファイル => build.gradle (モジュール: ...)
dependencies {
...
implementation 'com.rokt:roktsdk:4.7.0'
...
}
- 任意のアクティビティでRokt SDKを使用する前に初期化してください。
LauncherActivity
クラスからinit
メソッドを呼び出すことをお勧めします。
アカウントに関連付けられたRoktアカウントIDを取得するには、Roktに連絡してください。統合テストには以下のRoktアカウントIDを使用できますが、本番環境での起動前にユニークなRoktアカウントIDに置き換える必要があります。
テストアカウントID: 222
- Java
- Kotlin
import com.rokt.roktsdk.Rokt
public class LauncherActivity: Activity {
override fun onCreate(savedInstanceState: Bundle?) {
...
// 以下にデモの統合が表示されます。自分の統合を確認するには:
// 1) 統合テストタグID (222) をユニークなRoktタグIDに置き換える
// 2) アプリケーションバージョンをY.Y.Yに置き換える
Rokt.init("222", "Y.Y.Y", this@LauncherActivity)
...
}
}
import com.rokt.roktsdk.Rokt;
public class LauncherActivity extends Activity {
override fun onCreate(savedInstanceState: Bundle?) {
...
// 次のコードはデモ統合を表示します。統合を表示するには:
// 1) 統合テストタグID (222) をあなたのユニークなRoktタグIDに置き換える
// 2) Y.Y.Yをアプリケーションのバージョンに置き換える
Rokt.INSTANCE.init("222", "Y.Y.Y", LauncherActivity.this)
...
}
}
フォントで初期化する
この機能はRokt Android SDKのバージョン4.2.0からサポートされています。
One Platformで希望のフォントを指定する代わりに、または加えて、アプリケーションにバンドルされているフォントを利用することを選択できます。これにより、初期化時にフォントがダウンロードされる可能性を排除し、ネットワークの利用を減らし、ダウンロードエラーの可能性を減らす利点があります。アプリケーションの assets
ディレクトリにあるフォントリソースを使用するか、独自の Typeface
オブジェクトを渡すことができます。
フォントアセットの利用
アプリケーションの assets
ディレクトリに保存されたフォントを利用できます。このためには、フォントのポストスクリプト名をアセットディレクトリ内のファイルパスにマッピングするマップを init
メソッドに渡すことができます(アセットディレクトリはルートディレクトリです)。ポストスクリプト名はレイアウトで使用されているものと一致する必要がありますが、不明な場合はアカウントマネージャーに確認してください。
- Java
- Kotlin
import com.rokt.roktsdk.Rokt
public class LauncherActivity: Activity {
override fun onCreate(savedInstanceState: Bundle?) {
...
Rokt.init(
"222",
"Y.Y.Y",
this@LauncherActivity,
fontFilePathMap = mapOf("Arial-Bold", "fonts/arialbold.otf")
)
...
}
}
import com.rokt.roktsdk.Rokt;
public class LauncherActivity extends Activity {
override fun onCreate(savedInstanceState: Bundle?) {
...
Map<String,String> fontFilePathMap = new HashMap<String, String>();
fontFilePathMap.put("Arial-Bold", "fonts/arialbold.otf");
Rokt.INSTANCE.init(
"222",
"Y.Y.Y",
LauncherActivity.this,
new HashSet<>(), // fontPostScriptNames can be empty
fontFilePathMap
);
...
}
}
フォント書体の使用
アプリケーションで作成したTypefaceオブジェクトを使用することもできます。このためには、フォントのポストスクリプト名のセットをinit
関数に渡し、後でTypefacesをexecute
関数に渡す必要があります(配置の追加で詳述されています)。
- Java
- Kotlin
import com.rokt.roktsdk.Rokt
public class LauncherActivity: Activity {
override fun onCreate(savedInstanceState: Bundle?) {
...
Rokt.init(
"222",
"Y.Y.Y",
this@LauncherActivity,
fontPostScriptNames = setOf("Arial-Bold")
)
...
}
}
import com.rokt.roktsdk.Rokt;
public class LauncherActivity extends Activity {
override fun onCreate(savedInstanceState: Bundle?) {
...
Set<String> fontPostScriptNames = new HashSet<String>();
fontFilePathMap.add("Arial-Bold");
Rokt.INSTANCE.init(
"222",
"Y.Y.Y",
LauncherActivity.this,
fontPostScriptNames
);
...
}
}
初期化ステータスの受信
バージョン 4.6.0
から、Rokt SDK は初期化のステータスを受信するための2つの方法を提供しています:
初期化時のオプションコールバック
Rokt.init
メソッド内にコールバックがあり、初期化が完了したときに通知し、ステータスを返します。
import com.rokt.roktsdk.Rokt
public class LauncherActivity: Activity {
override fun onCreate(savedInstanceState: Bundle?) {
...
Rokt.init("222",
"Y.Y.Y",
this@LauncherActivity,
callback = object : Rokt.RoktInitCallback {
override fun onInitComplete(success: Boolean) {
Log.d("Rokt", "received init completed $success")
}
},
)
...
}
}
グローバルイベント API
SDK は Rokt.globalEvents
API を通じて、ストリームとしてステータスを提供します。SDK ユーザーは、Kotlin Flow メカニズムを利用してステータスを消費できます。
// owner: LifecycleOwner
owner.lifecycleScope.launch {
Rokt.globalEvents().collect { event ->
if (event is RoktEvent.InitComplete)
Log.d("Rokt", "received init completed $event")
}
}
デバッグ
Rokt.setLoggingEnabled(enable = true)
APIを使用して、Rokt SDKからのデバッグログを有効にします。
次のステップ
その後のステップは、統合のユースケースによって異なります。詳細については、次のトピックを参照してください: