AMAAppMetrica 类

该类的方法用于配置库。

Instance methods

+activateReporterWithConfiguration:

用扩展配置初始化报告器。

+activateWithConfiguration:

Initializes the library in an app with the 扩展的启动配置.

+清除应用环境

删除与所有未来事件相关的所有键值数据。

+暂停会话

暂停会话。

+reportAdRevenue:onFailure:

向AppMetrica服务器发送关于广告收入的信息。

+reportECommerce:onFailure:

发送关于电商事件的消息。

+reportEvent:onFailure:

Sends an 事件消息.

+报告事件:参数:失败时:

发送一个事件消息,包含额外参数。

+reportExternalAttribution:source:onFailure:

Sends 外部归因 data to AppMetrica

+reportRevenue:onFailure:

将购买信息发送到AppMetrica服务器。

+reportUserProfile:onFailure:

发送关于用户资料更新的信息。

+reporterForAPIKey:

创建一个报告器,用于将事件发送到额外的API密钥。

requestStartupIdentifiersWithCompletionQueue:completionBlock:

请求所有预定义的ID。

使用键请求启动标识符:完成队列:完成块:

为特定键请求 ID。

+恢复会话

恢复会话,或在会话超时后创建新会话。

+sendEventsBuffer

从缓冲区发送已存储的事件。

+setAppEnvironmentValue:forKey:

设置与所有未来事件关联的键值对。

+setDataSendingEnabled:

启用/禁用向 AppMetrica 服务器发送统计数据。

+setupWebViewReporting:onFailure:

在指定的 WebView 中为窗口添加一个名为 AppMetrica 的 JavaScript 接口。 这让你能从 JavaScript 代码发送客户端事件。

+跟踪打开URL:

处理打开应用的URL。

Properties

UUID

当前的 UUID。

accurateLocationTrackingEnabled

控制内部位置管理器使用的位置跟踪精度。

已激活

表示 AppMetrica 是否已激活。

advertisingIdentifierTrackingEnabled

允许禁用发送IDFA,即使AppMetricaAdSupport模块已启用。

allowsBackgroundLocationUpdates

启用/禁用后台跟踪位置更新。

自定义位置

设置设备的自定义位置。

deviceIDHash

当前 appmetrica_device_id_hash

deviceID

当前的 appmetrica_device_id。

libraryVersion

当前AppMetrica库的版本。

locationTrackingEnabled

启用/禁用发送设备位置。

userProfileID

设置 用户资料 的 ID.

Method descriptions

+activateReporterWithConfiguration:

+ (void)activateReporterWithConfiguration:(AMAReporterConfiguration *)configuration;

用扩展配置初始化报告器。

报告器的配置应在首次调用报告器之前进行初始化。 否则,报告器的配置将被忽略。

报告器应使用与应用API密钥不同的API密钥进行配置并激活。

参数:

配置

包含报告器扩展配置的 AMAReporterConfiguration 类的实例。

+activateWithConfiguration:

+ (void)activateWithConfiguration:(AMAAppMetricaConfiguration *)configuration;

Initializes the library in an app with the 扩展的启动配置.

参数:

配置

包含库扩展启动配置的 AMAAppMetricaConfiguration 类的实例。

+clearAppEnvironment

+ (void)clearAppEnvironment;

清理应用环境,例如删除与所有未来事件相关的所有键值数据。

+pauseSession

+ (void)pauseSession;

暂停会话。

备注

会话时长取决于指定的超时时间。 如果暂停和恢复会话之间的时间间隔小于指定的超时时间,当前会话将被恢复;否则将创建一个新会话。

要了解有关会话的更多信息,请参见跟踪用户活动。

+reportAdRevenue:onFailure:

+ (void)reportAdRevenue:(AMAAdRevenueInfo *)adRevenue
              onFailure:(nullable void (^)(NSError *error))onFailure;

向 AppMetrica 服务器发送关于广告收入的信息。

参数:

广告收入

包含广告收入信息的 AMAAdRevenueInfo 类的实例。

onFailure

在发生错误时调用的回调方法。

+reportECommerce:onFailure:

+ (void)reportECommerce:(AMAECommerce *)eCommerce
              onFailure:(nullable void (^)(NSError *error))onFailure;

发送关于电商事件的消息。

参数:

电子商务

The AMAECommerce 类实例。

