Android SDK (レガシー) の初期化
Rokt のパートナーは、Android SDK を使用してオーバーレイまたは埋め込みのプレースメントを表示することができ、Rokt ブランドはキャンペーンのコンバージョンを記録するために使用できます。Rokt Android SDK は、Maven および Gradle を使用してデプロイされます。
Rokt の Android SDK には ProGuard ルールが含まれており、追加の設定は不要で す。 Rokt Widget は、バージョン 4.9.0 以降で Maven Central から利用可能です。
SDK のすべてのユースケースは、SDK を統合および初期化するための同じ初期ステップに従います。大まかに言うと、これらのステップは次のとおりです:
- Rokt Android SDK モジュールを追加する
- Rokt Android SDK を初期化する
これらのステップに従った後、SDK の execute メソッドを使用して、必要なユースケースに合わせてさまざまな方法で利用できます。
始める前に
このガイドは、Gradle に精通しており、Android 開発用のプラグインをインストールする方法を知っていることを前提としています。
Android SDK のセットアップ
- Rokt Android SDK ライブラリをモジュールの Gradle ビルドファイルに追加します。
- Kotlin
- Groovy
dependencies {
...
implementation("com.rokt:roktsdk:4.x.x")
...
}
// file => build.gradle (Module: ...)
dependencies {
...
implementation 'com.rokt:roktsdk:4.x.x'
...
}
- Rokt SDK を任意のアクティビティで使用する前に初期化します。アプリケーションクラスから
initメソッドを呼び出すことをお勧めします。
Rokt アカウントに関連付けられた Rokt アカウント ID を取得するには、Rokt にお問い合わせください。統合をテストするには、以下の Rokt アカウント ID を使用できますが、本番環境でのローンチ前に、ユニークな Rokt アカウント ID に置き換える必要があります。
テストアカウント ID: 222
- Java
- Kotlin
import com.rokt.roktsdk.Rokt
public class YourApplication: Application() {
override fun onCreate() {
...
// 以下はデモ統合を表示します。統合を表示するには:
// 1) 統合テストタグ ID (222) をユニークな Rokt タグ ID に置き換える
// 2) Y.Y.Y をアプリケーションバージョンに置き換える
Rokt.init("222", "Y.Y.Y", this)
...
}
}
import com.rokt.roktsdk.Rokt;
public class YourApplication extends Application {
@Override
public void onCreate() {
...
// 以下はデモ統合を表示します。統合を表示するには:
// 1) 統合テストタグ ID (222) をユニークな Rokt タグ ID に置き換える
// 2) Y.Y.Y をアプリケーションバージョンに置き換える
Rokt.INSTANCE.init("222", "Y.Y.Y", this)
...
}
}
フォントの初期化
この機能はRokt Android SDKのバージョン4.2.0からサポートされています。
One Platformで希望のフォントを提供する代わりに、またはそれに加えて、アプリケーションに既にバンドルされているフォントを利用することができます。これにより、初期化時にフォントをダウンロードする可能性が排除され、ネットワークの利用を削減し、ダウンロードエラーの可能性を減少させる利点があります。アプリケーションのassetsディレクトリにあるフォントリソースを使用するか、自分のTypefaceオブジェクトを渡すことができます。
フォントアセットの使用
アプリケーションのassetsディレクトリに保存されているフォントを利用することができます。これには、フォントのポストスクリプト名をassetsディレクトリ内のファイルパスにマッピングするマップをinitメソッドに渡す必要があります(assetsディレクトリはルートディレクトリです)。ポストスクリプト名はレイアウトで使用されているものと一致する必要があります。不明な場合はアカウントマネージャーに確認してください。
- Java
- Kotlin
import com.rokt.roktsdk.Rokt
public class YourApplication: Application() {
override fun onCreate() {
...
Rokt.init(
"222",
"Y.Y.Y",
this,
fontFilePathMap = mapOf("Arial-Bold" to "fonts/arialbold.otf")
)
...
}
}
import com.rokt.roktsdk.Rokt;
public class YourApplication extends Application {
@Override
public void onCreate() {
...
Map<String,String> fontFilePathMap = new HashMap<>();
fontFilePathMap.put("Arial-Bold", "fonts/arialbold.otf");
Rokt.INSTANCE.init(
"222",
"Y.Y.Y",
this,
new HashSet<>(), // fontPostScriptNames can be empty
fontFilePathMap
);
...
}
}
フォント書体の使用
アプリケーション内で作成したTypefaceオブジェクトを使用することもできます。そのためには、フォントのポストスクリプト名のセットをinit関数に渡し、後でexecute関数にTypefacesを渡す必要があります(詳細はプレースメントの追加を参照)。
- Java
- Kotlin
import com.rokt.roktsdk.Rokt
public class YourApplication: Application() {
override fun onCreate() {
...
Rokt.init(
"222",
"Y.Y.Y",
this,
fontPostScriptNames = setOf("Arial-Bold")
)
...
}
}
import com.rokt.roktsdk.Rokt;
public class YourApplication extends Application {
@Override
public void onCreate() {
...
Set<String> fontPostScriptNames = new HashSet<String>();
fontPostScriptNames.add("Arial-Bold");
Rokt.INSTANCE.init(
"222",
"Y.Y.Y",
this,
fontPostScriptNames
);
...
}
}
初期化ステータスの受信
バージョン 4.6.0 から、Rokt SDK は初期化のステータスを受け取るための2つの方法を提供しています:
初期化時のオプションコールバック
Rokt.init メソッドには、初期化が完了したときに通知し、ステータスを返すコールバックがあります。
import com.rokt.roktsdk.Rokt
public class YourApplication: Application {
override fun onCreate() {
...
Rokt.init("222",
"Y.Y.Y",
this,
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 からのデバッグログを有効にします。
次のステップ
次のステップは、統合のユースケースに依存します。以下のトピックを確認してください: