安裝
安裝並初始化Marketo Mobile SDK,以傳送推播通知和/或應用程式內訊息。
在iOS上安裝Marketo SDK
先決條件
- 在Marketo Admin中新增應用程式,並取得應用程式秘密金鑰和Munchkin ID。
- 選用: 設定推播通知。
透過CocoaPods安裝框架
- 安裝CocoaPods。
$ sudo gem install cocoapods - 將目錄變更至您的專案目錄,並建立具有智慧型預設值的Podfile。
$ pod init - 開啟您的Podfile。
$ open -a Xcode Podfile - 將下列行新增至您的Podfile。
$ pod 'Marketo-iOS-SDK' - 儲存並關閉您的Podfile。
- 下載並安裝Marketo iOS SDK。
$ pod install - 在Xcode中開啟工作區。
$ open App.xcworkspace
使用Swift Package Manager安裝架構
-
在「專案導覽器」中選取您的專案。 在「新增套件相依性」下,選取「+」。
-
從https://github.com/Marketo/ios-sdk新增Marketo套件。
-
新增資源套件。 在專案導覽器中找出
MarketoFramework.XCframework,並在Finder中將其開啟。 拖曳MKTResources.bundle以複製組合資源。
設定Swift橋接標題
-
前往「檔案>新增>檔案」,然後選取「標頭檔案」。
-
將檔案命名為「<ProjectName>-Bridging-Header」。
-
前往「專案>目標>建置階段> Swift編譯器>程式碼產生」。 將下列路徑新增至Objective-Bridging標頭:
$(PODS_ROOT)/<_ProjectName_>-Bridging-Header.h
初始化SDK
使用您的Marketo帳戶ID和應用程式秘密金鑰初始化Munchkin iOS SDK。 在Marketo管理員的「行動應用程式和裝置」底下尋找這兩個值。
-
開啟Objective-C的AppDelegate.m檔案或Swift的橋接檔案。 匯入Marketo.h標頭檔案。
code language-none #import <MarketoFramework/MarketoFramework.h> -
將下列程式碼貼到
application:didFinishLaunchingWithOptions:函式中。傳遞「原生」作為原生應用程式的框架型別。
| code language-objectivec |
|---|
|
| code language-swift |
|---|
|
- 將
munkinAccountId和secretKey取代為Marketo Admin > Mobile Apps and Devices中的「Munchkin帳戶ID」和「秘密金鑰」。
iOS測試裝置
- 選取「專案>目標>資訊> URL型別」。
- 新增識別碼${PRODUCT_NAME}。
- 將URL配置設定為
mkto-<Secret Key_>。 - 將應用程式sourceApplication新增至Objective-C的AppDelegate.m檔案。
在AppDelegate中處理自訂Url型別
| code language-objectivec |
|---|
|
| code language-swift |
|---|
|
如何在Android上安裝Marketo SDK
先決條件
- 在Marketo Admin中新增應用程式,並取得應用程式秘密金鑰和Munchkin ID。
- 選用: 設定推播通知。
- 下載適用於Android的Marketo SDK
使用Gradle設定Android SDK
-
在應用程式層級build.gradle檔案中,在相依性區段下新增相依性。
implementation 'com.marketo:MarketoSDK:0.8.9' -
將下列設定新增至根
build.gradle檔案。code language-none buildscript { repositories { google() mavenCentral() } -
將專案與Gradle檔案同步。
設定許可權
開啟AndroidManifest.xml並新增下列許可權。 您的應用程式必須要求「網際網路」和「ACCESS_NETWORK_STATE」許可權。 如果應用程式已要求,請略過此步驟。
<uses‐permission android:name="android.permission.INTERNET"></uses‐permission>
<uses‐permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses‐permission>
初始化SDK
-
開啟「應用程式」或「活動」類別。 在setContentView之前或在Application Context中將Marketo SDK匯入活動中。
code language-java // Initialize Marketo Marketo marketoSdk = Marketo.getInstance(getApplicationContext()); marketoSdk.initializeSDK("native","munchkinAccountId","secretKey"); -
ProGuard組態(選購)
如果您的應用程式使用ProGuard,請在專案資料夾的
proguard.cfg檔案中加入下列各行。 此設定會排除Marketo SDK的模糊化功能。code language-none -dontwarn com.marketo.* -dontnote com.marketo.* -keep class com.marketo.`{ *; }
Android測試裝置
將「MarketoActivity」新增至應用程式標籤內的AndroidManifest.xml。
<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支援
適用於Android的MME SDK支援直接使用Google的Firebase雲端通訊 (FCM)。
新增FCM至您的應用程式
-
將最新的Marketo Android SDK整合至Android應用程式。 檢視GitHub上的步驟。
-
在Firebase主控台中設定Firebase應用程式。
-
在🔗Firebase主控台上建立/新增專案。
- 在Firebase主控台中,選取
Add Project。 - 從現有Google Cloud專案清單中選取您的GCM專案,然後選取
Add Firebase。 - 在Firebase歡迎畫面中,選取
Add Firebase to your Android App。 - 提供您的封裝名稱和SHA-1,然後選取
Add App。 已下載您Firebase應用程式的新google-services.json檔案。 - 選取
Continue並依照在Android Studio中新增Google Services外掛程式的詳細指示操作。
- 在Firebase主控台中,選取
-
導覽至專案總覽中的「專案設定」
- 按一下「一般」標籤。 下載「google-services.json」檔案。
- 按一下「雲端訊息」索引標籤。 複製「伺服器金鑰」和「寄件者ID」。 提供這些「伺服器金鑰」和「傳送者ID」給Marketo。
-
在Android應用程式中設定FCM。
-
切換至Android Studio中的專案檢視,以檢視您的專案根目錄
-
將下載的「google-services.json」檔案移至Android應用程式模組的根目錄中
-
在專案層級build.gradle中,新增下列內容:
code language-none buildscript { dependencies { classpath 'com.google.gms:google-services:4.0.0' } } -
在應用程式層級build.gradle中,新增下列內容:
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' -
最後,選取ID中所顯示列中的Sync now
-
-
-
編輯應用程式資訊清單。 FCM SDK會自動新增必要的許可權和接收者功能。 移除下列過時元素,這些元素可能會導致訊息重複:
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>
-