Instalação

Instale e inicialize o Marketo Mobile SDK para enviar notificações por push, mensagens no aplicativo ou ambos.

Instalar o Marketo SDK no iOS

Pré-requisitos

  1. Adicione um aplicativo ao Administrador do Marketo e obtenha a Chave Secreta e a ID do Munchkin do aplicativo.
  2. Opcional: Configurar notificações por push.

Instalar a estrutura via CocoaPods

  1. Instale o CocoaPods. $ sudo gem install cocoapods
  2. Altere o diretório para o diretório do projeto e crie um Podfile com padrões inteligentes. $ pod init
  3. Abra o Podfile. $ open -a Xcode Podfile
  4. Adicione a seguinte linha ao Podfile. $ pod 'Marketo-iOS-SDK'
  5. Salve e feche o Podfile.
  6. Baixe e instale o Marketo iOS SDK. $ pod install
  7. Abra o espaço de trabalho no Xcode. $ open App.xcworkspace

Instalar a estrutura usando o Gerenciador de pacotes Swift

  1. Selecione o projeto no Navegador de projetos. Em “Adicionar dependência de pacote”, selecione “+”.

    Adicionar dependência

  2. Adicionar o pacote Marketo de https://github.com/Marketo/ios-sdk.

    URL do repositório

  3. Adicione o conjunto de recursos. Localize MarketoFramework.XCframework no Navegador de Projetos e abra-o no Localizador. Arraste MKTResources.bundle para Copiar Recursos do Pacote.

Configurar cabeçalho de ponte Swift

  1. Vá para Arquivo > Novo > Arquivo e selecione “Arquivo de cabeçalho”.

    Selecione "Arquivo de Cabeçalho"

  2. Nomeie o arquivo “<ProjectName>-Bridging-Header”.

  3. Vá para Projeto > Target > Criar fases > Compilador Swift > Geração de código. Adicione o seguinte caminho ao Cabeçalho da ponte de objetivos:

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

    Fases de Compilação

Inicializar o SDK

Inicialize o Marketo iOS SDK com sua ID de conta da Munchkin e a chave secreta do aplicativo. Encontre ambos os valores em “Aplicativos e dispositivos móveis” no Marketo Admin.

  1. Abra o arquivo AppDelegate.m para Objetive-C ou o arquivo Bridging para Swift. Importe o arquivo de cabeçalho Marketo.h.

    code language-none
    #import <MarketoFramework/MarketoFramework.h>
    
  2. Cole o seguinte código dentro da função application:didFinishLaunchingWithOptions:.

    Transmita “nativo” como o tipo de estrutura para aplicativos nativos.

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. Substitua munkinAccountId e secretKey pela “ID da Conta da Munchkin” e “Chave Secreta” do Marketo Admin > Aplicativos e Dispositivos Móveis.

Dispositivos de teste iOS

  1. Selecione Projeto > Destino > Informações > Tipos de URL.
  2. Adicione o identificador ${PRODUCT_NAME}.
  3. Defina Esquemas de URL como mkto-<Secret Key_>.
  4. Adicione o aplicativosourceApplication ao arquivo AppDelegate.m para Objetive-C.

Tratar tipo de URL personalizado no 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)
    }

Como instalar o Marketo SDK no Android

Pré-requisitos

Configuração do Android SDK com Gradle

  1. No arquivo build.gradle no nível do aplicativo, adicione a dependência na seção de dependências.

    implementation 'com.marketo:MarketoSDK:0.8.9'

  2. Adicione a configuração a seguir ao arquivo raiz build.gradle.

    code language-none
    buildscript {
        repositories {
            google()
            mavenCentral()
        }
    
  3. Sincronize o projeto com os arquivos Gradle.

Configurar permissões

Abra AndroidManifest.xml e adicione as seguintes permissões. Seu aplicativo deve solicitar as permissões “INTERNET” e “ACCESS_NETWORK_STATE”. Ignore esta etapa se o aplicativo já as solicitar.

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

Inicializar o SDK

  1. Abra a classe Application ou Activity. Importe o Marketo SDK para a Atividade antes de setContentView ou no Contexto de Aplicativo.

    code language-java
    // Initialize Marketo
    Marketo marketoSdk = Marketo.getInstance(getApplicationContext());
    marketoSdk.initializeSDK("native","munchkinAccountId","secretKey");
    
  2. Configuração do ProGuard (opcional)

    Se seu aplicativo usa ProGuard, adicione as seguintes linhas ao arquivo proguard.cfg na pasta do projeto. Essa configuração exclui a SDK do Marketo da ofuscação.

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

Dispositivos de teste Android

Adicione “MarketoActivity” a AndroidManifest.xml dentro da marca do aplicativo.

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

Suporte a Firebase Cloud Messaging

O MME SDK para Android é compatível com o uso direto do Firebase Cloud Messaging (FCM) da Google.

Adicionar o FCM ao aplicativo

  1. Integre o Marketo Android SDK mais recente ao aplicativo do Android. Consulte as etapas no GitHub.

  2. Configure o aplicativo Firebase no Console do Firebase.

    1. Criar/adicionar um projeto no 🔗Console Firebase.

      1. No console Firebase, selecione Add Project.
      2. Selecione o projeto GCM na lista de projetos existentes da Google Cloud e selecione Add Firebase.
      3. Na tela de boas-vindas do Firebase, selecione Add Firebase to your Android App.
      4. Forneça o nome do pacote e SHA-1 e selecione Add App. Um novo arquivo google-services.json para seu aplicativo Firebase está sendo baixado.
      5. Selecione Continue e siga as instruções detalhadas para adicionar o plug-in do Google Services no Android Studio.
    2. Navegue até “Configurações do projeto” na Visão geral do projeto

      1. Clique na guia ‘Geral’. Baixe o arquivo “google-services.json”.
      2. Clique na guia “Cloud Messaging”. Copie “Chave do servidor” e “ID do remetente”. Forneça essas “Chave do servidor” e “ID do remetente” à Marketo.
    3. Configure o FCM no aplicativo do Android.

      1. Alterne para a exibição Projeto no Android Studio para ver o diretório raiz do projeto

        1. Mova o arquivo “google-services.json” baixado para o diretório raiz do módulo do aplicativo Android

        2. Em build.gradle no nível do projeto, adicione o seguinte:

          code language-none
          buildscript {
            dependencies {
              classpath 'com.google.gms:google-services:4.0.0'
            }
          }
          
        3. Em build.gradle no nível do aplicativo, adicione o seguinte:

          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, selecione Sincronizar agora na barra que aparece na ID

    4. Edite o manifesto do aplicativo. O FCM SDK adiciona automaticamente as permissões necessárias e a funcionalidade do receptor. Remova os seguintes elementos obsoletos, que podem causar a duplicação da mensagem:

      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