安装
- 主题:
- 移动营销
创建对象:
- 管理员
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安装框架
-
从项目导航器中选择您的项目,然后在“添加包依赖关系”下,单击“+”,如下所示:
-
从此存储库添加Marketo包。 为此存储库添加此URL: https://github.com/Marketo/ios-sdk。
-
现在添加资源包,如下所示:在项目导航器中找到
MarketoFramework.XCframework
并在Finder中将其打开。 拖放MKTResources.bundle
以复制捆绑包资源。
设置Swift桥接标头
-
转到“文件”>“新建”>“文件”,然后选择“头文件”。
-
将文件命名为“<ProjectName>-Bridging-Header”。
-
转到“项目”>“Target”>“构建阶段”>“Swift编译器”>“代码生成”。 将以下路径添加到目标桥接标头:
$(PODS_ROOT)/<_ProjectName_>-Bridging-Header.h
初始化SDK
在使用Marketo iOS SDK之前,您必须使用Munchkin帐户ID和应用程序密钥对其进行初始化。 您可以在Marketo管理区域的“移动设备应用程序和设备”下方找到每个应用程序或设备。
-
打开AppDelegate.m文件(Objective-C)或桥接文件(Swift),并导入Marketo.h头文件。
#import <MarketoFramework/MarketoFramework.h>
-
将以下代码粘贴到
application:didFinishLaunchingWithOptions
:函数中。请注意,我们必须将“本机”作为本机应用程序的框架类型传递。
Marketo *sharedInstance = [Marketo sharedInstance];
[sharedInstance initializeWithMunchkinID:@"munchkinAccountId" appSecret:@"secretKey" mobileFrameworkType:@"native" launchOptions:launchOptions];
let sharedInstance: Marketo = Marketo.sharedInstance()
sharedInstance.initialize(withMunchkinID: "munchkinAccountId", appSecret: "secretKey", mobileFrameworkType: "native", launchOptions: launchOptions)
- 使用可在Marketo Admin > Mobile Apps and Devices 部分中找到的“Munchkin帐户ID”和“密钥”替换上述
munkinAccountId
和secretKey
。
iOS测试设备
- 选择项目>目标>信息> URL类型。
- 添加标识符: $
- 设置URL方案:
mkto-<Secret Key_>
- 将应用程序
sourceApplication
包含到AppDelegate.m文件(Objective-C)
在AppDelegate中处理自定义Url类型
- (BOOL)application:(UIApplication *)app
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{
return [[Marketo sharedInstance] application:app
openURL:url
options:options];
}
private func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool
{
return Marketo.sharedInstance().application(app, open: url, options: options)
}
如何在Android上安装Marketo SDK
先决条件
- 在Marketo Admin中添加应用程序(获取应用程序密钥和Munchkin ID)
- 设置推送通知(可选)
- 下载适用于Android的Marketo SDK
使用Gradle设置Android SDK
1. 在应用程序级别build.gradle文件中,在依赖关系部分下添加
implementation 'com.marketo:MarketoSDK:0.8.9'
-
根
build.gradle
文件应具有buildscript { repositories { google() mavenCentral() }
-
将项目与Gradle文件同步
配置权限
打开AndroidManifest.xml
并添加以下权限。 您的应用程序必须请求“INTERNET”和“ACCESS_NETWORK_STATE”权限。 如果您的应用程序已经请求这些权限,请跳过此步骤。
<uses‐permission android:name="android.permission.INTERNET"></uses‐permission>
<uses‐permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses‐permission>
初始化SDK
-
在应用程序中打开Application或Activity类,并在setContentView之前或在Application Context中将Marketo SDK导入到活动中。
// Initialize Marketo Marketo marketoSdk = Marketo.getInstance(getApplicationContext()); marketoSdk.initializeSDK("native","munchkinAccountId","secretKey");
-
ProGuard配置(可选)
如果您正在使用应用程序的ProGuard,请在
proguard.cfg
文件中添加以下行。 该文件位于您的项目文件夹中。 添加此代码会将Marketo SDK排除在模糊处理过程之外。-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)已更新到一个更现代、稳定和可扩展的框架,其中包含更灵活的功能和面向Android应用程序开发人员的新工程功能。
Android应用程序开发人员现在可以直接将Google的Firebase Cloud Messaging (FCM)与此SDK一起使用。
将FCM添加到应用程序
-
在Android应用程序中集成最新的Marketo Android SDK。 步骤位于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”文件。
- 单击“Cloud Messaging”选项卡。 复制“服务器密钥”和“发件人ID”。 向Marketo提供这些“服务器密钥”和“发件人ID”。
-
在Android应用程序中配置FCM更改
-
切换到Android Studio中的“项目”视图,查看项目根目录
-
将下载的
google-services.json
文件移到Android应用程序模块的根目录中 -
在项目级别的build.gradle中,添加以下内容:
buildscript { dependencies { classpath 'com.google.gms:google-services:4.0.0' } }
-
在应用程序级别的build.gradle中,添加以下内容:
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中显示的栏中的“立即同步”
-
-
-
编辑应用程序的清单FCM SDK会自动添加所有必需权限和必需的接收器功能。 确保从应用程序的清单中删除以下过时(且可能有害的,因为它们可能会导致消息重复)元素:
<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>
-