Telefonlücke

Integration des Marketo PhoneGap-Plug-ins

Voraussetzungen

  1. Anwendung in Marketo Admin hinzufügen (Abrufen des geheimen Anwendungsschlüssels und der Munchkin-ID).
  2. Push-Benachrichtigungen einrichten (iOS | Android).
  3. Installieren von PhoneGap/Cordova CLI.

Installationsanweisungen

  1. Einrichten des Marketo PhoneGap-Plug-ins

    Wenn die Cordova-CLI installiert ist, wechseln Sie zu Ihrem PhoneGap-Anwendungsverzeichnis und führen Sie den folgenden Befehl aus, um das Marketo-Plug-in zu Ihrer Anwendung hinzuzufügen:

    $ cordova plugin add https://github.com/Marketo/PhoneGapPlugin.git --variable APPLICATION_SECRET_KEY="YOUR_APPLICATION_SECRET"

  2. FCM-Plug-in installieren

    $ cordova plugin add cordova-plugin-fcm

    Um zu bestätigen, dass das Plug-in zur Anwendung hinzugefügt wurde, führen Sie den folgenden Befehl aus und überprüfen Sie

    $ cordova plugin ls com.marketo.plugin 0.X.0 "MarketoPlugin" cordova-plugin-fcm 2.1.2 "FCMPlugin"

Migrieren zur neueren Version (optional)

Um ein vorhandenes Plug-in zu entfernen, führen Sie den folgenden Befehl aus:

$ cordova plugin remove com.marketo.plugin

Um das Plug-in erneut hinzuzufügen, führen Sie den folgenden Befehl aus:

$ 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) und höher

Öffnen Sie nach der Erstellung der Cordova Android-Plattform die App mit Android Studio und aktualisieren Sie den dirs der Marketo.gradle im com.marketo.plugin.

repositories{
  jcenter()
  flatDir{
      dirs '../app/src/main/aar'
   }
}

Fügen Sie die Plattformen hinzu, die für die App ausgewählt werden sollen $cordova platform add android $ cordova platform add ios

Überprüfen der Liste der $cordova platform ls hinzugefügten Plattformen

  1. Firebase Cloud Messaging-Unterstützung

  2. Konfigurieren der Firebase App in der Firebase Console.

    1. Erstellen/Hinzufügen eines Projekts in 🔗Firebase Console.

      1. Wählen Sie in FirebaseKonsole Projekt hinzufügen aus.
      2. Wählen Sie Ihr GCM-Projekt aus der Liste der vorhandenen Google Cloud-Projekte aus und klicken Sie auf Firebase hinzufügen.
      3. Wählen Sie im Firebase-Willkommensbildschirm „Firebase zu Ihrer Android-App hinzufügen“ aus.
      4. Geben Sie Ihren Paketnamen und SHA-1 an und wählen Sie App hinzufügen aus. Eine neue google-services.json für Ihre Firebase-App wird heruntergeladen.
    2. Navigieren Sie Projekteinstellungen in Projektübersicht

      1. Klicken Sie auf Registerkarte Allgemein“. Laden Sie die Datei „google-services.json“ herunter.
      2. Klicken Sie auf Registerkarte Cloud Messaging“. Kopieren Server-Schlüssel und Absender-ID. Stellen Sie diese Serverschlüssel und Absender-ID für Marketo bereit.
    3. Konfigurieren von FCM-Änderungen in der PhoneGap-App

      1. Verschieben Sie die heruntergeladene Datei „google-services.json“ in das Stammverzeichnis des PhoneGap-App-Moduls.

      2. Datei 'MyFirebaseInstanceIDService' aus Speicherort platforms/android/app/src/main/java/com/gae/scaffolder/plugin (veraltet) entfernen

      3. Ändern Sie die Datei „MyFirebaseMessagingService“ am Speicherort platforms/android/app/src/main/java/com/gae/scaffolder/plugin wie folgt:

        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
        }
        }
        
        1. Ändern Sie die Datei „fcm_config_files_process.js“ am Speicherort plugins/cordova-plugin-fcm/scripts wie folgt

          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. Aktivieren von Push-Benachrichtigungen in xCode

Aktivieren der Push-Benachrichtigungsfunktion in einem xCode-Projekt.

​4. Push-Benachrichtigungen tracken

Fügen Sie den folgenden Code in die application:didFinishLaunchingWithOptions: ein.

Ziel C

Aktualisieren Sie die applicationDidBecomeActive wie unten beschrieben

code language-none
Marketo *sharedInstance = [Marketo sharedInstance];

[sharedInstance trackPushNotification:launchOptions];
Swift

Aktualisieren Sie die applicationDidBecomeActive wie unten beschrieben

code language-none
let sharedInstance: Marketo = Marketo.sharedInstance()

sharedInstance.trackPushNotification(launchOptions)

​5. Marketo-Framework initialisieren

Um sicherzustellen, dass das Marketo-Framework beim Start des Programms initiiert wird, fügen Sie den folgenden Code unter der onDeviceReady in Ihrer JavaScript-Hauptdatei hinzu.

Beachten Sie, dass wir phonegap als Framework-Typ für PhoneGap-Apps übergeben müssen.