onFailure

在发生错误时调用的回调方法。

+reportEvent:onFailure:

+ (void)reportEvent:(NSString *)name
          onFailure:(nullable void (^)(NSError *error))onFailure;

Sends an 事件消息.

参数:

名称

事件的简短名称或描述。

onFailure

发生错误时执行的代码块。 错误作为块参数传递。

+reportEvent:参数:onFailure:

+ (void)reportEvent:(NSString *)name
         parameters:(nullable NSDictionary *)params
          onFailure:(nullable void (^)(NSError *error))onFailure;

发送一个事件消息,包含额外参数。

参数:

名称

事件的简短名称或描述。

params

Parameters as 键值对.

onFailure

在发生错误时调用的回调方法。

+报告外部归因:来源:失败:

+ (void)reportExternalAttribution:(NSDictionary *)attribution
                           source:(AMAAttributionSource)source
                        onFailure:(nullable void (^)(NSError *error))onFailure;

Sends 外部归因 data to AppMetrica.

参数:

归属

一个包含归属数据的字典。 它必须能转换为JSON,否则方法会执行 onFailure 错误块。

source

归因数据源。 源列表.

onFailure

在发生错误时调用的回调方法。 错误作为参数传递。

+reportRevenue:onFailure:

+ (void)reportRevenue:(AMARevenueInfo *)revenueInfo
            onFailure:(nullable void (^)(NSError *error))onFailure;

将购买信息发送到AppMetrica服务器。

参数:

收入信息

包含购买信息的 AMARevenueInfo 类的实例。

onFailure

在发生错误时调用的回调方法。

+reportUserProfile:onFailure:

+ (void)reportUserProfile:(AMAUserProfile *)userProfile
                onFailure:(nullable void (^)(NSError *error))onFailure;

发送用户个人资料更新的信息。

参数:

用户个人资料

包含用户个人信息的 AMAUserProfile 类的实例。

onFailure

在发生错误时调用的回调方法。

+reporterForAPIKey:

+ (nullable id<AMAAppMetricaReporting>)reporterForAPIKey:(NSString *)APIKey;

创建一个报告器,用于将事件发送到额外的 API 密钥。

要用扩展配置初始化报告器,请使用 activateReporterWithConfiguration: 方法。 报告器的配置应在首次调用报告器之前进行初始化。 否则,报告器的配置将被忽略。

参数:

API密钥

一个与应用 API 密钥不同的 API 密钥。

返回:

实现 AMAAppMetricaReporting 协议的实例,用于指定的 API 密钥。

+requestStartupIdentifiersWithCompletionQueue:completionBlock:

+ (void)requestStartupIdentifiersWithCompletionQueue:(nullable dispatch_queue_t)queue
                                     completionBlock:(AMAIdentifiersCompletionBlock)block;

获取所有预定义的ID

参数:

queue

发送块的队列。 如果值为零,则使用主队列。

block

当可用 ID 出现或发生错误时,该块将被发送。

预定义 ID 是:

  • kAMAUUIDKey
  • kAMADeviceIDKey
  • kAMADeviceIDHashKey

如果调用时有可用数据,该块会立即发送。 请参阅 AMAIdentifiersCompletionBlock 定义,以获取有关返回类型的更多信息。

请求启动标识符使用键:完成队列:完成块:

+ (void)requestStartupIdentifiersWithKeys:(NSArray<AMAStartupKey> *)keys
                          completionQueue:(nullable dispatch_queue_t)queue
                          completionBlock:(AMAIdentifiersCompletionBlock)block;

获取特定键的 ID

参数:

keys

查询的识别键数组。 See AMAStartupKey.

queue

发送块的队列。 如果值为零,则使用主队列。

block

当可用 ID 出现或发生错误时,该块将被发送。

如果在调用时可用,该块会立即发送。 请参阅 AMAIdentifiersCompletionBlock 定义,以获取有关返回类型的更多信息。

+resumeSession

+ (void)resumeSession;

恢复会话,如果会话超时则创建新会话。

备注

会话时长取决于指定的超时时间。 如果暂停和恢复会话之间的时间间隔小于指定的超时时间,当前会话将被恢复;否则将创建一个新会话。

要了解更多关于会话的信息,请查看跟踪用户活动。

+sendEventsBuffer

+ (void)sendEventsBuffer;

