Instalación

Instale e inicialice Marketo Mobile SDK para enviar notificaciones push, mensajes en la aplicación o ambos.

Instalación de Marketo SDK en iOS

Requisitos previos

  1. Agregue una aplicación al administrador de Marketo y obtenga la clave secreta y el Munchkin Id de la aplicación.
  2. Opcional: Configurar notificaciones push.

Instalar Framework mediante CocoaPods

  1. Instale CocoaPods. $ sudo gem install cocoapods
  2. Cambie el directorio al directorio del proyecto y cree un Podfile con valores predeterminados inteligentes. $ pod init
  3. Abra el Podfile. $ open -a Xcode Podfile
  4. Añada la siguiente línea a su Podfile. $ pod 'Marketo-iOS-SDK'
  5. Guarde y cierre el Podfile.
  6. Descargue e instale Marketo iOS SDK. $ pod install
  7. Abra el espacio de trabajo en Xcode. $ open App.xcworkspace

Instalación de Framework mediante el Administrador de paquetes Swift

  1. Seleccione el proyecto en el Navegador de proyectos. En “Añadir dependencia del paquete”, seleccione “+”.

    Agregar dependencia

  2. Agregar el paquete de Marketo desde https://github.com/Marketo/ios-sdk.

    URL del repositorio

  3. Añada el paquete de recursos. Busque MarketoFramework.XCframework en el Navegador de proyectos y ábralo en el Buscador. Arrastre MKTResources.bundle para copiar los recursos del paquete.

Configurar encabezado de puente de Swift

  1. Vaya a Archivo > Nuevo > Archivo y seleccione “Archivo de encabezado”.

    Seleccionar "Archivo de encabezado"

  2. Asigne un nombre al archivo “<ProjectName>-Bridging-Header”.

  3. Vaya a Proyecto > Target > Fases de compilación > Compilador Swift > Generación de código. Añada la siguiente ruta al encabezado Objective-Bridging:

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

    Fases de compilación

Inicializar SDK

Inicialice Marketo iOS SDK con su ID de cuenta de Munchkin y la clave secreta de la aplicación. Busque ambos valores en “Aplicaciones y dispositivos móviles” en Administración de Marketo.

  1. Abra el archivo AppDelegate.m para Objective-C o el archivo puente para Swift. Importe el archivo de encabezado Marketo.h.

    code language-none
    #import <MarketoFramework/MarketoFramework.h>
    
  2. Pegue el siguiente código dentro de la función application:didFinishLaunchingWithOptions:.

    Pase “native” como el tipo de framework para aplicaciones nativas.

Objetivo C
code language-objectivec
Marketo *sharedInstance = [Marketo sharedInstance];

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

sharedInstance.initialize(withMunchkinID: "munchkinAccountId", appSecret: "secretKey", mobileFrameworkType: "native", launchOptions: launchOptions)
  1. Reemplace munkinAccountId y secretKey por el “ID de cuenta de Munchkin” y la “clave secreta” de Marketo Admin > Aplicaciones y dispositivos móviles.

Dispositivos de prueba iOS

  1. Seleccione Proyecto > Target > Información > Tipos de URL.
  2. Agregue el identificador ${PRODUCT_NAME}.
  3. Definir esquemas de URL en mkto-<Secret Key_>.
  4. Agregue la aplicación sourceApplication al archivo AppDelegate.m para Objective-C.

Administrar el tipo de URL personalizada en AppDelegate

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

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

Cómo instalar Marketo SDK en Android

Requisitos previos

  1. Agregue una aplicación al administrador de Marketo y obtenga la clave secreta y el Munchkin Id de la aplicación.
  2. Opcional: Configurar notificaciones push.
  3. Descargar Marketo SDK para Android

Configuración de Android SDK con Gradle

  1. En el archivo build.gradle de nivel de aplicación, agregue la dependencia en la sección de dependencias.

    implementation 'com.marketo:MarketoSDK:0.8.9'

  2. Agregue la siguiente configuración al archivo raíz build.gradle.

    code language-none
    buildscript {
        repositories {
            google()
            mavenCentral()
        }
    
  3. Sincronice el proyecto con los archivos de Gradle.

Configuración de permisos

Abra AndroidManifest.xml y agregue los siguientes permisos. La aplicación debe solicitar los permisos “INTERNET” y “ACCESS_NETWORK_STATE”. Omita este paso si la aplicación ya los solicita.

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

Inicializar SDK

  1. Abra la clase Application o Activity. Importe Marketo SDK en la actividad antes de setContentView o en el contexto de la aplicación.

    code language-java
    // Initialize Marketo
    Marketo marketoSdk = Marketo.getInstance(getApplicationContext());
    marketoSdk.initializeSDK("native","munchkinAccountId","secretKey");
    
  2. Configuración de ProGuard (opcional)

    Si su aplicación utiliza ProGuard, agregue las siguientes líneas al archivo proguard.cfg en la carpeta del proyecto. Esta configuración excluye la SDK de Marketo de la ofuscación.

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

Dispositivos de prueba Android

Agregue “MarketoActivity” a AndroidManifest.xml dentro de la etiqueta de la aplicación.

<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>

Compatibilidad con Firebase Cloud Messaging

MME SDK para Android admite el uso directo de Firebase Cloud Messaging (FCM) de Google.

Añadir FCM a la aplicación

  1. Integre la última versión de Marketo Android SDK en la aplicación de Android. Consulte los pasos en GitHub.

  2. Configure la aplicación Firebase en la consola de Firebase.

    1. Crear/agregar un proyecto en 🔗consola Firebase.

      1. En la consola de Firebase, seleccione Add Project.
      2. Seleccione el proyecto GCM de la lista de proyectos existentes de Google Cloud y seleccione Add Firebase.
      3. En la pantalla de bienvenida de Firebase, seleccione Add Firebase to your Android App.
      4. Proporcione el nombre del paquete y SHA-1, y seleccione Add App. Se ha descargado un nuevo archivo de google-services.json para la aplicación Firebase.
      5. Seleccione Continue y siga las instrucciones detalladas para agregar el complemento de Google Services en Android Studio.
    2. Vaya a “Configuración del proyecto” en Información general del proyecto

      1. Haga clic en la pestaña General. Descargue el archivo “google-services.json”.
      2. Haga clic en la pestaña “Mensajería en la nube”. Copie “Clave de servidor” e “ID de remitente”. Proporcione estas opciones “Clave de servidor” e “ID de remitente” a Marketo.
    3. Configure FCM en la aplicación de Android.

      1. Cambie a la vista Proyecto en Android Studio para ver el directorio raíz del proyecto

        1. Mueva el archivo “google-services.json” descargado al directorio raíz del módulo de la aplicación de Android

        2. En el archivo build.gradle de nivel de proyecto, agregue lo siguiente:

          code language-none
          buildscript {
            dependencies {
              classpath 'com.google.gms:google-services:4.0.0'
            }
          }
          
        3. En App-level build.gradle, agregue lo siguiente:

          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. Finalmente, selecciona Sincronizar ahora en la barra que aparece en el identificador

    4. Edite el manifiesto de la aplicación. FCM SDK agrega automáticamente los permisos necesarios y la funcionalidad del receptor. Elimine los siguientes elementos obsoletos, que podrían provocar la duplicación de mensajes:

      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
marketo-developer-help