Meilleures pratiques pour le SDK Android (ancien)
La performance des applications mobiles est cruciale pour votre entreprise. Notre technologie est axée sur l'amélioration de l'expérience de vos clients avec votre application. Ainsi, la performance des écrans est un élément central de nos solutions. Pour augmenter l'engagement et les taux de conversion, nous employons plusieurs approches pour minimiser les temps de chargement des écrans.
Composant Jetpack Compose
À partir de la version majeure 4 du SDK Android de Rokt, vous pouvez ajouter une mise en page Rokt en utilisant le composant RoktLayout. Cela élimine la nécessité d'appeler Rokt.execute et prend en charge une intégration déclarative plus moderne en utilisant Compose comme décrit dans Ajouter un emplacement.
Ajouter le composant
import com.rokt.roktsdk.RoktLayout
@Composable
fun MainScreen(modifier: Modifier = Modifier) {
Column(
modifier = modifier
.background(Color.LightGray)
.padding(8.dp),
) {
// si l'application ne prend en charge que le mode clair
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", // Si vous utilisez une mise en page intégrée
onLoad = {},
onUnload = {},
config = config,
onShouldShowLoadingIndicator = {},
onShouldHideLoadingIndicator = {},
)
}
}
Vous pouvez utiliser le composant RoktLayout pour les mises en page intégrées et superposées.
Utilisation des configurations d'application
Les applications peuvent désormais transmettre les paramètres de configuration depuis leur propre environnement d'application. Cela permet au SDK Rokt d'utiliser les configurations personnalisées de l'application au lieu de se fier uniquement aux paramètres par défaut du système.
Objet ColorMode
| Valeur | Description |
|---|---|
| LIGHT | L'application est en mode clair |
| DARK | L'application est en mode sombre |
| SYSTEM | L'application utilise le mode couleur système par défaut |
Booléen EdgeToEdgeDisplay
| Valeur | Description |
|---|---|
| true(default) | L'application prend en charge le mode d'affichage bord à bord |
| false | L'application ne prend pas en charge le mode d'affichage bord à bord |
import com.rokt.roktsdk.Rokt
// si l'application ne prend en charge que le mode clair et que l'affichage bord à bord est activé.
val roktConfig = RoktConfig.Builder().colorMode(RoktConfig.ColorMode.LIGHT).edgeToEdgeDisplay(true).build()
Rokt.execute(
// autres paramètres,
config = roktConfig,
)
Objet CacheConfig
| Paramètre | Description |
|---|---|
| cacheDuration | Durée optionnelle en secondes pendant laquelle le SDK Rokt doit mettre en cache l'expérience. La valeur maximale autorisée est de 90 minutes et la valeur par défaut (si la valeur n'est pas fournie ou invalide) est de 90 minutes. |
| cacheAttributes | Attributs optionnels à utiliser comme clé de cache. Si null, tous les attributs envoyés dans Rokt.execute seront utilisés comme clé de cache. |
import com.rokt.roktsdk.Rokt
// pour mettre en cache l'expérience pendant 1200 secondes, en utilisant les attributs email et orderNumber comme clé de cache.
val roktConfig = RoktConfig.Builder().cacheConfig(
CacheConfig(
cacheDurationInSeconds = 1200,
cacheAttributes = mapOf("email" to "j.smith@example.com", "orderNumber" to "123")
)
).build()
Rokt.execute(
// autres paramètres,
config = roktConfig,
)
Utilisation des polices de caractères
Si vous utilisez vos propres polices de caractères comme décrit dans Initialize the Android SDK, vous devez passer une map de références faibles à vos objets typeface dans execute.
- Java
- Kotlin
import com.rokt.roktsdk.Rokt
class ConfirmationActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
...
// Inclure tous les attributs consommateurs appropriés
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
)
...
}
}
Pour plus d'informations, voir la section comment faire.