将历史数据导入 Adapty
安装 Adapty SDK 并发布应用后,您可以在 用户画像 部分查看您的用户和订阅者。但如果您有旧有基础设施需要迁移到 Adapty,或者只是想在 Adapty 中查看现有数据,该怎么办?
数据导入并非强制要求
一旦用户打开集成了 Adapty SDK 的应用,Adapty 将自动为历史用户授予访问等级并恢复其购买事件。对于这种使用场景,导入历史数据并非必要。但是,如果您有大量历史交易记录,导入数据可以确保分析数据的精确性,不过通常不是迁移所必须的。
将数据导入 Adapty:
- 将您的交易记录导出为 CSV 文件(iOS、Android 和 Stripe 需分别提供独立文件)。详细要求请参阅下方的导入文件格式部分。
- 如果任何文件超过 1 GB,请准备一个包含约 100 行数据的样本文件。
- 将所有文件上传至 Google Drive(可以压缩,但请保持独立)。
- 对于 iOS 交易,请确保 App settings 中的 In-app purchase API 部分已填写 Issuer ID、Key ID 和 Private key(.P8 文件),即使您使用的是 StoreKit 1。详细说明请参阅提供 Issuer ID 和 Key ID 以及上传 In-App Purchase Key 文件部分。
- 通过 邮件 或 Adapty 看板中的在线聊天将链接分享给我们的团队。
请放心,导入历史数据不会产生重复条目,即使这些数据与 Adapty 中已有的条目存在重叠。
Android 已知限制
- 仅会恢复有效订阅;已过期的交易不会被恢复。
- 仅会恢复订阅中最新的续费记录;完整的购买链不会被恢复。
- 如果产品价格自购买以来发生了变化,将使用当前价格,这可能导致定价不准确。
如果您有大量 Android 交易记录,在开始导入之前可能需要申请提高 Google Play Developer API 配额,以避免超出默认 API 限制。
导入文件格式
请按照以下规则准备您的数据文件:
- 文件格式为 .CSV。
- Android、iOS 和 Stripe 导入需使用独立文件。
- 每个导入文件包含所有必填列。
- 导入文件中的列需有标题行。
- 列标题与下表中 Column name 列完全一致。请检查是否有拼写错误。
- 非必填列可以不包含在文件中。请勿为没有数据的字段添加空列。
- 导入文件不应包含表中未提及的额外列。如有,请删除。
- 值之间用逗号分隔。
- 值不用引号括起来。
- 如果一个用户有多个 apple_original_transaction_id,请为每个 apple_original_transaction_id 分别添加独立行。否则,我们可能无法恢复消耗型商品的购买记录。
可用的导入文件列
| 列名 | 是否必填 | 说明 |
|---|---|---|
| user_id | 必填 | 您的用户 ID |
| apple_original_transaction_id | iOS 必填 | 原始交易 ID 或 OTID(了解更多),用于 StoreKit 2 导入机制。由于一个用户可能有多个 OTID,只需提供其中至少一个即可成功导入。 注意: 我们要求在您的 Adapty 看板中配置 In-app purchase API 凭证。点击此处了解操作方法。 |
| google_product_id | Google 必填 | Google Play Store 中的产品 ID。 |
| google_purchase_token | Google 必填 | 代表用户及其购买的应用内产品 ID 的唯一标识符 |
| google_is_subscription | Google 必填 | 可选值为 1 | 0 |
| stripe_token | Stripe 必填 | 代表唯一购买的 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 |
| 可选 | 您的用户的电子邮件地址 | |
| 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 个自定义属性:
格式: 注意格式中双引号和单引号的使用。请注意,布尔值和整数将被转换为浮点数。 |
必填字段
每个平台的必填字段分为两组: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 看板 中的在线聊天联系我们并分享您的导入文件。