mParticle Apple SDK
这是适用于 iOS 和 tvOS 的 mParticle Apple SDK。
在 mParticle,我们的使命非常明确:让应用程序和应用程序服务连接变得非常容易,让您能够掌握您的第一方数据。像大多数应用程序所有者一样,您最终需要实现和维护众多 SDK,包括分析、归因、推送通知、再营销、货币化等。然而,嵌入多个第三方库会产生许多意想不到的后果和隐形成本。
mParticle 平台解决了所有这些问题。我们支持与日益增长的服务和 SDK 集成,包括开发工具、分析、归因、消息传递、广告等。mParticle 被设计成连接这些服务的中心枢纽——阅读 文档 或通过 [email protected] 与我们联系以了解更多信息。
概览
此文档将帮助您
获取SDK
mparticle-Apple-SDK可以通过CocoaPods、Carthage或Swift Package Manager获取。根据您的喜好,按照以下说明操作。
CocoaPods
使用CocoaPods集成SDK时,请在您的Podfile中指定它
# The line below is required since we're using Swift
use_frameworks!
target '<Your Target>' do
pod 'mParticle-Apple-SDK', '~> 8'
# If you'd like to use a version of the SDK that doesn't include any location tracking nor links the CoreLocation framework, use this subspec:
# pod 'mParticle-Apple-SDK/mParticleNoLocation', '~> 8'
end
使用上述语句配置您的Podfile
将仅包含CoremParticle SDK。
如果您在同一个Xcode项目中针对iOS和tvOS,则需要以不同的方式配置
Podfile
才能使用具有多个平台的SDK。您可以在这里找到多平台配置的示例。
如果您想添加任何套件,可以按以下方式操作
# The line below is required since we're using Swift
use_frameworks!
target '<Your Target>' do
pod 'mParticle-Appboy', '~> 8'
pod 'mParticle-BranchMetrics', '~> 8'
pod 'mParticle-Localytics', '~> 8'
end
在上面的情况下,Appboy、Branch Metrics和Localytics套件将与核心SDK一起集成。
与静态库协同工作
mParticle的iOS SDK及其嵌入的套件是动态库,这意味着其代码仅在需要时才被加载到应用的地址空间,这与始终包含在应用可执行文件中的“静态”库相反。某些mParticle嵌入式套件依赖于我们的合作伙伴维护的静态库。动态库包装的静态框架与CocoaPods的use frameworks!
选项不兼容。受影响的套件包括:Appboy、AppsFlyer、comScore、Kahuna、Kochava、Localytics和Radar。
尝试使用use_frameworks!
使用这些套件会导致以下错误消息
[!] '<your Target>'目标具有包含静态二进制的间接依赖项:(<path to framework>)
如果您需要从用户级别代码引用这些套件的这些方法,您必须手动合并它们。为此
- 将合作伙伴SDK(例如,
Appboy-iOS-SDK
或AppsFlyer-SDK
)直接添加到您的Podfile中。 - 从Podfile中移除集成的组件包(
mParticle-<合作伙伴名称>
),从GitHub下载源代码,并手动将代码库中的.m
和.h
文件直接拖入您的项目。
崩溃报告工具
仅限iOS,您还可以选择通过将其作为单独的pod安装崩溃报告工具
pod 'mParticle-CrashReporter', '~> 1.3'
您可以在其仓库中查看包含崩溃报告的详细说明:mParticle-CrashReporter
请注意,您不能同时使用崩溃报告工具与Apteligent组件包。
Carthage
要使用Carthage集成SDK,请在Cartfile中指定它
github "mparticle/mparticle-apple-sdk" ~> 8.0
如果您想添加任何套件,可以按以下方式操作
github "mparticle-integrations/mparticle-apple-integration-branchmetrics" ~> 8.0
在这种情况下,只有Branch Metrics组件包将被集成;其他所有组件包将被排除在外。
Swift包管理器
要使用Swift包管理器集成SDK,请打开您的Xcode项目,在左侧的文件列表中单击您的项目,在窗口中间单击您的项目名称,然后单击“包依赖项”选项卡,并单击Package列表下方的+按钮。
在右上角的搜索框中输入仓库URL https://github.com/mParticle/mparticle-apple-sdk
,从包列表中选择mparticle-apple-sdk
,并将“依赖关系规则”更改为“Up to Next Major Version”。然后单击右下角的“添加包”按钮。
然后选择名为mParticle-Apple-SDK
的“包产品”,或者如果您想使用一个不包含任何位置跟踪并列出CoreLocation框架的SDK版本,请选择mParticle-Apple-SDK-NoLocation
。
重要:如果您选择了 mParticle-Apple-SDK-NoLocation
套件产品,您需要使用 import mParticle_Apple_SDK_NoLocation
导入 SDK,而不是像文档和本 README 文件中所示的其他部分那样使用 import mParticle_APPLE_SDK
。
当前支持的组件
一些集成需要额外的客户端附加库,称为“组件”。一些组件嵌入其他 SDK,而其他组件仅包含一些额外的功能。组件旨在感觉就像服务器端集成;您完全可以通过 mParticle 平台 UI 启用、禁用、筛选、采样以及对组件进行其他调整。核心 SDK 将在运行时检测组件,但您需要将它们添加到您的应用程序作为依赖项。
组件 | CocoaPods | Carthage | Swift 包管理器 |
---|---|---|---|
Adjust | ✓ | ✓ | ✓ |
Appboy | ✓ | ✓ | ✓ |
Adobe | ✓ | ✓ | |
AppsFlyer | ✓ | ✓ | ✓ |
Appsee | ✓ | ||
Apptentive | ✓ | ✓ | |
Apptimize | ✓ | ||
Apteligent | ✓ | ||
Blueshift | ✓ | ||
Branch Metrics | ✓ | ✓ | |
Button | ✓ | ✓ | |
CleverTap | ✓ | ✓ | |
comScore | ✓ | ||
Flurry | ✓ | ||
Firebase 的 Google Analytics | ✓ | ||
Instabot | ✓ | ||
Iterable | ✓ | ✓ | |
Kahuna | ✓ | ||
Kochava | ✓ | ✓ | |
Leanplum | ✓ | ✓ | |
Localytics | ✓ | ✓ | |
Optimizely | ✓ | ✓ | |
OneTrust | ✓ | ✓ | |
Pilgrim | ✓ | ✓ | |
Primer | ✓ | ✓ | |
Radar | ✓ | ✓ | |
Responsys | |||
Reveal Mobile | ✓ | ||
Singular | ✓ | ||
Skyhook | ✓ | ||
Taplytics | ✓ | ||
Tune | ✓ | ✓ | |
Urban Airship | ✓ | ||
UserLeap | ✓ | ✓ | |
Wootric | ✓ |
初始化 SDK
通过在 application:didFinishLaunchingWithOptions:
代理调用中调用 startWithOptions
方法来初始化 mParticle SDK。最好是将初始化方法调用的位置放在 application:didFinishLaunchingWithOptions:
中的最后几个语句之一。startWithOptions
方法需要一个包含您的密钥和密码以及初始身份请求的选项参数。
请注意,SDK 必须在
application:didFinishLaunchingWithOptions:
方法中初始化。SDK 的其他部分依赖于UIApplicationDidBecomeActiveNotification
通知来正常工作。如果没有按照所示启动 SDK,将会损害其功能。此外,请不要使用 GCD 的dispatch_async
来启动 SDK。
Swift
import mParticle_Apple_SDK
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
let mParticleOptions = MParticleOptions(key: "<<<App Key Here>>>", secret: "<<<App Secret Here>>>")
//Please see the Identity page for more information on building this object
let request = MPIdentityApiRequest()
request.email = "[email protected]"
mParticleOptions.identifyRequest = request
mParticleOptions.onIdentifyComplete = { (apiResult, error) in
NSLog("Identify complete. userId = %@ error = %@", apiResult?.user.userId.stringValue ?? "Null User ID", error?.localizedDescription ?? "No Error Available")
}
//Start the SDK
MParticle.sharedInstance().start(with: mParticleOptions)
return true
}
Objective-C
对于支持 iOS 8 及以上版本的 App,苹果推荐使用 模块 或 语义导入 语法。但是,如果您更喜欢传统的 CocoaPods 和静态库交付方式,这也是完全支持的。
如果您将 mParticle 作为框架使用,您的导入语句如下所示
@import mParticle_Apple_SDK; // Apple recommended syntax, but requires "Enable Modules (C and Objective-C)" in pbxproj
#import <mParticle_Apple_SDK/mParticle.h> // Works when modules are not enabled
否则,对于不带 use_frameworks!
的 CocoaPods,您可以使用以下任一语句
#import <mParticle-Apple-SDK/mParticle.h>
#import "mParticle.h"
接下来,您需要开始 SDK
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
MParticleOptions *mParticleOptions = [MParticleOptions optionsWithKey:@"REPLACE ME"
secret:@"REPLACE ME"];
//Please see the Identity page for more information on building this object
MPIdentityApiRequest *request = [MPIdentityApiRequest requestWithEmptyUser];
request.email = @"[email protected]";
mParticleOptions.identifyRequest = request;
mParticleOptions.onIdentifyComplete = ^(MPIdentityApiResult * _Nullable apiResult, NSError * _Nullable error) {
NSLog(@"Identify complete. userId = %@ error = %@", apiResult.user.userId, error);
};
[[MParticle sharedInstance] startWithOptions:mParticleOptions];
return YES;
}
有关在 SDK 初始化期间提供 MPIdentityApiRequest
对象的更多信息,请参阅 Identity
带有示例代码的示例项目
mParticle Apple SDK 提供了一个示例项目。这是一个支持 iOS 和 tvOS 的多平台视频流媒体应用。
将仓库克隆到您的本地计算机上
git clone https://github.com/mParticle/mparticle-apple-sdk.git
要运行 iOS 或 tvOS 示例,首先通过 CocoaPods 安装 mParticle Apple SDK。
- 切换到
Examples/CocoaPodsExample
目录 - 运行
pod install
- 在 Xcode 中打开 Example.xcworkspace,选择 iOS_Example 或 tvOS_Example 构建方案,构建并运行。
阅读更多
只需初始化SDK,您就可以设置跟踪用户安装、参与度等信息。查看我们的文档网站,了解如何将特定事件跟踪添加到您的应用程序中。
支持
有问题?阅读 文档 或联系我们的 客户成功 团队[email protected]。
许可证
Apache 2.0