---
title: "Tích hợp dịch vụ nhắn tin"
description: "Sử dụng công cụ nhắn tin của Adapty để cải thiện mức độ tham gia và giữ chân người dùng đăng ký."
---

Việc thu hút người dùng trong thị trường mobile ngày càng cạnh tranh không hề dễ hay rẻ. Vì vậy, chăm sóc tốt những người dùng đã có sẽ giúp cải thiện kinh tế đơn vị của bạn, đặc biệt trong các ngách cạnh tranh cao.

Adapty cung cấp thông tin thời gian thực về các hành động thanh toán cốt lõi của người dùng. Chúng tôi biết khi nào khách hàng của bạn bắt đầu dùng thử, nếu họ gặp sự cố thanh toán, hay nếu họ đã mua gói đăng ký và quyết định hủy sau đó. Tất cả những sự kiện này và các sự kiện khác đều phản ánh sự thay đổi 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, quà tặng cá nhân, hay bất cứ điều gì giúp giữ chân họ.

Các nền tảng push notification 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 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 đã đến lúc gửi tin nhắn. Các sự kiện này sẽ được truyền đến nền tảng push từ Adapty thông qua tích hợp đã được thiết lập.

Vui lòng chọn dịch vụ bạn cần tích hợp bên dưới và làm theo hướng dẫn:

- [Braze](braze)
- [OneSignal](onesignal)
- [Pushwoosh](pushwoosh)
- [Slack](slack)

:::note
Không thấy nhà cung cấp attribution của bạn?

Hãy cho chúng tôi biết! [Tạo yêu cầu tính năng](https://adapty.featurebase.app/en?b=6979f233ebd3cffd4f425ba0) và chúng tôi sẽ xem xét thêm vào.
:::

## Thuộc tính sự kiện \{#event-properties\}

Các sự kiện webhook được gử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 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 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](https://support.google.com/googleplay/android-developer/answer/12154973) trong Google Play Store hoặc [price ID](https://docs.stripe.com/products-prices/how-products-and-prices-work#use-products-and-prices) 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           | <p>Lý do người dùng hủy gói đăng ký.</p><p></p><p>Có thể là</p><p>iOS & Android</p><p>_voluntarily_cancelled_, _billing_error_, _refund_</p><p>iOS</p><p>_price_increase_, _product_was_not_available_, _unknown_</p><p>Android</p><p>_new_subscription_replace_, _cancelled_by_developer_</p> |
| **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ế](controls-filters-grouping-compare-proceeds#display-gross-or-net-revenue) để 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

```json title="Json"
{
    "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.