PhoneGap
Intégration du plug-in Marketo PhoneGap
Conditions préalables
- Ajoutez une application dans Marketo Admin (obtenez la clé secrète de l’application et l’ID Munchkin).
- Configurer Des Notifications Push (iOS | Android).
- Installez PhoneGap/Cordova CLI.
Instructions d’installation
-
Configuration du plug-in Marketo PhoneGap
En supposant que l’interface de ligne de commande Cordova soit installée, accédez à votre répertoire d’applications PhoneGap et exécutez la commande suivante pour ajouter le module externe Marketo à votre application :
$ cordova plugin add https://github.com/Marketo/PhoneGapPlugin.git --variable APPLICATION_SECRET_KEY="YOUR_APPLICATION_SECRET" -
Installation du plug-in FCM
$ cordova plugin add cordova-plugin-fcmPour confirmer que le module externe a été ajouté à l’application, exécutez la commande suivante et vérifiez
$ cordova plugin ls com.marketo.plugin 0.X.0 "MarketoPlugin" cordova-plugin-fcm 2.1.2 "FCMPlugin"
Migration vers une version plus récente (facultatif)
Pour supprimer un module externe existant, exécutez la commande suivante :
$ cordova plugin remove com.marketo.plugin
Pour ajouter à nouveau le module externe, exécutez la commande suivante :
$ cordova plugin add https://github.com/Marketo/PhoneGapPlugin.git --variable APPLICATION_SECRET_KEY="YOUR_APPLICATION_SECRET"
Cordova version 8.0.0 (Cordova@Android7.0.0) et ultérieures
Une fois la plateforme Cordova Android créée, ouvrez l’application avec Android Studio et mettez à jour la valeur dirs du fichier Marketo.gradle situé dans le dossier com.marketo.plugin.
repositories{
jcenter()
flatDir{
dirs '../app/src/main/aar'
}
}
Ajouter les plateformes à cibler pour l'application $cordova platform add android $ cordova platform add ios
Vérifier la liste des plateformes ajoutées $cordova platform ls
-
Prise en charge de Firebase Cloud Messaging
-
Configurez l’application Firebase sur la console Firebase.
-
Créez/ajoutez un projet sur la console 🔗Firebase).
- Dans la console Firebase, sélectionnez Ajouter un projet.
- Sélectionnez votre projet GCM dans la liste des projets Google Cloud existants, puis sélectionnez Ajouter Firebase.
- Dans l’écran d’accueil de Firebase, sélectionnez Ajouter Firebase à l’application Android.
- Indiquez le nom de votre package et SHA-1, puis sélectionnez Ajouter une application. Un nouveau fichier
google-services.jsonpour votre application Firebase est téléchargé.
-
Accédez à Paramètres du projet dans Présentation du projet
- Cliquez sur l’onglet Général. Téléchargez le fichier « google-services.json ».
- Cliquez sur l’onglet Cloud Messaging. Copiez clé du serveur et ID de l’expéditeur. Fournissez ces clé de serveur et ID d’expéditeur à Marketo.
-
Configuration des modifications FCM dans l’application Phonegap
-
Déplacez le fichier « google-services.json » téléchargé vers le répertoire racine du module d’application Phonegap.
-
Supprimez le fichier « MyFirebaseInstanceIDService » de l’emplacement
platforms/android/app/src/main/java/com/gae/scaffolder/plugin(obsolète). -
Modifiez le fichier 'MyFirebaseMessagingService' à l'emplacement
platforms/android/app/src/main/java/com/gae/scaffolder/plugincomme suit :code language-none import com.marketo.Marketo; public class MyFirebaseMessagingService extends FirebaseMessagingService{ @Override public void onNewToken(String s){ super.onNewToken(s); MarketoExtension.setPushNotificaitonTokens(s); //Add your code here } @Override public void onMessageReceived(RemoteMessage remoteMessage) { MarketoExtension.showPushNotificaiton(remoteMessage); //Add your code here } }-
Modifiez le fichier « fcm_config_files_process.js » dans location plugins/cordova-plugin-fcm/scripts comme suit :
code language-none //change var strings = fs.readFileSync("platforms/android/res/values/strings.xml").toString(); //to var strings = fs.readFileSync("platforms/android/app/src/main/res/values/strings.xml").toString(); //AND change fs.writeFileSync("platforms/android/res/values/strings.xml", strings); //to fs.writeFileSync("platforms/android/app/src/main/res/values/strings.xml", strings);
-
-
-
3. Activer les notifications push dans xCode
Activez la fonctionnalité de notification push dans le projet xCode.
4. Suivi des notifications push
Collez le code suivant dans la fonction application:didFinishLaunchingWithOptions:.
Mettez à jour la méthode applicationDidBecomeActive comme ci-dessous
| code language-none |
|---|
|
Mettez à jour la méthode applicationDidBecomeActive comme ci-dessous
| code language-none |
|---|
|
5. Initialiser le framework Marketo
Pour vous assurer que le framework Marketo est lancé au démarrage de l’application, ajoutez le code suivant sous la fonction onDeviceReady dans votre fichier JavaScript principal.
Notez que nous devons transmettre phonegap comme type de framework pour les applications PhoneGap.
Syntaxe
// This method will Initialize the Marketo Framework using Your MunchkinId and Secret Key
marketo.initialize(
function() { console.log("MarketoSDK Init done."); },
function(error) { console.log("an error occurred:" + error); },
'YOUR_MUNCHKIN_ID',
'YOUR_SECRET_KEY',
'FRAMEWORK_TYPE'
);
// For session tracking, add following.
marketo.onStart(
function(){ console.log("onStart."); },
function(error){ console.log("Failed to report onStart." + error); }
);
Paramètres
- Rappel de succès : fonction à exécuter si le framework Marketo s’initialise correctement.
- Rappel d’échec : fonction à exécuter si l’initialisation du framework Marketo échoue.
- MUNCHKIN ID : Munchkin ID reçu de Marketo au moment de l’enregistrement.
- CLÉ SECRÈTE : clé secrète reçue de Marketo au moment de l’enregistrement.
6. Initialiser La Notification Push Marketo
Pour vous assurer que la notification push Marketo est lancée, ajoutez le code suivant après la fonction initialize dans votre fichier JavaScript principal.
Syntaxe
// This function will Enable user notifications (prompts the user to accept push notifications in iOS)
marketo.initializeMarketoPush(
function() { console.log("Marketo push successfully initialized."); },
function(error) { console.log("an error occurred:" + error); },
'YOUR_GCM_PROJECT_ID' // This is required for Android and will be ignored in iOS
);
Paramètres
- Rappel de réussite : fonction à exécuter si la notification push Marketo s’initialise avec succès.
- Rappel d’échec : fonction à exécuter si l’initialisation de la notification push Marketo échoue.
- GCM_PROJECT_ID : ID de projet GCM trouvé dans Google Developers Console après la création de l’application.
Le jeton peut également être désenregistré lors de la déconnexion.
marketo. uninitializeMarketoPush(
function() { console.log("Marketo push successfully uninitialized."); } ,
function(error) { console.log("an error occurred:" + error); }
);
Association au prospect
Vous pouvez créer un lead Marketo en appelant la fonction AssociatedLead.
Syntaxe
marketo.associateLead(
function(){ console.log("MarketoSDK : Lead Added"); },
function(error){ console.log("an error occurred:" + error); },
'Lead_Data_JSON_String'
);
Paramètres
- Rappel de succès : fonction à exécuter si le framework Marketo associe le prospect avec succès.
- Rappel d’échec : fonction à exécuter si le framework Marketo ne parvient pas à associer le prospect.
- Données de lead : données de lead au format de chaîne JSON.
Exemple
// First create a lead as shown below
var lead = {};
lead[marketo.KEY_FIRST_NAME] = "Phone";
lead[marketo.KEY_LAST_NAME] = "Gap";
lead[marketo.KEY_EMAIL] = email;
lead[marketo.KEY_ADDRESS] = "demo address";
lead[marketo.KEY_CITY] = "city";
lead[marketo.KEY_STATE] = "state";
lead[marketo.KEY_COUNTRY] = "country";
lead[marketo.KEY_POSTAL_CODE] = "postalCode";
lead[marketo.KEY_GENDER] = "gender";
// To use lead custom field, use the REST API NAME as key
lead["REST API NAME"] = "value";
// Use associateLead function to associate it.
marketo.associateLead(
function() { console.log("MarketoSDK : Lead Associated"); },
function(error) { console.log("an error occurred:" + error); },
JSON.stringify(lead)
);
Action de rapport
Vous pouvez signaler toute action effectuée par un utilisateur en appelant la fonction reportaction.
Syntaxe
marketo.reportaction(
function(){ console.log("MarketoSDK : New event sent "); },
function(error){ console.log("an error occurred:" + error); },
'Action_Name',
'Action_Data_JSON_String'
);
Paramètres
- Rappel de succès : fonction à exécuter si le framework Marketo signale une action avec succès.
- Rappel d’échec : fonction à exécuter en cas d’échec de l’action de rapport du framework Marketo.
- Nom de l’action : nom de l’action.
- Données d’action : données d’action au format de chaîne JSON.
Exemple
// First create an event as below
var event = {
"Action Type":"Add To Cart",
"Action Details":"Adding Product in cart",
"Action Metric":"10",
"Action Length":"1"
}
marketo.reportaction(
function(){ console.log("Reported action successfully."); },
function(error){ console.log("Failed to report action." + error); },
"Add To Cart",
JSON.stringify(event)
);
Rapports de session
Liez les types d’événements « pause » et « reprise » comme illustré ci-dessous pour générer des rapports sur les événements Démarrer et Arrêter. Permet d’effectuer le suivi de la durée de consultation de votre application mobile. Remarque : cela est obligatoire dans Android.
//Add the following code in your www/js/index.js
bindEvents: function() {
document.addEventListener('pause', this.onStop, false);
document.addEventListener('resume', this.onStart, false);
},
onStop: function() {
marketo.onStop(
function(){ console.log("onStop"); },
function(error){ console.log("Failed to report onStop." + error); }
);
},
onStart: function() {
marketo.onStart(
function(){ console.log("onStart."); },
function(error){console.log( "Failed to report onStart." + error); }
);
},
Création de leads
Il existe trois façons de créer des prospects à partir d’une application hybride :
- MARKETO MME SDK
- API REST MARKETO
- Envoi du formulaire
Selon la méthode utilisée, un prospect nouvellement créé sera reconnu par différents déclencheurs et filtres. Les prospects créés à l’aide de l’API REST ou de MME SDK apparaissent dans les déclencheurs et filtres « Lead créé ». Les leads créés par des envois de formulaire apparaissent dans les déclencheurs et filtres « Remplir le formulaire ».
La bonne pratique consiste à rester cohérent avec la méthode utilisée par l’application web lors de la création de prospects. Si vous disposez déjà d’une application web qui utilise l’envoi de formulaire comme mécanisme de création de prospects, utilisez le même mécanisme lors de la création de prospects dans votre application hybride. Si vous disposez déjà d’une application web qui utilise notre API REST comme mécanisme de création de prospects, utilisez ce même mécanisme lors de la création de prospects dans votre application hybride. Dans les cas où vous n’utilisez ni l’envoi de formulaire ni l’API REST comme mécanisme de création de prospects dans votre application web, vous pouvez envisager d’utiliser MME SDK pour créer des prospects dans Marketo.