Nhập dữ liệu lịch sử vào Adapty

Sau khi cài đặt SDK Adapty và phát hành ứng dụng, bạn có thể xem người dùng và người đăng ký trong phần Profiles. Nhưng nếu bạn có hạ tầng cũ và cần migrate sang Adapty, hoặc chỉ đơn giản muốn xem dữ liệu hiện có trong Adapty thì sao?

Nhập dữ liệu không bắt buộc

Adapty sẽ tự động cấp mức độ truy cập cho người dùng cũ và khôi phục các sự kiện mua hàng của họ khi họ mở ứng dụng đã tích hợp SDK Adapty. Với trường hợp này, việc nhập dữ liệu lịch sử là không cần thiết. Tuy nhiên, nhập dữ liệu sẽ đảm bảo phân tích chính xác nếu bạn có số lượng lớn giao dịch lịch sử, dù nhìn chung thì không bắt buộc cho migration.

Để nhập dữ liệu vào Adapty:

  1. Xuất các giao dịch của bạn ra file CSV (cần cung cấp file riêng cho iOS, Android và Stripe). Vui lòng tham khảo phần định dạng file nhập bên dưới để biết yêu cầu chi tiết.
  2. Nếu file nào vượt quá 1 GB, hãy chuẩn bị một mẫu dữ liệu khoảng 100 dòng.
  3. Tải tất cả các file lên Google Drive (bạn có thể nén lại, nhưng giữ chúng tách biệt).
  4. Đối với giao dịch iOS, hãy đảm bảo phần In-app purchase API trong App settings đã được điền đầy đủ Issuer ID, Key IDPrivate key (file .P8) dù bạn sử dụng StoreKit 1. Xem hướng dẫn chi tiết tại phần Provide Issuer ID and Key IDUpload In-App Purchase Key file.
  5. Chia sẻ các đường dẫn với đội ngũ của chúng tôi qua email hoặc qua chat trực tuyến trong Adapty Dashboard.

Đừng lo, việc nhập dữ liệu lịch sử sẽ không tạo ra bản trùng lặp, ngay cả khi dữ liệu đó trùng với các mục đã có trong Adapty.

Giới hạn đã biết đối với Android

  1. Chỉ các gói đăng ký đang hoạt động mới được khôi phục; các giao dịch đã hết hạn sẽ không được khôi phục.
  2. Chỉ lần gia hạn gần nhất trong một gói đăng ký mới được khôi phục; toàn bộ chuỗi mua hàng sẽ không được khôi phục.
  3. Nếu giá sản phẩm đã thay đổi kể từ lần mua, giá hiện tại sẽ được sử dụng, điều này có thể dẫn đến giá không chính xác.

Nếu bạn có lượng lớn giao dịch Android, bạn có thể cần yêu cầu tăng hạn mức Google Play Developer API trước khi bắt đầu nhập để tránh vượt quá giới hạn API mặc định.

Định dạng file nhập

Nếu bạn đang migrate từ RevenueCat, bạn có thể gửi thẳng file xuất từ RevenueCat — không cần chuyển đổi. Xem tài liệu của RevenueCat để biết hướng dẫn xuất file.

Hãy chuẩn bị dữ liệu trong một hoặc nhiều file đáp ứng các yêu cầu sau:

  • Định dạng file là .CSV.
  • File riêng cho Android, iOS và Stripe.
  • Mỗi file nhập chứa tất cả các cột bắt buộc.
  • Các cột trong file nhập có tiêu đề.
  • Tiêu đề cột phải khớp chính xác với cột Column name trong bảng bên dưới. Vui lòng kiểm tra lỗi chính tả.
  • Các cột không bắt buộc có thể vắng mặt trong file. Đừng thêm cột trống cho dữ liệu bạn không có.
  • File nhập không được có cột thừa không được đề cập trong bảng. Nếu có, hãy xóa chúng đi.
  • Các giá trị được phân tách bằng dấu phẩy.
  • Các giá trị không được đặt trong dấu ngoặc kép.
  • Nếu có nhiều apple_original_transaction_id cho một người dùng, hãy thêm tất cả chúng thành các dòng riêng biệt cho mỗi apple_original_transaction_id. Nếu không, chúng tôi có thể không khôi phục được các giao dịch mua consumable.

Vui lòng sử dụng các file sau làm mẫu cho iOSAndroid.

Các cột có thể dùng trong file nhập

Column namePresenceMô tả
user_idbắt buộcID người dùng của bạn
apple_original_transaction_idbắt buộc cho iOS

ID giao dịch gốc hoặc OTID (tìm hiểu thêm), được dùng trong cơ chế nhập StoreKit 2. Vì một người dùng có thể có nhiều OTID, chỉ cần cung cấp ít nhất một OTID để nhập thành công.

Lưu ý: Chúng tôi yêu cầu thông tin xác thực In-app purchase API cho việc nhập này phải được thiết lập trong Adapty Dashboard của bạn. Tìm hiểu cách thực hiện tại đây.

