Android SDK ベストプラクティス
モバイルアプリケーションのパフォーマンスはビジネスにとって非常に重要です。私たちの技術は、アプリにおける顧客体験の向上に重点を置いています。そのため、画面パフォーマンスはソリューションの中核を成しています。エンゲージメントとコンバージョン率を向上させるために、画面の読み込み時間を最小限に抑えるいくつかのアプローチを採用しています。
Jetpack Compose コンポーネント
Rokt Android SDK のメジャーバージョン4から、RoktLayout
のComposableを使用してRoktレイアウトを追加することができます。これにより、Rokt.execute
を呼び出す必要がなくなり、配置を追加するで説明されているような、よりモダンな宣言的統合をサポートします。
コンポーネントの追加
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
のComposableは、埋め込みレイアウトでもオーバーレイレイアウトでも使用できます。
アプリ構成の使用法
アプリケーションは、今後、自身のアプリケーション環境から設定値を渡すことができます。これにより、Rokt SDK はシステムのデフォルトにのみ依存するのではなく、アプリケーションのカスタム設定を使用できるようになります。
ColorMode オブジェクト
値 | 説明 |
---|---|
LIGHT | アプリケーションがライトモードである |
DARK | アプリケーションがダークモードである |
SYSTEM | アプリケーションがシステムのカラーモードをデフォルトにする |
EdgeToEdgeDisplay ブール値
値 | 説明 |
---|---|
true (デフォルト) | アプリケーションがエッジ・ツー・エッジ表示モードをサポートする |
false | アプリケーションがエッジ・ツー・エッジ表示モードをサポートしない |
import com.rokt.roktsdk.Rokt
// アプリケーションがライトモードのみをサポートし、エッジ・ツー・エッジ表示が有効になっている場合。
val roktConfig = RoktConfig.Builder().colorMode(RoktConfig.ColorMode.LIGHT).edgeToEdgeDisplay(true).build()
Rokt.execute(
// その他のパラメータ,
config = roktConfig,
)
CacheConfig オブジェクト
パラメータ | 説明 |
---|---|
cacheDuration | Rokt SDK がエクスペリエンスをキャッシュするためのオプションの秒数です。最大許容値は90分で、デフォルト(値が提供されていないか無効な場合)は90分です。 |
cacheAttributes | キャッシュキーとして使用するオプションの属性です。nullの場合、Rokt.execute で送信されたすべての属性がキャッシュキーとして使用されます。 |
import com.rokt.roktsdk.Rokt
// エクスペリエンスを1200秒間キャッシュし、メールアドレスと注文番号をキャッシュキーとして使用します。
val roktConfig = RoktConfig.Builder().cacheConfig(
CacheConfig(
cacheDurationInSeconds = 1200,
cacheAttributes = mapOf("email" to "j.smith@example.com", "orderNumber" to "123")
)
).build()
Rokt.execute(
// 他のパラメータ,
config = roktConfig,
)
フォントタイプフェースの使用
Android SDK を初期化するで説明されているように独自のフォントタイプフェースを使用している場合、execute
にフォントオブジェクトへの弱参照のマップを渡す必要があります。
- Java
- Kotlin
import com.rokt.roktsdk.Rokt
class ConfirmationActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
...
// 適切な消費者属性を含めます
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を参照してください。