Android SDK の初期化
Rokt のパートナーは、Android SDK を使用してオーバーレイまたは埋め込みプレースメントを表示することができ、Rokt ブランドは、キャンペーンのコンバージョンを記録するために使用することができます。Rokt Android SDK は Maven と Gradle を使用してデプロイされます。
Rokt の Android SDK には ProGuard ルールが含まれており、追加の設定は必要ありません。
SDK のすべての使用ケースは、同じ初期手順を経て、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"
}
}
}
- (オプション)バージョンカタログを使用している場合は、Rokt Android SDK モジュールを
libs.versions.toml
(またはその他の名前付きカタログ)に追加します。
[versions]
roktsdk = "4.8.1"
[libraries]
roktsdk = { group = "com.rokt", name = "roktsdk", version.ref = "roktsdk" }
- モジュールの
build.gradle
に Rokt Android SDK モジュールを追加します。
バージョンカタログを使用
- Kotlin
- Groovy
// file => build.gradle.kts (Module: ...)
dependencies {
...
implementation(libs.roktsdk)
...
}
// file => build.gradle (Module: ...)
dependencies {
...
implementation(libs.roktsdk)
...
}
バージョンカタログを使用しない場合
- Kotlin
- Groovy
// file => build.gradle.kts (Module: ...)
dependencies {
...
implementation('com.rokt:roktsdk:4.8.1')
...
}
// file => build.gradle (Module: ...)
dependencies {
...
implementation 'com.rokt:roktsdk:4.8.1'
...
}
- どのアクティビティでも使用する前に、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からのデバッグログを有効にします。
次のステップ
次のステップは、統合のユースケースによって異なります。以下のトピックをご覧ください: