Android SDK ベストプラクティス
モバイルアプリケーションのパフォーマンスは、ビジネスにとって非常に重要です。私たちの技術は、お客様のアプリの体験を向上させることに焦点を当てています。そのため、画面パフォーマンスは私たちのソリューションの中核を成す要素です。エンゲージメントとコンバージョン率を向上させるために、画面の読み込み時間を最小限に抑えるためのいくつかのアプローチを採用しています。
Jetpack Compose コンポーネント
Rokt Android SDK のメジャーバージョン 4 から、RoktLayout
コンポーザブルを使用して Rokt レイアウトを追加することができます。これにより、Rokt.execute
を呼び出す必要がなくなり、配置を追加するに記載されているように、Compose を使用したよりモダンな宣言的統合がサポートされます。
コンポーネントの追加
import com.rokt.roktsdk.RoktLayout
@Composable
fun MainScreen(modifier: Modifier = Modifier) {
Column(
modifier = modifier
.background(Color.LightGray)
.padding(8.dp),
) {
// アプリケーションがライトモードのみをサポートしている場合
val config = remember {
RoktConfig.Builder().colorMode(RoktConfig.ColorMode.LIGHT).build()
}
RoktLayout(
sdkTriggered = true,
viewName = "RoktExperience",
attributes = mapOf(
"email" to "j.smith@example.com",
"firstname" to "Jenny",
"lastname" to "Smith",
"mobile" to "(323) 867-5309",
"postcode" to "90210",
"country" to "US"
),
location = "RoktEmbedded1", // 埋め込みレイアウトを使用している場合
onLoad = {},
onUnload = {},
config = config,
onShouldShowLoadingIndicator = {},
onShouldHideLoadingIndicator = {},
)
}
}
注記
RoktLayout
コンポーザブルは、埋め込みレイアウトとオーバーレイレイアウトの両方に使用できます。
アプリ構成の使用
アプリケーションは、独自のアプリケーション環境から構成設定を渡すことができます。これにより、Rokt SDKはシステムのデフォルト設定に依存するだけでなく、アプリケーションのカスタム構成を使用できるようになります。
import com.rokt.roktsdk.Rokt
// アプリケーションがライトモードのみをサポートしている場合。
val roktConfig = RoktConfig.Builder().colorMode(RoktConfig.ColorMode.LIGHT).build()
Rokt.execute(
// 他のパラメータ,
config = roktConfig,
)
ColorMode オブジェクト
値 | 説明 |
---|---|
LIGHT | アプリケーションはライトモードです |
DARK | アプリケーションはダークモードです |
SYSTEM | アプリケーションはシステムのカラーモードに従います |
フォントタイプフェイスの使用
独自のフォントタイプフェイスを使用する場合は、Android SDKの初期化に記載されているように、execute
でフォントオブジェクトへの弱参照のマップを渡す必要があります。
- Java
- Kotlin
import com.rokt.roktsdk.Rokt
class ConfirmationActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
...
// Include any appropriate consumer attributes
val attributes = mapOf(
"email" to "j.smith@example.com",
"firstname" to "Jenny",
"lastname" to "Smith",
"mobile" to "(323) 867-5309",
"postcode" to "90210",
"country" to "US",
)
val fontTypefaces = mapOf(
"Arial-Bold" to WeakReference(yourTypefaceObject),
)
Rokt.execute("RoktExperience",
attributes,
object : Rokt.RoktCallback {
override fun onUnload(reason: Rokt.UnloadReasons) {
}
override fun onLoad() {
}
override fun onShouldHideLoadingIndicator() {
}
override fun onShouldShowLoadingIndicator() {
}
},
fontTypefaces,
)
...
}
}
import com.rokt.roktsdk.Rokt;
class ConfirmationActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
...
Map<String,String> attributes = new HashMap<String, String>();
attributes.put("email", "j.smith@example.com");
attributes.put("firstname", "Jenny");
attributes.put("lastname", "Smith");
attributes.put("mobile", "(323) 867-5309");
attributes.put("postcode", "90210");
attributes.put("country", "US");
Map<String, WeakReference<Typeface>> fontTypefaces = new HashMap<>();
fontTypefaces.put("Arial-Bold", new WeakReference<>(yourTypefaceObject));
Rokt.INSTANCE.execute("RoktExperience",
attributes,
new Rokt.RoktCallback() {
@Override
public void onLoad() {
}
@Override
public void onUnload(Rokt.UnloadReasons unloadReasons) {
}
@Override
public void onShouldHideLoadingIndicator() {
}
@Override
public void onShouldShowLoadingIndicator() {
}
},
fontTypefaces
)
...
}
}
詳細については、how-to section を参照してください。