Tích hợp analytics
Adapty gửi tất cả sự kiện gói đăng ký đến các dịch vụ analytics như Amplitude, Mixpanel và AppMetrica. Chúng tôi cũng có thể gửi sự kiện đến máy chủ của bạn thông qua tích hợp webhook. Điều tuyệt vời là bạn không cần tự gửi bất kỳ sự kiện nào — chúng tôi sẽ làm điều đó cho bạn. Chỉ cần đảm bảo bạn đã cấu hình tích hợp trong Adapty Dashboard.
Adapty hỗ trợ tích hợp với các dịch vụ analytics bên thứ ba sau:
Không thấy nhà cung cấp analytics của bạn?
Hãy cho chúng tôi biết! Tạo yêu cầu tính năng và chúng tôi sẽ xem xét thêm vào.
Thuộc tính sự kiện
Sự kiện webhook được gửi theo định dạng JSON. Tất cả sự kiện đều có cùng cấu trúc, nhưng các trường có thể khác nhau tùy theo loại sự kiện, cửa hàng và cấu hình cụ thể của bạn.
| Thuộc tính | Kiểu | Mô tả |
|---|---|---|
| profile_id | uuid | ID người dùng Adapty. |
| currency | str | Đơn vị tiền tệ địa phương (mặc định là USD). |
| price_usd | float | Giá sản phẩm trước khi Apple/Google khấu trừ. Doanh thu. |
| proceeds_usd | float | Giá sản phẩm sau khi Apple/Google khấu trừ. Doanh thu ròng. |
| net_revenue_usd | float | Doanh thu ròng (thu nhập sau khi Apple/Google khấu trừ và thuế) tính bằng USD. Có thể để trống. |
| price_local | float | Giá sản phẩm trước khi Apple/Google khấu trừ tính bằng tiền tệ địa phương. Doanh thu. |
| proceeds_local | float | Giá sản phẩm sau khi Apple/Google khấu trừ tính bằng tiền tệ địa phương. Doanh thu ròng. |
| transaction_id | str | Mã định danh duy nhất cho một giao dịch như mua hàng hoặc gia hạn. |
| original_transaction_id | str | Mã định danh giao dịch của lần mua hàng gốc. |
| purchase_date | ISO 8601 date | Ngày và giờ mua sản phẩm. |
| original_purchase_date | ISO 8601 date | Ngày và giờ của lần mua hàng gốc. |
| environment | str | Có thể là Sandbox hoặc Production. |
| vendor_product_id | str | ID sản phẩm trên Apple App Store, Google Play Store hoặc Stripe. |
| base_plan_id | str | ID gói cơ bản trên Google Play Store hoặc ID giá trên Stripe. |
| event_datetime | ISO 8601 date | Ngày và giờ xảy ra sự kiện. |
| store | str | Có thể là app_store hoặc play_store. |
| trial_duration | str | Thời hạn dùng thử tính bằng ngày. Được gửi theo định dạng ” days”, ví dụ: “7 days”. |
| cancellation_reason | str | Lý do người dùng hủy gói đăng ký. Có thể là iOS & Android voluntarily_cancelled, billing_error, refund iOS price_increase, product_was_not_available, unknown Android new_subscription_replace, cancelled_by_developer |
| subscription_expires_at | ISO 8601 date | Ngày hết hạn của gói đăng ký. Thường là trong tương lai. |
| consecutive_payments | int | Số kỳ mà người dùng đã đăng ký liên tục không gián đoạn. Bao gồm kỳ hiện tại. |
| rate_after_first_year | bool | Boolean cho biết gói đăng ký đủ điều kiện được áp dụng mức hoa hồng giảm (thường là 15%) sau một năm gia hạn liên tục. Mức hoa hồng thay đổi tùy theo điều kiện tham gia chương trình và quốc gia. Xem Hoa hồng cửa hàng và thuế để biết thêm chi tiết. |
| promotional_offer_id | str | ID của ưu đãi như được chỉ định trong phần Product của Adapty Dashboard |
| store_offer_category | str | Có thể là introductory hoặc promotional. |
| store_offer_discount_type | str | Có thể là free_trial, pay_as_you_go hoặc pay_up_front. |
| paywall_name | str | Tên của paywall nơi giao dịch được thực hiện. |
| paywall_revision | int | Phiên bản của paywall nơi giao dịch được thực hiện. Giá trị được đặt là 1. |
| developer_id | str | ID (SDK) của nhà phát triển cho placement nơi giao dịch được thực hiện. |
| ab_test_name | str | Tên của A/B test nơi giao dịch được thực hiện. |
| ab_test_revision | int | Phiên bản của A/B test nơi giao dịch được thực hiện. Giá trị được đặt là 1. |
| cohort_name | str | Tên đối tượng mà hồ sơ người dùng thuộc về. |
| profile_event_id | uuid | ID sự kiện duy nhất có thể được dùng để loại bỏ trùng lặp. |
| store_country | str | Quốc gia được cửa hàng gửi cho chúng tôi. |
| profile_ip_address | str | IP hồ sơ người dùng (có thể là IPv4 hoặc IPv6, ưu tiên IPv4 khi có). Được cập nhật mỗi khi IP của thiết bị thay đổi. |
| profile_country | str | Được Adapty xác định dựa trên IP hồ sơ người dùng. |
| profile_total_revenue_usd | float | Tổng doanh thu của hồ sơ người dùng, bao gồm cả hoàn tiền. |
| variation_id | uuid | ID duy nhất của paywall nơi giao dịch được thực hiện. |
| access_level_id | str | ID mức độ truy cập có trả phí |
| is_active | bool | Boolean cho biết mức độ truy cập có trả phí có đang hoạt động cho hồ sơ người dùng hay không. |
| will_renew | bool | Boolean cho biết mức độ truy cập có trả phí có được gia hạn hay không. |
| is_refund | bool | Boolean cho biết giao dịch có được hoàn tiền hay không. |
| is_lifetime | bool | Boolean cho biết mức độ truy cập có trả phí có phải là quyền truy cập trọn đời hay không. |
| is_in_grace_period | bool | Boolean cho biết hồ sơ người dùng có đang trong thời gian ân hạn hay không. |
| starts_at | ISO 8601 date | Ngày và giờ mức độ truy cập có trả phí bắt đầu cho người dùng. |
| renewed_at | ISO 8601 date | Ngày và giờ mức độ truy cập có trả phí sẽ được gia hạn. |
| expires_at | ISO 8601 date | Ngày và giờ mức độ truy cập có trả phí sẽ hết hạn. |
| activated_at | ISO 8601 date | Ngày và giờ mức độ truy cập có trả phí được kích hoạt. |
| billing_issue_detected_at | ISO 8601 date | Ngày và giờ xảy ra sự cố thanh toán. |
| profile_has_access_level | Bool | Boolean cho biết hồ sơ người dùng có mức độ truy cập đang hoạt động hay không (chỉ dành cho Webhook). |
Mỗi sự kiện có các thuộc tính sau:
transaction_id, original_transaction_id, purchase_date, original_purchase_date, environment, vendor_product_id, event_datetime, store.
Ngoài ra, một số sự kiện có thêm các thuộc tính bổ sung. Đối với sự kiện subscription_refunded và non_subscription_purchase_refunded, bắt buộc phải cung cấp giá trị của price_usd và proceeds_usd làm thuộc tính bổ sung.
| Tên sự kiện | Thuộc tính |
|---|---|
| subscription_initial_purchase | price_usd, proceeds_usd, subscription_expires_at, consecutive_payments, rate_after_first_year, trial_duration |
| subscription_renewed | price_usd, proceeds_usd, subscription_expires_at, consecutive_payments, rate_after_first_year, trial_duration |
| subscription_cancelled | cancellation_reason, trial_duration |
| trial_started | subscription_expires_at, trial_duration |
| trial_converted | price_usd, proceeds_usd, subscription_expires_at, consecutive_payments, rate_after_first_year, trial_duration |
| trial_cancelled | cancellation_reason, trial_duration |
| non_subscription_purchase | price_usd, proceeds_usd |
| billing_issue_detected | subscription_expires_at, trial_duration |
| entered_grace_period | subscription_expires_at, trial_duration |
Ví dụ sự kiện
{
"price_usd": 9.99,
"proceeds_usd": 6.99,
"transaction_id": "1000000628581600",
"original_transaction_id": "1000000628581600",
"purchase_date": "2020-02-18T18:40:22.000000+0000",
"original_purchase_date": "2020-02-18T18:40:22.000000+0000",
"environment": "Sandbox",
"vendor_product_id": "premium",
"event_datetime": "2020-02-18T18:40:22.000000+0000",
"store": "app_store"
}
Adapty gửi sự kiện đến máy chủ của bạn và các hệ thống analytics bên thứ ba.
Thuộc tính profile_ip_address được đồng bộ với IP hiện tại của thiết bị. Mỗi khi máy chủ Adapty nhận thông tin từ SDK, IP sẽ được cập nhật nếu khác với IP chúng tôi đang lưu.
Thiết lập mã định danh hồ sơ người dùng
- Thiết lập mã định danh hồ sơ người dùng cho analytics đã chọn bằng cách sử dụng hướng dẫn thiết lập thuộc tính người dùng trong ứng dụng của bạn iOS, Android, React Native, Flutter, và Unity .
Tránh trùng lặp dữ liệu
Đừng quên tắt việc gửi sự kiện gói đăng ký từ thiết bị và máy chủ của bạn để tránh trùng lặp
Tắt analytics bên ngoài cho một khách hàng cụ thể
Đôi khi bạn muốn ngừng gửi sự kiện analytics cho một khách hàng cụ thể. Điều này hữu ích khi ứng dụng của bạn có tùy chọn cho phép người dùng từ chối dịch vụ analytics.
Để tắt analytics bên ngoài cho một khách hàng, dùng phương thức updateProfile(). Tạo đối tượng AdaptyProfileParameters.Builder và đặt giá trị tương ứng cho nó.
Khi analytics bên ngoài bị chặn, Adapty sẽ không gửi bất kỳ sự kiện nào đến bất kỳ tích hợp nào cho người dùng đó. Nếu bạn muốn tắt một tích hợp cho tất cả người dùng ứng dụng, hãy tắt nó trực tiếp trong Adapty Dashboard.