Pratiques recommandées pour le SDK Android
La performance des applications mobiles est cruciale pour votre entreprise. Notre technologie se concentre sur l'amélioration de l'expérience de vos clients avec votre application. Ainsi, la performance des écrans est un composant 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 Rokt, vous pouvez ajouter une disposition Rokt en utilisant le composant RoktLayout
. Cela élimine le besoin 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.
Ajout du composant
import com.rokt.roktsdk.RoktLayout
@Composable
fun MainScreen(modifier: Modifier = Modifier) {
Column(
modifier = modifier
.background(Color.LightGray)
.padding(8.dp),
) {
// si l'application supporte 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 composant RoktLayout
pour les dispositions 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 de couleur par défaut du système |
import com.rokt.roktsdk.Rokt
// si l'application ne prend en charge que le mode clair.
val roktConfig = RoktConfig.Builder().colorMode(RoktConfig.ColorMode.LIGHT).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" à "j.smith@example.com", "orderNumber" à "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 Initialiser le SDK Android, vous devez passer une carte 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)
...
// Incluez 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.