メインコンテンツまでスキップ

Android SDKの初期化

Roktのパートナーは、Android SDKを使用してオーバーレイまたは組み込みの配置を表示でき、Roktのブランドはそれを使用してキャンペーンのコンバージョンを記録できます。RoktのAndroid SDKは、MavenとGradleを使用して展開されます。

注記

RoktのAndroid SDKにはProGuardルールが含まれており、追加の設定は必要ありません。

SDKのすべてのユースケースは、SDKを統合し初期化するための同じ初期ステップに従います。高レベルでは、これらのステップは以下の通りです:

  1. ワークスペースを設定し、Rokt Gradleリポジトリを有効にする
  2. Rokt Placementプラグインを追加する
  3. Rokt Android SDKモジュールを追加する
  4. Rokt Android SDKを初期化する

これらのステップに従った後、SDKのexecuteメソッドは、要求されるユースケースに合わせてさまざまな方法で使用できます。

始める前に

このガイドは、Gradleに精通しており、Android開発のためのプラグインをインストールする方法を知っていることを前提としています。

Android SDKの設定

  1. ワークスペースを設定し、Rokt Gradleリポジトリを有効にします。リポジトリを設定するには、Gradleの指示に従ってください。
  2. プロジェクトのsettings.gradleファイルにRokt WidgetプラグインリポジトリのURLを追加します。
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven("https://apps.rokt.com/msdk")
}
}

または、リポジトリ設定がトップレベルのbuild.gradleファイルにある7.0.0未満のGradleのバージョンを使用している場合は、build.gradleファイルに以下を追加してください。

 // file => build.gradle.kts (プロジェクト: ....)

allprojects {
repositories {
google()
mavenCentral()
maven("https://apps.rokt.com/msdk")
}
}
  1. (オプション)バージョンカタログを使用している場合は、Rokt Android SDKモジュールをlibs.versions.toml(または他の名前のカタログ)に追加します。
[versions]
roktsdk = "4.6.1"

[libraries]
roktsdk = { group = "com.rokt", name = "roktsdk", version.ref = "roktsdk" }
  1. モジュールのbuild.gradleにRokt Android SDKモジュールを追加します。

バージョン カタログを使用して

 // file => build.gradle.kts (モジュール: ...)

dependencies {
...
implementation(libs.roktsdk)
...
}

バージョン カタログなしで

 // file => build.gradle.kts (モジュール: ...)

dependencies {
...
implementation('com.rokt:roktsdk:4.6.1')
...
}
  1. Rokt SDK を使用する前に初期化します。LauncherActivity クラスから init メソッドを呼び出すことをお勧めします。
注意

Rokt に連絡して、あなたのアカウントに関連付けられた Rokt アカウント ID を入手してください。統合をテストするために、以下の Rokt アカウント ID を使用できますが、本番環境で起動する前に、あなたのユニークな Rokt アカウント ID に置き換える必要があります。

テストアカウントID: 222

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 メソッドに渡します(アセットディレクトリはルートディレクトリです)。ポストスクリプト名は、レイアウトで使用されているものと一致する必要があります。わからない場合は、アカウントマネージャーに確認してください。

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関数に渡す必要があります(詳細は配置の追加を参照してください)。

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からのデバッグログを有効にします。

次のステップ

次のステップは、統合の使用ケースに依存します。以下のトピックをチェックして、詳細をご確認ください:

この記事は役に立ちましたか?