Installation
Installationsanweisungen für das Marketo Mobile SDK. Die folgenden Schritte sind erforderlich, um Push-Benachrichtigungen und/oder In-App-Nachrichten zu senden.
Installieren des Marketo SDK in iOS
Voraussetzungen
- Hinzufügen einer Anwendung in Marketo Admin (Abrufen des geheimen Schlüssels für die Anwendung und der Munchkin-ID)
- Push-Benachrichtigungen einrichten (optional)
Framework über CocoaPods installieren
- Installieren Sie CocoaPods.
$ sudo gem install cocoapods
- Ändern Sie das Verzeichnis in Ihr Projektverzeichnis und erstellen Sie eine Podfile mit intelligenten Standardeinstellungen.
$ pod init
- Öffnen Sie Ihre Podfile.
$ open -a Xcode Podfile
- Fügen Sie Ihrer Podfile die folgende Zeile hinzu.
$ pod 'Marketo-iOS-SDK'
- Speichern und schließen Sie Ihre Podfile.
- Herunterladen und Installieren des Marketo iOS SDK
$ pod install
- Öffnen Sie Workspace in Xcode.
$ open App.xcworkspace
Installieren von Framework mithilfe von Swift Package Manager
-
Wählen Sie Ihr Projekt im Projektnavigator aus und klicken Sie unter "Paketabhängigkeit hinzufügen"auf "+", wie unten dargestellt:
-
Fügen Sie das Marketo-Paket aus diesem Repo hinzu. Fügen Sie diese URL für dieses Repository hinzu: https://github.com/Marketo/ios-sdk.
-
Fügen Sie nun das Ressourcen-Bundle wie folgt hinzu: Suchen Sie
MarketoFramework.XCframework
im Projektnavigator und öffnen Sie es in Finder. Ziehen SieMKTResources.bundle
in den Arbeitsbereich, um die Bundle-Ressourcen zu kopieren.
Swift Bridging-Kopfzeile einrichten
-
Gehen Sie zu Datei > Neu > Datei und wählen Sie "Header File".
-
Nennen Sie die Datei "<Projektname>-Bridging-Header".
-
Gehen Sie zu Projekt > Ziel > Build-Phasen > Swift-Compiler > Codegenerierung. Fügen Sie den folgenden Pfad zur Objective-Bridging-Kopfzeile hinzu:
$(PODS_ROOT)/<_ProjectName_>-Bridging-Header.h
SDK initialisieren
Bevor Sie das Marketo iOS SDK verwenden können, müssen Sie es mit Ihrer Munchkin-Konto-ID und Ihrem App-Geheimnisschlüssel initialisieren. Sie finden diese im Marketo Admin-Bereich unter "Apps und Geräte für Mobilgeräte".
-
Öffnen Sie die Datei AppDelegate.m (Objective-C) oder Bridging (Swift) und importieren Sie die Header-Datei Marketo.h.
code language-none #import <MarketoFramework/MarketoFramework.h>
-
Fügen Sie den folgenden Code in die Funktion
application:didFinishLaunchingWithOptions
: ein.Beachten Sie, dass "nativ"als Framework-Typ für native Apps übergeben werden muss.
code language-none |
---|
|
code language-none |
---|
|
- Ersetzen Sie die Werte
munkinAccountId
undsecretKey
oben durch Ihre "Munchkin-Konto-ID"und "Secret Key", die im Abschnitt Marketo Admin > Mobile Apps und Geräte zu finden sind.
iOS-Testgeräte
- Wählen Sie Projekt > Ziel > Info > URL-Typen aus.
- Kennung hinzufügen: $
- Festlegen von URL-Schemas:
mkto-<Secret Key_>
- AnwendungsourceApplication in die Datei AppDelegate.m einschließen (Objective-C)
Umgang mit benutzerdefiniertem URL-Typ in AppDelegate
code language-none |
---|
|
code language-none |
---|
|
Installieren des Marketo SDK in Android
Voraussetzungen
- Hinzufügen einer Anwendung in Marketo Admin (Abrufen des geheimen Schlüssels für die Anwendung und der Munchkin-ID)
- Push-Benachrichtigungen einrichten (optional)
- Marketo SDK für Android herunterladen
Android SDK-Einrichtung mit Gradle
1. Fügen Sie in der Datei "build.gradle"auf Anwendungsebene unter dem Abschnitt "Abhängigkeiten"hinzu
implementation 'com.marketo:MarketoSDK:0.8.9'
-
Die Stamm-Datei
build.gradle
solltecode language-none buildscript { repositories { google() mavenCentral() }
-
Projekt mit Gradle-Dateien synchronisieren
Berechtigungen konfigurieren
Öffnen Sie AndroidManifest.xml
und fügen Sie die folgenden Berechtigungen hinzu. Ihre App muss die Berechtigungen "INTERNET"und "ACCESS_NETWORK_STATE"anfordern. Wenn Ihre App diese Berechtigungen bereits anfordert, überspringen Sie diesen Schritt.
<uses‐permission android:name="android.permission.INTERNET"></uses‐permission>
<uses‐permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses‐permission>
SDK initialisieren
-
Öffnen Sie die Anwendungs- oder Aktivitätsklasse in Ihrer App und importieren Sie das Marketo SDK vor setContentView oder im Anwendungskontext in Ihre Aktivität.
code language-java // Initialize Marketo Marketo marketoSdk = Marketo.getInstance(getApplicationContext()); marketoSdk.initializeSDK("native","munchkinAccountId","secretKey");
-
ProGuard-Konfiguration (optional)
Wenn Sie ProGuard für Ihre App verwenden, fügen Sie die folgenden Zeilen in Ihrer
proguard.cfg
-Datei hinzu. Die Datei befindet sich in Ihrem Projektordner. Durch Hinzufügen dieses Codes wird das Marketo SDK aus dem Verschleierungsprozess ausgeschlossen.code language-none -dontwarn com.marketo.* -dontnote com.marketo.* -keep class com.marketo.`{ *; }
Android-Testgeräte
Fügen Sie "MarketoActivity"zur Datei AndroidManifest.xml
innerhalb des Anwendungs-Tags hinzu.
<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>
Firebase Cloud Messaging-Unterstützung
Das MME Software Development Kit (SDK) für Android wurde auf ein moderneres, stabileres und skalierbareres Framework aktualisiert, das mehr Flexibilität und neue Engineering-Funktionen für Ihren Android-App-Entwickler bietet.
Entwickler von Android-Apps können jetzt mit diesem SDK Googles Firebase Cloud Messaging (FCM) direkt verwenden.
Hinzufügen von FCM zu Ihrer Anwendung
-
Integrieren Sie das neueste Marketo Android SDK in die Android App. Schritte sind unter GitHub verfügbar.
-
Konfigurieren Sie die Firebase App in der Firebase Console.
-
Erstellen/Hinzufügen eines Projekts in der Firebase-Konsole 🔗.
- Wählen Sie in der Firebase-Konsole die Option
Add Project
aus. - Wählen Sie Ihr GCM-Projekt aus der Liste der vorhandenen Google Cloud-Projekte und dann
Add Firebase
aus. - Wählen Sie im Firebase-Willkommensbildschirm
Add Firebase to your Android App
aus. - Geben Sie Ihren Paketnamen und SHA-1 ein und wählen Sie
Add App
aus. Eine neuegoogle-services.json
-Datei für Ihre Firebase-App wird heruntergeladen. - Wählen Sie "
Continue
"aus und befolgen Sie die detaillierten Anweisungen zum Hinzufügen des Google Services-Plug-ins in Android Studio.
- Wählen Sie in der Firebase-Konsole die Option
-
Navigieren Sie in der Projektübersicht zu "Projekteinstellungen".
- Klicken Sie auf die Registerkarte "Allgemein". Laden Sie die Datei "google-services.json"herunter.
- Klicken Sie auf die Registerkarte "Cloud Messaging". Kopieren Sie "Server Key" und "Sender ID". Geben Sie diese "Serverschlüssel"und "Sender-ID"an Marketo an.
-
Konfigurieren von FCM-Änderungen in der Android App
-
Wechseln Sie in Android Studio zur Projektansicht, um den Stammordner Ihres Projekts anzuzeigen.
-
Verschieben Sie die heruntergeladene Datei "google-services.json"in den Stammordner des Android-Anwendungsmoduls.
-
Fügen Sie auf Projektebene build.gradle Folgendes hinzu:
code language-none buildscript { dependencies { classpath 'com.google.gms:google-services:4.0.0' } }
-
Fügen Sie in "build.gradle"auf Anwendungsebene Folgendes hinzu:
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'
-
Klicken Sie abschließend in der Leiste, die in der ID angezeigt wird, auf "Jetzt synchronisieren"
-
-
-
Bearbeiten des Manifests Ihrer App Das FCM-SDK fügt automatisch alle erforderlichen Berechtigungen und die erforderlichen Empfängerfunktionen hinzu. Achten Sie darauf, die folgenden veralteten (und potenziell schädlichen) Elemente aus dem Manifest Ihrer App zu entfernen, da sie eine Nachrichtenduplizierung verursachen können:
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>
-