Tích hợp dịch vụ nhắn tin
Việc thu hút người dùng trong thị trường di động ngày càng cạnh tranh không hề dễ dàng và cũng không rẻ. Vì vậy, việc chăm sóc khéo léo những người dùng đã thu hút được sẽ cải thiện đáng kể kinh tế đơn vị của bạn, đặc biệt trong các lĩnh vực cạnh tranh cao.
Adapty cung cấp thông tin theo thời gian thực về các hành động thanh toán của người dùng. Chúng tôi biết khi nào khách hàng của bạn dùng thử, gặp vấn đề với thanh toán, hay đã mua gói đăng ký rồi quyết định hủy. Tất cả những sự kiện này và nhiều sự kiện khác phản ánh sự thay đổi trong trạng thái của khách hàng. Và đây chính là thời điểm tốt nhất để phản ứng — gửi một ưu đãi, món quà cá nhân, hay bất kỳ điều gì giúp giữ chân họ.
Các nền tảng thông báo đẩy cho phép mô tả người dùng bằng các tag tiêu chuẩn và tùy chỉnh để xây dựng hệ thống giữ chân người dùng tự động hiệu quả. Để hệ thống này hoạt động, bạn chỉ cần các sự kiện kích hoạt để thông báo cho hệ thống biết khi nào cần gửi tin nhắn. Các sự kiện này sẽ được gửi đến nền tảng thông báo đẩy từ Adapty thông qua tích hợp đã thiết lập.
Vui lòng chọn dịch vụ bạn muốn tích hợp bên dưới và làm theo hướng dẫn:
Không thấy nhà cung cấp attribution của bạn?
Let 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
Các sự kiện webhook được gửi dưới đị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ủa chúng sẽ khác nhau tùy thuộc vào loại sự kiện, cửa hàng và cấu hình cụ thể của bạn.
Adapty chuyển đổi các loại tiền tệ khác sang USD theo tỷ giá hối đoái từ currencylayer.com (cập nhật mỗi 8 giờ). Tỷ giá được cố định tại thời điểm giao dịch — những thay đổi sau đó không ảnh hưởng đến kết quả chuyển đổi.
| 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 thuần. |
| net_revenue_usd | float | Doanh thu thuần (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 thuần. |
| 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 trong Apple App Store, Google Play Store, hoặc Stripe. |
| base_plan_id | str | Base plan ID trong Google Play Store hoặc price ID trong Stripe. |
| event_datetime | ISO 8601 date | Ngày và giờ của sự kiện. |
| store | str | Có thể là app_store hoặc play_store. |
| trial_duration | str | Thời gian 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 gói đăng ký. Thường là trong tương lai. |
| consecutive_payments | int | Số chu kỳ mà người dùng đã đăng ký liên tục không gián đoạn. Bao gồm chu kỳ hiện tại. |
| rate_after_first_year | bool | Boolean cho biết gói đăng ký có đủ điều kiện nhận mức hoa hồng giảm (thường là 15%) sau một năm gia hạn liên tục hay không. 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 bắt nguồn. |
| paywall_revision | int | Phiên bản của paywall nơi giao dịch bắt nguồn. Giá trị được đặt là 1. |
| developer_id | str | ID developer (SDK) của placement nơi giao dịch bắt nguồn. |
| ab_test_name | str | Tên của A/B test nơi giao dịch bắt nguồn. |
| ab_test_revision | int | Phiên bản của A/B test nơi giao dịch bắt nguồn. Giá trị được đặt là 1. |
| cohort_name | str | Tên của đố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 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 của 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 của hồ sơ người dùng. |
| profile_total_revenue_usd | float | Tổng doanh thu cho hồ sơ người dùng, bao gồm cả các khoản hoàn tiền. |
| variation_id | uuid | ID duy nhất của paywall nơi thực hiện mua hàng. |
| 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à 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 các 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 phân tích bên thứ ba.
Thuộc tính profile_ip_address được đồng bộ với IP thiết bị hiện tại. 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.