Initialiser le SDK Android
Les partenaires de Rokt peuvent utiliser le SDK Android pour afficher des placements en superposition ou intégrés, tandis que les marques Rokt peuvent l'utiliser pour enregistrer des conversions pour leurs campagnes. Le SDK Android de Rokt est déployé en utilisant Maven et Gradle.
Le SDK Android de Rokt contient des règles ProGuard et ne nécessite pas de configuration supplémentaire.
Tous les cas d'utilisation du SDK suivent les mêmes étapes initiales pour intégrer et initialiser le SDK. À un niveau élevé, ces étapes sont :
- Configurer un espace de travail et activer le dépôt Gradle Rokt
- Ajouter le plugin Rokt Placement
- Ajouter le module du SDK Android Rokt
- Initialiser le SDK Android Rokt
Une fois ces étapes suivies, la méthode execute
du SDK peut ensuite être utilisée de diverses manières pour s'adapter au cas d'utilisation requis.
Avant de commencer
Ce guide suppose que vous êtes familier avec Gradle et que vous savez comment installer un plugin pour le développement Android.
Configuration du SDK Android
- Configurez un espace de travail et activez le dépôt Gradle Rokt. Pour configurer un dépôt, suivez les instructions de Gradle.
- Ajoutez l'URL du dépôt du plugin Rokt Widget dans le fichier
settings.gradle
du projet.
- Kotlin
- Groovy
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven("https://apps.rokt.com/msdk")
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven {
url "https://apps.rokt.com/msdk"
}
}
}
Ou si vous utilisez une version de Gradle inférieure à 7.0.0 où les paramètres du dépôt sont plutôt dans le fichier build.gradle de niveau supérieur, ajoutez ce qui suit dans le fichier build.gradle.
- Kotlin
- Groovy
// fichier => build.gradle.kts (Projet: ....)
allprojects {
repositories {
google()
mavenCentral()
maven("https://apps.rokt.com/msdk")
}
}
// fichier => build.gradle (Projet: ....)
allprojects {
repositories {
google()
mavenCentral()
maven {
url "https://apps.rokt.com/msdk"
}
}
}
- (Optionnel) Si vous utilisez un catalogue de versions, ajoutez le module Rokt Android SDK à votre
libs.versions.toml
(ou autre catalogue nommé).
[versions]
roktsdk = "4.8.1"
[libraries]
roktsdk = { group = "com.rokt", name = "roktsdk", version.ref = "roktsdk" }
- Ajoutez le module Rokt Android SDK à
build.gradle
pour le module.
Avec Version Catalogue
- Kotlin
- Groovy
// fichier => build.gradle.kts (Module : ...)
dépendances {
...
implementation(libs.roktsdk)
...
}
// fichier => build.gradle (Module : ...)
dépendances {
...
implementation(libs.roktsdk)
...
}
Sans Version Catalogue
- Kotlin
- Groovy
// fichier => build.gradle.kts (Module : ...)
dépendances {
...
implementation('com.rokt:roktsdk:4.8.1')
...
}
// fichier => build.gradle (Module : ...)
dépendances {
...
implementation 'com.rokt:roktsdk:4.8.1'
...
}
- Initialisez le SDK Rokt avant de l'utiliser dans n'importe quelle activité. Nous recommandons d'appeler la méthode
init
depuis la classeLauncherActivity
.
Contactez Rokt pour obtenir l'ID de compte Rokt associé à votre compte. Pour tester votre intégration, vous pouvez utiliser l'ID de compte Rokt ci-dessous, mais vous devez le remplacer par votre ID de compte Rokt unique avant de le lancer en production.
ID de compte de test : 222
- Java
- Kotlin
import com.rokt.roktsdk.Rokt
public class LauncherActivity: Activity {
override fun onCreate(savedInstanceState: Bundle?) {
...
// Ce qui suit révélera une intégration démo. Pour voir votre intégration :
// 1) Remplacez l'ID de tag de test d'intégration (222) par votre ID de tag Rokt unique
// 2) Remplacez Y.Y.Y par la version de l'application
Rokt.init("222", "Y.Y.Y", this@LauncherActivity)
...
}
}
import com.rokt.roktsdk.Rokt;
public class LauncherActivity extends Activity {
override fun onCreate(savedInstanceState: Bundle?) {
...
// Ce qui suit révélera une intégration de démonstration. Pour voir votre intégration :
// 1) Remplacez l'ID de balise de test d'intégration (222) par votre identifiant de balise Rokt unique
// 2) Remplacez Y.Y.Y par la version de l'application
Rokt.INSTANCE.init("222", "Y.Y.Y", LauncherActivity.this)
...
}
}
Initialiser avec les Polices
Cette fonctionnalité est prise en charge à partir de la version 4.2.0 du SDK Android de Rokt.
Au lieu de, ou en plus de, fournir vos polices souhaitées sur One Platform, vous pouvez choisir d'utiliser les polices déjà intégrées à votre application. Cela présente l'avantage de supprimer la possibilité que des polices soient téléchargées au moment de l'initialisation, réduisant ainsi l'utilisation du réseau et les risques d'erreurs de téléchargement. Vous pouvez choisir d'utiliser soit les ressources de polices situées dans le répertoire assets
de votre application, soit de transmettre vos propres objets Typeface
.
Utilisation des Polices d'Écriture
Vous pouvez utiliser les polices stockées dans le répertoire assets
de votre application. Pour cela, vous pouvez passer une carte à la méthode init
qui associe les noms postscript des polices au chemin d'accès dans le répertoire assets (où le répertoire assets est le répertoire racine). Les noms postscript doivent correspondre à ceux utilisés dans votre mise en page, veuillez vérifier avec votre gestionnaire de compte si vous n'êtes pas sûr.
- Java
- Kotlin
import com.rokt.roktsdk.Rokt
public class LauncherActivity: Activity {
override fun onCreate(savedInstanceState: Bundle?) {
...
Rokt.init(
"222",
"Y.Y.Y",
this@LauncherActivity,
fontFilePathMap = mapOf("Arial-Bold", "fonts/arialbold.otf")
)
...
}
}
import com.rokt.roktsdk.Rokt;
public class LauncherActivity extends Activity {
override fun onCreate(savedInstanceState: Bundle?) {
...
Map<String,String> fontFilePathMap = new HashMap<String, String>();
fontFilePathMap.put("Arial-Bold", "fonts/arialbold.otf");
Rokt.INSTANCE.init(
"222",
"Y.Y.Y",
LauncherActivity.this,
new HashSet<>(), // fontPostScriptNames peut être vide
fontFilePathMap
);
...
}
}
Utilisation des Polices de Caractères
Vous pouvez également utiliser des objets Typeface que vous avez créés dans votre application. Pour cela, vous devez passer un ensemble de noms postcript des polices à la fonction init
, puis passer les Typefaces à la fonction execute
(détaillée dans Ajouter un placement).
- Java
- Kotlin
import com.rokt.roktsdk.Rokt
public class LauncherActivity: Activity {
override fun onCreate(savedInstanceState: Bundle?) {
...
Rokt.init(
"222",
"Y.Y.Y",
this@LauncherActivity,
fontPostScriptNames = setOf("Arial-Bold")
)
...
}
}
import com.rokt.roktsdk.Rokt;
public class LauncherActivity extends Activity {
override fun onCreate(savedInstanceState: Bundle?) {
...
Set<String> fontPostScriptNames = new HashSet<String>();
fontFilePathMap.add("Arial-Bold");
Rokt.INSTANCE.init(
"222",
"Y.Y.Y",
LauncherActivity.this,
fontPostScriptNames
);
...
}
}
Réception de l'état d'initialisation
À partir de la version 4.6.0
, le SDK Rokt fournit 2 méthodes pour recevoir l'état de l'initialisation :
Callback optionnel lors de l'initialisation
Il y a un callback dans la méthode Rokt.init
pour notifier lorsque l'initialisation est terminée et renvoyer l'état.
import com.rokt.roktsdk.Rokt
public class LauncherActivity: Activity {
override fun onCreate(savedInstanceState: Bundle?) {
...
Rokt.init("222",
"Y.Y.Y",
this@LauncherActivity,
callback = object : Rokt.RoktInitCallback {
override fun onInitComplete(success: Boolean) {
Log.d("Rokt", "received init completed $success")
}
},
)
...
}
}
API des événements globaux
Le SDK fournit également l'état sous forme de flux via l'API Rokt.globalEvents
. Les utilisateurs du SDK peuvent exploiter le mécanisme Kotlin Flow pour consommer l'état.
// owner: LifecycleOwner
owner.lifecycleScope.launch {
Rokt.globalEvents().collect { event ->
if (event is RoktEvent.InitComplete)
Log.d("Rokt", "received init completed $event")
}
}
Débogage
Utilisez l'API Rokt.setLoggingEnabled(enable = true)
pour activer les journaux de débogage du SDK Rokt.
Prochaines étapes
Les étapes suivantes dépendent de votre cas d'utilisation pour l'intégration. Consultez ces sujets pour en savoir plus :