mParticle-Apple-SDK 8.26.0

mParticle-Apple-SDK 8.26.0

测试测试
语言语言 Objective C++Objective C++
许可证 Apache-2.0
发布最后发布2024年8月

Peter JenkinsSam DozormParticle 开发者Will Passidomo 维护。



mParticle Apple SDK

这是适用于 iOS 和 tvOS 的 mParticle Apple SDK。

在 mParticle,我们的使命非常明确:让应用程序和应用程序服务连接变得非常容易,让您能够掌握您的第一方数据。像大多数应用程序所有者一样,您最终需要实现和维护众多 SDK,包括分析、归因、推送通知、再营销、货币化等。然而,嵌入多个第三方库会产生许多意想不到的后果和隐形成本。

mParticle 平台解决了所有这些问题。我们支持与日益增长的服务和 SDK 集成,包括开发工具、分析、归因、消息传递、广告等。mParticle 被设计成连接这些服务的中心枢纽——阅读 文档 或通过 [email protected] 与我们联系以了解更多信息。

概览

此文档将帮助您

获取SDK

mparticle-Apple-SDK可以通过CocoaPodsCarthageSwift 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

在上面的情况下,AppboyBranch MetricsLocalytics套件将与核心SDK一起集成。

与静态库协同工作

mParticle的iOS SDK及其嵌入的套件是动态库,这意味着其代码仅在需要时才被加载到应用的地址空间,这与始终包含在应用可执行文件中的“静态”库相反。某些mParticle嵌入式套件依赖于我们的合作伙伴维护的静态库。动态库包装的静态框架与CocoaPods的use frameworks!选项不兼容。受影响的套件包括:Appboy、AppsFlyer、comScore、Kahuna、Kochava、Localytics和Radar。

尝试使用use_frameworks!使用这些套件会导致以下错误消息

[!] '<your Target>'目标具有包含静态二进制的间接依赖项:(<path to framework>)

如果您需要从用户级别代码引用这些套件的这些方法,您必须手动合并它们。为此

  1. 将合作伙伴SDK(例如,Appboy-iOS-SDKAppsFlyer-SDK)直接添加到您的Podfile中。
  2. 从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,将会损害其功能。此外,请不要使用 GCDdispatch_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。

  1. 切换到 Examples/CocoaPodsExample 目录
  2. 运行 pod install
  3. 在 Xcode 中打开 Example.xcworkspace,选择 iOS_ExampletvOS_Example 构建方案,构建并运行。

阅读更多

只需初始化SDK,您就可以设置跟踪用户安装、参与度等信息。查看我们的文档网站,了解如何将特定事件跟踪添加到您的应用程序中。

支持

有问题?阅读 文档 或联系我们的 客户成功 团队[email protected]

许可证

Apache 2.0