跟踪应用程序内事件

文件

跟踪事件(非收入)

Singular 可以收集有关应用程序内事件的数据,帮助分析营销活动的绩效并衡量关键绩效指标。例如,您的企业可能希望收集有关用户登录、注册、教程完成或游戏应用中等级提升的数据。

Singular 支持各种 标准事件。广告网络通常支持这些常用事件,以便进行报告和优化。另一个优点是,当你使用标准事件名称时,Singular 会自动识别并将其添加到事件列表中,而无需手动定义。我们建议尽可能使用标准事件。

发送到 Singular 的事件列表(附带属性)应由用户体验/营销/业务团队根据企业的营销关键绩效指标编制。业务团队可参考《如何跟踪应用内事件》指南:单一归因客户指南》

您跟踪的每个事件都可以传递各种属性。请参阅推荐的每个事件的标准属性

在代码中,使用 event 或 eventWithArgs 方法向 Singular 发送事件。

注:对于标准事件,请使用Flutter SDK 标准事件和属性列表中显示的事件 Flutter 名称,如 sngLogin。

对于自定义事件,即贵组织希望测量的事件,如果与 Singular 的任何标准事件不匹配,可使用任何自定义名称(最多 32 个字符)。我们建议使用英文名称,以便与可能从 Singular 接收事件以进行优化的广告网络合作伙伴兼容。

例如

Singular.event(Events.sngLogin);
Singular.eventWithArgs(eventName, {attributeName:attributeValue});
Map<String, Object> map = HashMap<String, Object>();
map ['name'] = 'John Doe';
map ['age'] = 30;
map ['isStudent'] = false;
Singular.eventWithArgs('event_Name', map);

跟踪收入

发送 IAP 事件

要让 Singular 跟踪应用程序的收入情况,请向 Singular 发送 IAP 事件。通过发送 IAP 事件,您还可以让 Singular 检查事件验证数据,确保不是欺诈行为。

请参阅以下示例。

注:此代码片段需要 Flutter IAP 软件包,请访问https://pub.dev/packages/in_app_purchase。

import 'package:singular_flutter_sdk/singular_iap.dart';
import 'dart:io' show Platform;
            
// Parse the revenue amount and currency first

double revenue = double.tryParse(product.rawPrice.toStringAsFixed(2)) ?? 0.0;
String? currencyCode = product.currencyCode;

// Only process if both revenue is greater than 0 and currencyCode exists

if (revenue > 0 && currencyCode != null && currencyCode.isNotEmpty) {
  if (Platform.isIOS) {
    singularPurchase = new SingularIOSIAP(
      revenue,
      currencyCode,
      purchase.productID,
      purchase.purchaseID,
      purchase.verificationData.serverVerificationData
    );
  }
              
  else if (Platform.isAndroid) {
    singularPurchase = new SingularAndroidIAP(
      revenue,
      currencyCode,
      purchase.verificationData.serverVerificationData,
      purchase.verificationData.localVerificationData
    );
  }
              
  Singular.inAppPurchase(eventName, singularPurchase);
}

注:传递货币为三个字母的 ISO 4217 货币代码,如 "USD"、"EUR"、"INR"。

替代方法:发送自定义收入事件

Singular 也提供报告收入的选项,只需发送带有名称和收入金额的自定义收入事件即可。请注意,这种方法不会与 Singular 共享购买收据,因此无法让 Singular 验证这是一个合法的事件。

例如

Singular.customRevenue("MyCustomRevenue", "USD", 5.50);
Map<String, Object> map = HashMap<String, Object>();
map ['name'] = 'John Doe';
map ['age'] = 30;
map ['isStudent'] =false;
Singular.customRevenueWithAttributes('MyCustomRevenue','USD', 20, map);

注意:以三个字母的 ISO 4217 货币代码传递货币,如 "USD"、"EUR"、"INR"。

混合事件跟踪(高级)

Singular 建议通过集成到应用程序中的 Singular SDK 发送所有事件和收入。但是,Singular 也可以从其他来源收集事件和收入。

任何非通过 Singular SDK 发送的事件都必须符合 Singular 的服务器到服务器事件文档要求,并提供匹配的设备标识符,以便正确归属事件。

重要:

如果服务器到服务器事件请求中使用的设备标识符在 Singular 中没有匹配的设备标识符,就会出现差异。请注意以下可能性:

  • 如果事件请求是在 Singular SDK 从应用程序会话记录设备标识符之前收到的,那么该事件请求将被视为未知设备的 "第一次会话",Singular 将把该设备作为有机归属
  • 如果 Singular SDK 确实记录了设备标识符,但 Singular SDK 标识符与服务器到服务器事件请求中指定的设备标识符不同,那么事件将被错误归属

混合事件跟踪指南

从内部服务器发送事件

Singular可以收集来自服务器的收入数据,以帮助分析营销活动的性能和投资回报率。

要求:

  • 从应用内注册或登录事件中捕获并传递设备标识符,并将此数据与服务器上的用户 ID 一起存储。由于用户的设备标识符可能会发生变化,因此请确保在用户生成应用程序会话时更新标识符。这将确保服务器端事件归属于正确的设备。
  • 服务器端事件是平台特定的,只能使用与设备平台相匹配的设备标识符发送(如 iOS 设备的 IDFA 或 IDFV)。
  • 您可以使用 Singular 内部 BI 回传机制将事件实时推送到内部端点,以便更新服务器端的数据集。请参阅内部 BI 回传常见问题
  • 查看服务器到服务器集成指南中的"跟踪收入 "部分,了解详情。
从收入提供商发送事件
RevenueCatadapty等第三方提供商可以向Singular提供购买和订阅收入

请点击以下链接了解如何启用这些合作伙伴。

从分段发送事件

要使 Segment 能与 Singular SDK 并行发送事件到 Singular,必须在 Segment 中添加一个"云模式 "目的地。请点击此处查看我们的指南。