google_product_idbắt buộc cho GoogleID sản phẩm trong Google Play Store.
google_purchase_tokenbắt buộc cho GoogleMã định danh duy nhất đại diện cho người dùng và ID sản phẩm của in-app purchase mà họ đã mua
google_is_subscriptionbắt buộc cho GoogleCác giá trị có thể là 1 | 0
stripe_tokenbắt buộc cho StripeToken của đối tượng Stripe đại diện cho một giao dịch mua duy nhất. Có thể là token của Stripe Subscription (sub_...) hoặc Payment Intent (pi_...).
subscription_expiration_datetùy chọnNgày hết hạn gói đăng ký, tức là ngày tính phí tiếp theo, ngày và giờ có múi giờ (2020-12-31T23:59:59-06:00)
created_attùy chọnNgày và giờ tạo hồ sơ người dùng (2019-12-31 23:59:59-06:00)
birthdaytùy chọnNgày sinh của người dùng theo định dạng 2000-12-31
emailtùy chọnEmail của người dùng
gendertùy chọnGiới tính của người dùng
phone_numbertùy chọnSố điện thoại của người dùng
countrytùy chọnđịnh dạng ISO 3166-1 alpha-2
first_nametùy chọnTên của người dùng
last_nametùy chọnHọ của người dùng
last_seentùy chọnNgày và giờ có múi giờ (2020-12-31T23:59:59-06:00)
idfatùy chọnMã định danh cho nhà quảng cáo (IDFA) là mã định danh thiết bị ngẫu nhiên do Apple gán cho thiết bị của người dùng. Chỉ áp dụng cho ứng dụng iOS
idfvtùy chọnMã định danh cho nhà cung cấp (IDFV) là mã duy nhất được gán cho tất cả ứng dụng do một nhà phát triển tạo ra, trong trường hợp này là ứng dụng của bạn. Chỉ áp dụng cho ứng dụng iOS
advertising_idtùy chọnAdvertising ID là mã duy nhất do Hệ điều hành Android gán mà nhà quảng cáo có thể dùng để định danh thiết bị của người dùng
amplitude_user_idtùy chọnID người dùng từ Amplitude
amplitude_device_idtùy chọnID thiết bị từ Amplitude
mixpanel_user_idtùy chọnID người dùng từ Mixpanel
appmetrica_profile_idtùy chọnID hồ sơ người dùng từ AppMetrica
appmetrica_device_idtùy chọnID thiết bị từ AppMetrica
appsflyer_idtùy chọnMã định danh duy nhất từ AppsFlyer
adjust_device_idtùy chọnID thiết bị từ Adjust
facebook_anonymous_idtùy chọnMã định danh duy nhất do Facebook tạo ra cho người dùng tương tác với ứng dụng hoặc trang web của bạn theo cách ẩn danh, tức là họ không đăng nhập vào Facebook
branch_idtùy chọnMã định danh duy nhất từ Branch
attribution_sourcetùy chọnNguồn tích hợp attribution, ví dụ: appsflyer
attribution_statustùy chọnorganic
attribution_channeltùy chọnKênh attribution đã mang lại giao dịch
attribution_campaigntùy chọnChiến dịch attribution đã mang lại giao dịch
attribution_ad_grouptùy chọnNhóm quảng cáo attribution đã mang lại giao dịch
attribution_ad_settùy chọnBộ quảng cáo attribution đã mang lại giao dịch
attribution_creativetùy chọnCác yếu tố hình ảnh hoặc văn bản cụ thể được sử dụng trong quảng cáo hoặc chiến dịch marketing, được theo dõi để xác định hiệu quả trong việc thúc đẩy các hành động mong muốn như click, chuyển đổi hoặc cài đặt
custom_attributestùy chọnĐịnh nghĩa tối đa 30 thuộc tính tùy chỉnh dưới dạng từ điển JSON theo định dạng key-value:
  • key: (string) Tên của thuộc tính tùy chỉnh
  • value: (string, integer, float hoặc boolean) Giá trị của thuộc tính tùy chỉnh.

Định dạng: "{'string_value': 'some_value', 'float_value': 123.0, 'int_value': 456}".

Lưu ý cách dùng dấu nháy đơn và nháy kép trong định dạng. Lưu ý rằng các giá trị boolean và integer sẽ được chuyển thành float.

Các trường bắt buộc

Có 2 nhóm trường bắt buộc cho mỗi nền tảng: user_id và dữ liệu xác định giao dịch mua hàng cụ thể của nền tảng tương ứng. Tham khảo bảng bên dưới để biết các trường bắt buộc theo từng nền tảng.

Nền tảngCác trường bắt buộc
iOS

user_id

apple_original_transaction_id

Android

user_id

google_product_id

google_purchase_token

google_is_subscription

Stripe

user_id

stripe_token

Nếu thiếu các trường này, Adapty sẽ không thể lấy được giao dịch.

Để có phân tích cohort chính xác, hãy chỉ định created_at. Nếu không cung cấp, chúng tôi sẽ lấy ngày cài đặt bằng với ngày mua hàng đầu tiên.

Nhập dữ liệu vào Adapty

Vui lòng liên hệ với chúng tôi và chia sẻ file nhập qua support@adapty.io hoặc qua chat trực tuyến trong Adapty Dashboard.