Syntax

// 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); }
);

Parameter

  • Success Callback : Funktion, die ausgeführt wird, wenn das Marketo-Framework erfolgreich initialisiert wurde.
  • Fehlgeschlagener Callback : Funktion, die ausgeführt wird, wenn das Marketo-Framework nicht initialisiert werden kann.
  • MUNCHKIN-ID : Munchkin-ID, die zum Zeitpunkt der Registrierung von Marketo erhalten wurde.
  • GEHEIMSCHLÜSSEL : Geheimer Schlüssel, der zum Zeitpunkt der Registrierung von Marketo empfangen wurde.

​6. Initialisieren der Marketo-Push-Benachrichtigung

Um sicherzustellen, dass die Marketo-Push-Benachrichtigung gestartet wird, fügen Sie der Hauptdatei von JavaScript nach der Initialisierungsfunktion den folgenden Code hinzu.

Syntax

// 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
);

Parameter

  • Success Callback : Funktion, die ausgeführt wird, wenn die Marketo-Push-Benachrichtigung erfolgreich initialisiert wurde.
  • Fehlgeschlagener Rückruf : Funktion, die ausgeführt wird, wenn die Marketo-Push-Benachrichtigung nicht initialisiert werden kann.
  • GCM_PROJECT_ID : GCM-Projekt-ID, die nach dem Erstellen der App in ​ Entwicklerkonsole von Google gefunden wurde.

Die Registrierung des Tokens kann auch beim Abmelden aufgehoben werden.

marketo. uninitializeMarketoPush(
  function() { console.log("Marketo push successfully uninitialized."); } ,
  function(error) { console.log("an error occurred:" + error); }
);

Lead verknüpfen

Sie können einen Marketo-Lead erstellen, indem Sie die Funktion AssociateLead aufrufen.

Syntax

marketo.associateLead(
  function(){ console.log("MarketoSDK : Lead Added"); },
  function(error){ console.log("an error occurred:" + error); },
  'Lead_Data_JSON_String'
);

Parameter

  • Success Callback : Funktion, die ausgeführt wird, wenn das Marketo-Framework den Lead erfolgreich verknüpft.
  • Fehlgeschlagener Rückruf : Funktion, die ausgeführt wird, wenn das Marketo-Framework den Lead nicht verknüpfen kann.
  • Lead-Daten : Lead-Daten im JSON-Zeichenfolgenformat.

Beispiel

// 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)
);

Berichtsaktion

Sie können jede vom Benutzer durchgeführte Aktion melden, indem Sie die reportaction-Funktion aufrufen.

Syntax

marketo.reportaction(
  function(){ console.log("MarketoSDK : New event sent "); },
  function(error){ console.log("an error occurred:" + error); },
  'Action_Name',
  'Action_Data_JSON_String'
);

Parameter

  • Erfolgs-Callback : Funktion, die ausgeführt wird, wenn das Marketo-Framework eine Aktion erfolgreich meldet.
  • Fehlgeschlagener Rückruf : Funktion, die ausgeführt wird, wenn das Marketo-Framework keine Berichtsaktion ausgibt.
  • Aktionsname : Aktionsname.
  • Aktionsdaten : Aktionsdaten im JSON-Zeichenfolgenformat.

Beispiel

// 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)
);

Sitzungsberichte

Binden Sie die Ereignistypen „Anhalten“ und „Fortsetzen“ wie unten gezeigt, um Start- und Stopp-Ereignisse zu melden.  Damit wird die in der Mobile App verbrachte Zeit verfolgt. Hinweis: Dies ist in Android erforderlich.

//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); }
   );
},

Leads erstellen

Es gibt drei Möglichkeiten, Leads aus einer Hybrid-App zu erstellen:

  1. MARKETO MME SDK
  2. Marketo REST-API
  3. Formular senden

Je nach verwendeter Methode wird ein neu erstellter Lead von verschiedenen Triggern und Filtern erkannt. Leads, die mit der MME SDK- oder REST-API erstellt wurden, werden in den Triggern und Filtern „Lead erstellt“ angezeigt. Durch Formularübermittlungen erstellte Leads werden in den Triggern und Filtern des „ausgefüllten Formulars“ angezeigt.

Es empfiehlt sich, bei der Erstellung von Leads die Konsistenz mit der von der Web-Anwendung verwendeten Methode zu wahren. Wenn Sie bereits über eine Web-Anwendung verfügen, die die Formularübermittlung als Mechanismus zum Erstellen von Leads verwendet, verwenden Sie denselben Mechanismus beim Erstellen von Leads in Ihrer Hybrid-Anwendung. Wenn Sie bereits über eine Web-Anwendung verfügen, die unsere REST-API als Mechanismus zum Erstellen von Leads verwendet, verwenden Sie denselben Mechanismus beim Erstellen von Leads in Ihrer Hybrid-App. Wenn Sie weder die Formularübermittlung noch die REST-API als Mechanismus zum Erstellen von Leads in Ihrer Web-Anwendung verwenden, können Sie erwägen, die MME-SDK zum Erstellen von Leads in Marketo zu verwenden.

recommendation-more-help
bb269a6d-047a-4bf7-9acd-23ad9a63dc59