Installation

Instructions d’installation pour Marketo Mobile SDK. Les étapes ci-dessous sont nécessaires pour envoyer des notifications push et/ou des messages In-App.

Installation de Marketo SDK sur iOS

Conditions préalables

  1. Ajout d’une application dans Marketo Admin (obtention de la clé secrète de l’application et de l’ID Munchkin)
  2. Configurer des notifications push (facultatif)

Installation de Framework via CocoaPods

  1. Installez CocoaPods. $ sudo gem install cocoapods
  2. Remplacez le répertoire par le répertoire de votre projet et créez un fichier PDF avec des valeurs par défaut intelligentes. $ pod init
  3. Ouvrez votre fichier PDF. $ open -a Xcode Podfile
  4. Ajoutez la ligne suivante à votre fichier PDF. $ pod 'Marketo-iOS-SDK'
  5. Enregistrez et fermez votre fichier PDF.
  6. Télécharger et installer Marketo iOS SDK. $ pod install
  7. Ouvrez l’espace de travail dans Xcode. $ open App.xcworkspace

Installer Framework à l’aide du gestionnaire de packages Swift

  1. Sélectionnez votre projet dans le navigateur de projets et sous « Ajouter une dépendance de package », cliquez sur « + » comme illustré ci-dessous :

    Ajouter une dépendance

  2. Ajoutez le package Marketo à partir de ce référentiel. Ajoutez cette URL pour ce référentiel : https://github.com/Marketo/ios-sdk.

    URL du référentiel

  3. Ajoutez maintenant le lot de ressources comme illustré ci-dessous : recherchez MarketoFramework.XCframework dans le navigateur de projets et ouvrez-le dans le Finder. Effectuez un glisser-déposer des MKTResources.bundle pour copier les ressources du bundle.

Configurer l'en-tête de pontage Swift

  1. Accédez à Fichier > Nouveau > Fichier et sélectionnez « Fichier d’en-tête ».

    Sélectionnez « Fichier d’en-tête »

  2. Nommez le fichier « <ProjectName>-Bridging-Header ».

  3. Accédez à Projet > Cible > Phases de création > Compilateur Swift > Génération de code. Ajoutez le chemin suivant à l’en-tête de pontage d’objectifs :

    $(PODS_ROOT)/<_ProjectName_>-Bridging-Header.h

    Phases de création

Initialiser SDK

Avant de pouvoir utiliser le SDK Marketo iOS, vous devez l’initialiser avec votre ID de compte Munchkin et la Clé secrète de l’application. Vous trouverez chacun de ces éléments dans la zone d’administration Marketo sous « Applications et appareils mobiles ».

  1. Ouvrez votre fichier AppDelegate.m (Objective-C) ou le fichier de pontage (Swift) et importez le fichier d’en-tête Marketo.h.

    code language-none
    #import <MarketoFramework/MarketoFramework.h>
    
  2. Collez le code suivant dans la fonction application:didFinishLaunchingWithOptions : .

    Notez que nous devons transmettre « native » comme type de framework pour les applications natives.

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

[sharedInstance initializeWithMunchkinID:@"munchkinAccountId" appSecret:@"secretKey" mobileFrameworkType:@"native" launchOptions:launchOptions];
Swift
code language-none
let sharedInstance: Marketo = Marketo.sharedInstance()

sharedInstance.initialize(withMunchkinID: "munchkinAccountId", appSecret: "secretKey", mobileFrameworkType: "native", launchOptions: launchOptions)
  1. Remplacez les munkinAccountId et secretKey ci-dessus à l’aide de votre « ID de compte Munchkin » et de votre « Clé secrète » qui se trouvent dans la section Marketo Admin > Applications et appareils mobiles.

Appareils de test iOS

  1. Sélectionnez Projet > Cible > Informations > Types d’URL.
  2. Ajouter un identifiant : $
  3. Définir les schémas d'URL : mkto-<Secret Key_>
  4. Incluez applicationsourceApplication dans le fichier AppDelegate.m (Objective-C)

Gérer le type d’URL personnalisé dans AppDelegate

Objectif C
code language-none
- (BOOL)application:(UIApplication *)app
            openURL:(NSURL *)url
            options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{

    return [[Marketo sharedInstance] application:app
                                         openURL:url
                                         options:options];
}
Swift
code language-none
private func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool
    {
        return Marketo.sharedInstance().application(app, open: url, options: options)
    }

Installation de Marketo SDK sur Android

Conditions préalables

  1. Ajout d’une application dans Marketo Admin (obtention de la clé secrète de l’application et de l’ID Munchkin)
  2. Configurer des notifications push (facultatif)
  3. Télécharger Marketo SDK pour Android

Configuration d’Android SDK avec Gradle

1. Dans le fichier build.gradle de niveau application, sous la section dependencies, ajoutez :

implementation 'com.marketo:MarketoSDK:0.8.9'

  1. Le fichier de build.gradle racine doit comporter

    code language-none
    buildscript {
        repositories {
            google()
            mavenCentral()
        }
    
  2. Synchroniser le projet avec les fichiers Gradle

Configurer les autorisations

Ouvrez AndroidManifest.xml et ajoutez les autorisations suivantes. Votre application doit demander les autorisations « INTERNET » et « ACCESS_NETWORK_STATE ». Si votre application demande déjà ces autorisations, ignorez cette étape.

<uses‐permission android:name="android.permission.INTERNET"></uses‐permission>
<uses‐permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses‐permission>

Initialiser SDK

  1. Ouvrez la classe Application ou Activity dans votre application et importez le SDK Marketo dans votre activité avant setContentView ou dans Application Context.

    code language-java
    // Initialize Marketo
    Marketo marketoSdk = Marketo.getInstance(getApplicationContext());
    marketoSdk.initializeSDK("native","munchkinAccountId","secretKey");
    
  2. Configuration de ProGuard (en option)

    Si vous utilisez ProGuard pour votre application, ajoutez les lignes suivantes dans votre fichier proguard.cfg. Le fichier se trouve dans le dossier du projet. L’ajout de ce code exclut le SDK Marketo du processus d’obscurcissement.

    code language-none
    -dontwarn com.marketo.*
    -dontnote com.marketo.*
    -keep class com.marketo.`{ *; }
    

Appareils de test Android

Ajoutez « MarketoActivity » au fichier AndroidManifest.xml dans la balise de l’application.

<activity android:name="com.marketo.MarketoActivity"  android:configChanges="orientation|screenSize" >
    <intent-filter android:label="MarketoActivity" >
        <action  android:name="android.intent.action.VIEW"/>
        <category  android:name="android.intent.category.DEFAULT"/>
        <category  android:name="android.intent.category.BROWSABLE"/>
        <data android:host="add_test_device" android:scheme="mkto" />
    </intent-filter>
</activity>

Prise en charge de Firebase Cloud Messaging

Le kit de développement logiciel MME (SDK) pour Android a été mis à jour vers un framework plus moderne, stable et évolutif qui contient plus de flexibilité et de nouvelles fonctionnalités d'ingénierie pour votre développeur d'applications Android.

Les développeurs d’applications Android peuvent désormais utiliser directement Google Firebase Cloud Messaging (FCM) avec ce SDK.

Ajout de FCM à votre application

  1. Intégrez la dernière version de Marketo Android SDK dans l’application Android.  Les étapes sont disponibles sur GitHub.

  2. Configurez l’application Firebase sur la console Firebase.

    1. Créez/ajoutez un projet sur la console 🔗Firebase).

      1. Dans la console Firebase, sélectionnez Add Project.
      2. Sélectionnez votre projet GCM dans la liste des projets Google Cloud existants, puis sélectionnez Add Firebase.
      3. Dans l'écran d'accueil de Firebase, sélectionnez Add Firebase to your Android App.
      4. Indiquez le nom de votre package et SHA-1, puis sélectionnez Add App. Un nouveau fichier google-services.json pour votre application Firebase est téléchargé.
      5. Sélectionnez Continue et suivez les instructions détaillées pour ajouter le plug-in Google Services dans Android Studio.
    2. Accédez aux « Paramètres du projet » dans la Présentation du projet

      1. Cliquez sur l’onglet « Général ». Téléchargez le fichier « google-services.json ».
      2. Cliquez sur l’onglet « Cloud Messaging ». Copiez « Clé du serveur » et « Identifiant de l’expéditeur ». Fournissez ces champs « Clé du serveur » et « ID de l’expéditeur » à Marketo.
    3. Configuration des modifications FCM dans l’application Android

      1. Basculez vers la vue Projet dans Android Studio pour afficher le répertoire racine du projet

        1. Déplacez le fichier « google-services.json » téléchargé dans le répertoire racine du module d’application Android

        2. Dans le fichier build.gradle au niveau du projet, ajoutez ce qui suit :

          code language-none
          buildscript {
            dependencies {
              classpath 'com.google.gms:google-services:4.0.0'
            }
          }
          
        3. Dans le fichier build.gradle de niveau application, ajoutez ce qui suit :

          code language-none
          dependencies {
            compile 'com.google.firebase:firebase-core:17.4.0'
          }
          // Add to the bottom of the file
          apply plugin: 'com.google.gms.google-services'
          
        4. Enfin, cliquez sur « Synchroniser maintenant » dans la barre qui s’affiche dans l’ID

    4. Modifier le manifeste de votre application Le SDK FCM ajoute automatiquement toutes les autorisations requises et la fonctionnalité de récepteur requise. Veillez à supprimer les éléments obsolètes (et potentiellement dangereux, car ils peuvent entraîner la duplication des messages) suivants du manifeste de votre application :

      code language-xml
      <uses-permission android:name="android.permission.WAKE_LOCK" />
      <permission android:name="<your-package-name>.permission.C2D_MESSAGE" android:protectionLevel="signature" />
      <uses-permission android:name="<your-package-name>.permission.C2D_MESSAGE" />
      
      ...
      
      <receiver>
        android:name="com.google.android.gms.gcm.GcmReceiver"
        android:exported="true"
        android:permission="com.google.android.c2dm.permission.SEND"
        <intent-filter>
          <action android:name="com.google.android.c2dm.intent.RECEIVE" />
          <category android:name="<your-package-name> />
        </intent-filter>
      </receiver>
      
recommendation-more-help
bb269a6d-047a-4bf7-9acd-23ad9a63dc59