Meilleures pratiques pour le SDK Android
La performance des applications mobiles est cruciale pour votre entreprise. Notre technologie est axée sur l'amélioration de l'expérience de votre client 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 utilisons 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 disposition Rokt en utilisant le composable RoktLayout
. Cela élimine le besoin d'appeler Rokt.execute
et prend en charge une intégration plus moderne et déclarative en utilisant Compose comme indiqué 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 prend en charge uniquement 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 disposition intégrée
onLoad = {},
onUnload = {},
config = config,
onShouldShowLoadingIndicator = {},
onShouldHideLoadingIndicator = {},
)
}
}
Vous pouvez utiliser le composable RoktLayout
pour les dispositions intégrées et superposées.
Utilisation des Configurations de l'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 s'appuyer uniquement sur les 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 par défaut le Mode Couleur Système |
Booléen EdgeToEdgeDisplay
Valeur | Description |
---|---|
true(par défaut) | L'application prend en charge le mode d'affichage de bord à bord |
false | L'application ne prend pas en charge le mode d'affichage de bord à bord |
import com.rokt.roktsdk.Rokt
// si l'application prend en charge uniquement le Mode Clair et que l'affichage de 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 nul, 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 params,
config = roktConfig,
)
Utilisation des polices de caractères
Si vous utilisez vos propres polices de caractères comme décrit dans Initialiser le SDK Android, vous devez transmettre une carte de références faibles à vos objets de police 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 how-to section.