从缓冲区发送已存储的事件。

AppMetrica SDK 不会在事件发生后立即发送事件。 库存放事件数据在缓冲区中。 方法 +sendEventsBuffer 会从缓冲区发送数据并清空缓冲区。 使用该方法在用户场景的重要检查点之后强制发送已存储的事件。

注意

频繁使用该方法可能会导致出去的互联网流量和能耗增加。

+setAppEnvironmentValue:forKey:

+ (void)setAppEnvironmentValue:(nullable NSString *)value
                        forKey:(NSString *)key;

设置键值数据,作为与所有未来事件相关的附加信息使用。

如果值为零,之前设置的键值将被删除。 如果没有添加密钥,就不会执行任何操作。

参数:

value

Value.

key

Key.

+setDataSendingEnabled:

+ (void)setDataSendingEnabled:(BOOL)enabled;

启用/禁用向 AppMetrica 服务器发送统计数据。

要了解如何使用该方法,请参见禁用和启用发送统计数据。

备注

禁用发送也会停止所有使用其他 API 密钥初始化的报告器发送数据。

参数:

已启用

一个标志,表示已启用发送统计数据。 默认值是YES.

可能的值:

  • 是:已启用发送统计数据。
  • 无:统计数据发送已禁用。

+setupWebViewReporting:onFailure:

+ (void)setupWebViewReporting:(id<AMAJSControlling>)controller
                    onFailure:(nullable void (^)(NSError *error))onFailure;

在指定的 webview 中为窗口添加一个名为 AppMetrica 的 JavaScript 接口。 这让你能从 JavaScript 代码发送客户端事件。

Notes:

  • 该方法必须从主队列调用。
  • 该方法在 tvOS 上不可用。
  • 在加载任何内容之前调用此方法。 我们建议在创建 webview 和向 WKUserContentController 添加脚本之前调用此方法。
    要了解更多信息,请查看使用示例。

参数:

controller

The AMAJSControlling 实例。

onFailure

在发生错误时调用的回调方法。

+trackOpeningURL:

+ (void)trackOpeningURL:(NSURL *)URL;

处理打开应用的URL。

用于通过深链追踪应用打开。

参数:

URL

打开应用的URL。

Property descriptions

uuid

@property (class, nonatomic, readonly) NSString *UUID;

获取当前的UUID。

accurateLocationTrackingEnabled

@property (class, nonatomic, getter=isAccurateLocationTrackingEnabled) BOOL accurateLocationTrackingEnabled;

控制内部位置管理器使用的位置跟踪精度。

如果设置为YES,位置管理器会尝试使用最准确的位置数据。
该属性仅在 isLocationTrackingEnabled 参数设置为 YES,且位置
未通过 customLocation 属性手动设置的情况下生效。

activated

@property (class, assign, readonly, getter=isActivated) BOOL activated;

表示 AppMetrica 是否已激活。

备注

使用此属性检查AppMetrica是否已激活,通常用于避免多余的激活调用或确保统计数据收集正在运行。

advertisingIdentifierTrackingEnabled

@property (class, nonatomic, getter=isAdvertisingIdentifierTrackingEnabled) BOOL advertisingIdentifierTrackingEnabled;

允许禁用发送IDFA,即使AppMetricaAdSupport模块已启用。

allowsBackgroundLocationUpdates

@property (class, nonatomic) BOOL allowsBackgroundLocationUpdates;

启用/禁用后台跟踪位置更新。 默认禁用。

customLocation

@property (class, nonatomic, nullable) CLLocation *customLocation;

设置设备的自定义位置。

deviceIDHash

@property (class, nonatomic, nullable, readonly) NSString *deviceIDHash;

获取 appmetrica_device_id_hash。

deviceID

@property (class, nonatomic, nullable, readonly) NSString *deviceID;

获取 appmetrica_device_id。

libraryVersion

@property (class, nonatomic, readonly) NSString *libraryVersion;

返回库的当前版本AppMetrica

locationTrackingEnabled

@property (class, nonatomic, getter=isLocationTrackingEnabled) BOOL locationTrackingEnabled;

启用/禁用发送设备位置。

userProfileID

@property (class, nonatomic, nullable) NSString *userProfileID;

设置 用户资料 的 ID. AppMetrica 在网页界面中不会显示 预定义属性,如果未配置 ProfieId 发送。