将历史数据导入 Adapty

安装 Adapty SDK 并发布应用后,您可以在 用户画像 部分查看您的用户和订阅者。但如果您有旧有基础设施需要迁移到 Adapty,或者只是想在 Adapty 中查看现有数据,该怎么办?

数据导入并非强制要求

一旦用户打开集成了 Adapty SDK 的应用,Adapty 将自动为历史用户授予访问等级并恢复其购买事件。对于这种使用场景,导入历史数据并非必要。但是,如果您有大量历史交易记录,导入数据可以确保分析数据的精确性,不过通常不是迁移所必须的。

将数据导入 Adapty:

  1. 将您的交易记录导出为 CSV 文件(iOS、Android 和 Stripe 需分别提供独立文件)。详细要求请参阅下方的导入文件格式部分
  2. 如果任何文件超过 1 GB,请准备一个包含约 100 行数据的样本文件。
  3. 将所有文件上传至 Google Drive(可以压缩,但请保持独立)。
  4. 对于 iOS 交易,请确保 App settings 中的 In-app purchase API 部分已填写 Issuer IDKey IDPrivate key(.P8 文件),即使您使用的是 StoreKit 1。详细说明请参阅提供 Issuer ID 和 Key ID 以及上传 In-App Purchase Key 文件部分。
  5. 通过 邮件 或 Adapty 看板中的在线聊天将链接分享给我们的团队。

请放心,导入历史数据不会产生重复条目,即使这些数据与 Adapty 中已有的条目存在重叠。

Android 已知限制

  1. 仅会恢复有效订阅;已过期的交易不会被恢复。
  2. 仅会恢复订阅中最新的续费记录;完整的购买链不会被恢复。
  3. 如果产品价格自购买以来发生了变化,将使用当前价格,这可能导致定价不准确。

如果您有大量 Android 交易记录,在开始导入之前可能需要申请提高 Google Play Developer API 配额,以避免超出默认 API 限制。

导入文件格式

请按照以下规则准备您的数据文件:

  • 文件格式为 .CSV。
  • Android、iOS 和 Stripe 导入需使用独立文件。
  • 每个导入文件包含所有必填列
  • 导入文件中的列需有标题行。
  • 列标题与下表中 Column name 列完全一致。请检查是否有拼写错误。
  • 非必填列可以不包含在文件中。请勿为没有数据的字段添加空列。
  • 导入文件不应包含表中未提及的额外列。如有,请删除。
  • 值之间用逗号分隔。
  • 值不用引号括起来。
  • 如果一个用户有多个 apple_original_transaction_id,请为每个 apple_original_transaction_id 分别添加独立行。否则,我们可能无法恢复消耗型商品的购买记录。

请使用以下文件作为示例:iOSAndroid

可用的导入文件列

列名是否必填说明
user_id必填您的用户 ID
apple_original_transaction_idiOS 必填

原始交易 ID 或 OTID(了解更多),用于 StoreKit 2 导入机制。由于一个用户可能有多个 OTID,只需提供其中至少一个即可成功导入。

注意: 我们要求在您的 Adapty 看板中配置 In-app purchase API 凭证。点击此处了解操作方法。

google_product_idGoogle 必填Google Play Store 中的产品 ID。
google_purchase_tokenGoogle 必填代表用户及其购买的应用内产品 ID 的唯一标识符
google_is_subscriptionGoogle 必填可选值为 1 | 0
stripe_tokenStripe 必填代表唯一购买的 Stripe 对象令牌。可以是 Stripe 订阅(sub_...)或支付意图(pi_...)的令牌。
subscription_expiration_date可选订阅到期日期,即下次扣费日期,包含时区的日期和时间(2020-12-31T23:59:59-06:00)
created_at可选用户画像创建的日期和时间(2019-12-31 23:59:59-06:00)
birthday可选用户生日,格式为 2000-12-31
email可选您的用户的电子邮件地址
gender可选用户的性别
phone_number可选您的用户的电话号码
country可选格式参考 ISO 3166-1 alpha-2
first_name可选您的用户的名字
last_name可选您的用户的姓氏
last_seen可选包含时区的日期和时间(2020-12-31T23:59:59-06:00)
idfa可选广告标识符(IDFA)是 Apple 为用户设备随机分配的设备标识符,仅适用于 iOS 应用
idfv可选供应商标识符(IDFV)是分配给同一开发者旗下所有应用的唯一代码,仅适用于 iOS 应用
advertising_id可选广告 ID 是 Android 操作系统分配的唯一代码,广告商可用其唯一标识用户设备
amplitude_user_id可选Amplitude 中的用户 ID
amplitude_device_id可选Amplitude 中的设备 ID
mixpanel_user_id可选Mixpanel 中的用户 ID
appmetrica_profile_id可选AppMetrica 中的用户画像 ID
appmetrica_device_id可选AppMetrica 中的设备 ID
appsflyer_id可选AppsFlyer 中的唯一标识符
adjust_device_id可选Adjust 中的设备 ID
facebook_anonymous_id可选Facebook 为匿名与您的应用或网站互动的用户(即未登录 Facebook 的用户)生成的唯一标识符
branch_id可选Branch 中的唯一标识符
attribution_source可选归因的来源集成,例如 appsflyer
attribution_status可选organic
attribution_channel可选带来该交易的归因渠道
attribution_campaign可选带来该交易的归因活动
attribution_ad_group可选带来该交易的归因广告组
attribution_ad_set可选带来该交易的归因广告集
attribution_creative可选广告或营销活动中使用的特定视觉或文字元素,用于跟踪其在推动点击、转化或安装等预期行为方面的效果
custom_attributes可选以 JSON 键值格式定义最多 30 个自定义属性:
  • key:(字符串)自定义属性的名称
  • value:(字符串、整数、浮点数或布尔值)自定义属性的值。

格式:"{'string_value': 'some_value', 'float_value': 123.0, 'int_value': 456}"

注意格式中双引号和单引号的使用。请注意,布尔值和整数将被转换为浮点数。

必填字段

每个平台的必填字段分为两组:user_id 和用于标识对应平台购买记录的数据。请参阅下表了解各平台的必填字段。

平台必填字段
iOS

user_id

apple_original_transaction_id

Android

user_id

google_product_id

google_purchase_token

google_is_subscription

Stripe

user_id

stripe_token

如果缺少这些字段,Adapty 将无法获取交易记录。

为了精确的同期群分析,请指定 created_at。如果未提供,我们将假定安装日期与首次购买日期相同。

将数据导入 Adapty

请通过 [email protected]Adapty 看板 中的在线聊天联系我们并分享您的导入文件。