跟踪事件(非收入)
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 回传常见问题。
- 查看服务器到服务器集成指南中的"跟踪收入 "部分,了解详情。
请点击以下链接了解如何启用这些合作伙伴。