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ファイルにある7.0.0未満のGradleのバージョンを使用している場合は、build.gradleファイルに以下を追加してください。
- Kotlin
- Groovy
// file => build.gradle.kts (プロジェクト: ....)
allprojects {
repositories {
google()
mavenCentral()
maven("https://apps.rokt.com/msdk")
}
}
// file => build.gradle (プロジェクト: ....)
allprojects {
repositories {
google()
mavenCentral()
maven {
url "https://apps.rokt.com/msdk"
}
}
}
- (オプション)バージョンカタログを使用している場合は、Rokt Android SDKモジュールを
libs.versions.toml
(または他の名前のカタログ)に追加します。
[versions]
roktsdk = "4.6.1"
[libraries]
roktsdk = { group = "com.rokt", name = "roktsdk", version.ref = "roktsdk" }
- モジュールの
build.gradle
にRokt Android SDKモジュールを追加します。
バージョン カタログを使用して
- Kotlin
- Groovy
// file => build.gradle.kts (モジュール: ...)
dependencies {
...
implementation(libs.roktsdk)
...
}
// file => build.gradle (モジュール: ...)
dependencies {
...
implementation(libs.roktsdk)
...
}
バージョン カタログなしで
- Kotlin
- Groovy
// file => build.gradle.kts (モジュール: ...)
dependencies {
...
implementation('com.rokt:roktsdk:4.6.1')
...
}
// file => build.gradle (モジュール: ...)
dependencies {
...
implementation 'com.rokt:roktsdk:4.6.1'
...
}
- Rokt SDK を使用する前に初期化します。
LauncherActivity
クラスからinit
メソッドを呼び出すことをお勧めします。
Rokt に連絡して、あなたのアカウントに関連付けられた Rokt アカウント ID を入手してください。統合をテストするために、以下の 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は空でも構いません
fontFilePathMap
);
...
}
}
フォントタイプフェイスの使用
アプリケーションで作成したタイプフェイスオブジェクトを使用することもできます。そのためには、init
関数にフォントのポストスクリプト名のセットを渡し、その後にタイプフェイスを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.1
から、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", "受信した初期化完了 $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", "受信した初期化完了 $event")
}
}
デバッグ
Rokt.setLoggingEnabled(enable = true)
APIを使用して、Rokt SDKからのデバッグログを有効にします。
次のステップ
次のステップは、統合の使用ケースに依存します。以下のトピックをチェックして、詳細をご確認ください: