大家好!这是 mParticle SDK 的第一次开源发布。在过去的两年里,我们不懈地工作,开发我们平台的每一个组件;最初我们是将这个 SDK 作为 iOS 框架来部署的,但现在我们已经到了一个截然不同的阶段,我们无比兴奋地把它与你分享。
你的工作是创建一个消费者喜闻乐见的优秀应用体验。同时,你还需要一系列的工具和服务来做出数据驱动的决策。像大多数应用所有者一样,你最终需要实现和维护多款 SDK,从分析、归因、推送通知、再营销、盈利化等,这些都会嵌入多个第三方库,会产生许多不期望的后果和隐藏的成本,如无法像你想的那样快速移动、应用程序体积膨胀和不稳定,以及失去对一第一方数据的控制和所有权。
mParticle 通过一个轻量级的 SDK 解决了所有这些问题。在不改变代码或等待应用商店审核的情况下实现新的合作伙伴。提高应用内的稳定性和安全性。我们使我们的客户能够花更多时间进行创新,而不是集成。
mParticle-iOS-SDK 通过 CocoaPods 提供。要安装它,只需将以下语句添加到您的 Podfile 中
target '<Your Target>' do
pod 'mParticle-iOS-SDK', '~> 5'
end
使用上面的语句配置您的 Podfile 将包括默认 subspecs 中定义的所有集成(参见 Crash Reporter 注释)。您可以选择仅集成一些包,通过在 Podfile 中指定其中的哪些,如下面的示例配置所示使用模式
pod 'mParticle-iOS-SDK/<kit>'
pod 'mParticle-iOS-SDK/Appboy', '~> 5'
pod 'mParticle-iOS-SDK/BranchMetrics', '~> 5'
pod 'mParticle-iOS-SDK/Localytics', '~> 5'
您还可以使用以下替代语法,该语法指定了一系列的 subspecs,以使您的 Podfile 更加干净
pod 'mParticle-iOS-SDK', :subspecs => ['Appboy', 'BranchMetrics', 'Localytics'], '~> 5'
无论您偏好哪种语法,在上面所述的例子中,只有 Appboy、Branch Metrics 和 Localytics 包会被集成;其他所有包都将被排除在外。
如果您不需要在 mParticle SDK 中构建任何第三方包,而仅使用服务器端到服务器端的集成,可以通过配置 Podfile 来实现,如下所示
pod 'mParticle-iOS-SDK/mParticle', '~> 5'
崩溃报告器功能已被实现为可选子规范。默认情况下已安装,但是如果您正在调整您的安装,您可以在Podfile中选择是否安装它。
pod 'mParticle-iOS-SDK/CrashReporter', '~> 5'
CrashReporter和Crittercism互斥的子规范。如果您的应用程序需要使用Crittercism套件,则其Podfile中不得包含CrashReporter子规范。
与合作伙伴的每次集成,我们都在服务器到服务器层实现尽可能多的功能,但是与第三方SDK深入集成的需求有时会给我们的客户带来更大的利益。我们使用术语套件来描述此类集成。
mParticle SDK通过调用application:didFinishLaunchingWithOptions:
代理调用中的startWithKey
方法进行初始化。在开始使用之前,需要使用应用程序密钥和密钥对mParticle SDK进行初始化。最好将初始化方法调用位置放在application:didFinishLaunchingWithOptions:
的最后部分之一
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Other code goes here, prior to initializing the mParticle SDK
// ...
MParticle.sharedInstance().startWithKey("<<<App Key Here>>>", secret:"<<<App Secret Here>>>")
return true
}
#import <mParticle.h>
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Other code goes here, prior to initializing the mParticle SDK
// ...
[[MParticle sharedInstance] startWithKey:@"<<<App Key Here>>>"
secret:@"<<<App Secret Here>>>"];
return YES;
}
如果您正在使用通过CocoaPods安装的动态加载库,则在Podfile中可能已经取消注释了use_frameworks!
。在这种情况下,要让mParticle SDK正常工作,您需要在Podfile中添加以下预处理和后置声明
将pre_install
语句添加到use_frameworks!
之后,但在任何目标之前。
use_frameworks!
pre_install do |pre_i|
def pre_i.verify_no_static_framework_transitive_dependencies; end
end
target 'your_project' do
...
将post_install
语句添加到最后一个目标之后。
target 'your_project_last_target' do
...
end
post_install do |pi|
pi.pods_project.targets.each do |target|
target.build_configurations.each do |config|
if target.name == "mParticle-iOS-SDK"
config.build_settings["OTHER_LDFLAGS"] = '$(inherited) "-ObjC"'
end
end
end
end
从Podfile中删除语句
pod 'mParticle', '~> 4'
并替换为上述任一选项。
现在#import
语句更为简单,而不是
#import <mParticle/mParticle.h>
使用
#import <mParticle.h>
如果需要通过mParticle SDK直接调用第三方提供器套件的方法,不再需要间接导入它们的头文件。可以直接导入,如提供者相应文档中所示。例如,如果您要使用
#import <mParticle/Appboy/AppboyKit.h>
现在将使用
#import <AppboyKit.h>
有关mParticle SDK的详细信息和其他信息可以在以下位置找到:http://docs.mparticle.com
mParticle,Inc。
将版本库克隆到您的本地机器
git clone https://github.com/mParticle/mParticle-iOS-SDK.git
运行iOS示例应用程序非常简单,只需选择mParticle-iOS-SDK-Example配置方案,构建并运行。
mParticle-iOS-SDK遵循Apache许可证。有关更多信息,请参阅LICENSE文件。
遵循Apache许可证,版本2.0(以下简称“许可证”);除非遵守许可证或书面同意,否则不得使用此文件。您可以在以下地址获取许可证副本:
https://apache.ac.cn/licenses/LICENSE-2.0
除非适用法律或书面协议要求,否则在许可证下分发的软件按“原样”基础分发,不提供任何明示或暗示的保证或条件。有关许可证管理权限和限制的具体语言,请参阅许可证。