---
title: "Tạo sản phẩm"
description: "Hướng dẫn từng bước về cách tạo sản phẩm gói đăng ký mới trong Adapty để quản lý doanh thu hiệu quả hơn."
---

Cách bạn tạo sản phẩm trong Adapty phụ thuộc vào việc bạn đã có sản phẩm trong các cửa hàng hay chưa:
- **[Nếu sản phẩm chưa tồn tại trên App Store và/hoặc Google Play, hãy tạo chúng trong Adapty và đẩy lên cửa hàng ngay lập tức](#create-product-and-push-to-store)**.
- **[Nếu sản phẩm đã tồn tại trên App Store và/hoặc Google Play, hãy tạo chúng trong Adapty và kết nối với sản phẩm đã có trong cửa hàng.](#create-product-and-connect-existing-store-products)**

:::tip
Bạn cũng có thể tạo sản phẩm theo cách lập trình bằng [Developer CLI](developer-cli-reference#adapty-products-create).
:::

## Tạo sản phẩm và đẩy lên cửa hàng \{#create-product-and-push-to-store\}

:::warning
Trước khi bắt đầu, hãy đảm bảo bạn đã cấu hình tích hợp với các cửa hàng cần thiết:
- [App Store](initial_ios)
- [Google Play](initial-android)

Nếu bạn đã cấu hình tích hợp App Store từ trước, hãy đảm bảo bạn đã [thêm App Store Connect API key](app-store-connection-configuration#step-6-add-app-store-connect-api-key).
:::

<div style={{
    maxWidth: '560px',
    margin: '0 auto 2rem',
    position: 'relative',
    aspectRatio: '16/9',
    width: '100%'
}}>
    <iframe
        style={{
            position: 'absolute',
            top: 0,
            left: 0,
            width: '100%',
            height: '100%'
        }}
        src="https://www.youtube.com/embed/qUpC2XG-r5E?si=7Komyv4_PUQ4FaEH"
        title="YouTube video player"
        frameBorder="0"
        allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
        referrerPolicy="strict-origin-when-cross-origin"
        allowFullScreen
    />
</div>

Để thêm sản phẩm mới vào ứng dụng:

1. Vào **[Products](https://app.adapty.io/products)** từ menu chính của Adapty.

  <img src="/assets/shared/img/products-tab.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

2. Nhấp **Create product** ở góc trên bên phải. Adapty hỗ trợ tất cả các loại sản phẩm: gói đăng ký, non-consumable \(bao gồm cả lifetime\) và consumable.

3. Chọn **Create a new product and push to stores**.

  <img src="/assets/shared/img/push-to-stores.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '400px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

4. Nhập các thông tin sau:
    - **Product name**: nhập tên sản phẩm để sử dụng trong Adapty dashboard. Tên này chủ yếu để bạn tham khảo, vì vậy hãy chọn tên phù hợp nhất với bạn khi sử dụng trên Adapty Dashboard.
    - **Access Level**: chọn [mức độ truy cập](access-level) mà sản phẩm thuộc về. Mức độ truy cập dùng để xác định các tính năng được mở khóa sau khi mua sản phẩm. Lưu ý danh sách này chỉ chứa các mức độ truy cập đã được tạo trước đó. Mức độ truy cập `premium` được tạo sẵn trong Adapty, nhưng bạn cũng có thể [thêm mức độ truy cập khác](access-level).
    - **Subscription duration**: chọn thời hạn gói đăng ký từ danh sách.
        - **Weekly/Monthly/2 Months/3 Months/6 Months/Annual**: Thời hạn gói đăng ký.
        - **Lifetime**: Dùng khi sản phẩm mở khóa tính năng premium của ứng dụng mãi mãi.
        - **Non-Subscriptions**: Dành cho các sản phẩm không phải gói đăng ký và do đó không có thời hạn. Có thể dùng để mở khóa tính năng bổ sung, consumable, v.v.
        - **Consumables**: Các mục consumable có thể mua nhiều lần và có thể được tiêu thụ trong quá trình sử dụng ứng dụng. Ví dụ như tiền tệ trong game và các vật phẩm thêm. Lưu ý rằng sản phẩm consumable không ảnh hưởng đến mức độ truy cập. Để cấp mức độ truy cập từ sản phẩm mua một lần, hãy dùng **Non-Subscriptions**.
    - **Price (USD)**: Giá sản phẩm tính bằng USD. Giá này sẽ được dùng làm cơ sở để tự động tính và thiết lập giá cho tất cả các quốc gia. Bạn có thể [tùy chỉnh giá cho từng quốc gia và khu vực](edit-product#set-country-specific-prices) sau.

  <img src="/assets/shared/img/create-product-push.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '400px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

5. Nhấp **Save & Continue**.
6. Cấu hình thông tin sản phẩm cho App Store nếu bạn có kế hoạch xuất bản ở đó:
   - **Product ID**: Tạo ID duy nhất và cố định cho sản phẩm.
   - **Product group**: Chọn nhóm sản phẩm hiện có mà bạn đã tạo trong App Store Connect hoặc nhấp **Create new Product Group** và đặt tên cho nhóm đó. Sau khi Adapty tạo xong, bạn có thể chọn từ danh sách thả xuống.
   - **Screenshot**: Tải lên ảnh chụp màn hình của in-app purchase thể hiện rõ sản phẩm hoặc dịch vụ được cung cấp. Ảnh chụp màn hình này chỉ dùng cho quá trình xét duyệt App Store và không được hiển thị trên App Store. Xem yêu cầu về kích thước và định dạng ảnh chụp màn hình [tại đây](https://developer.apple.com/help/app-store-connect/reference/app-information/screenshot-specifications/).

  <img src="/assets/shared/img/push-app-store.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '400px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

7. Nhấp **Push data to App Store**.

:::warning
Nếu đây là sản phẩm đầu tiên của ứng dụng này, bạn phải gửi thủ công để xét duyệt trong App Store Connect. Điều này sẽ không cần thiết về sau. Sau khi xét duyệt hoàn tất, trạng thái sản phẩm trong Adapty sẽ tự động cập nhật.
:::

8. Cấu hình thông tin sản phẩm cho Google Play nếu bạn có kế hoạch xuất bản ở đó:
   - **Base Product ID**: Tạo ID duy nhất và cố định cho sản phẩm.
   - **Subscription**: Chọn nhóm gói đăng ký hiện có mà bạn đã tạo trong Google Play Console hoặc nhấp **Create new Product Group** và đặt tên và ID cho nhóm đó. Sau khi Adapty tạo xong, bạn có thể chọn từ danh sách thả xuống.
   :::note
   Grace Period và Account Hold Period sẽ được tự động đặt về giá trị mặc định theo quy định của Play Store. Bạn có thể thay đổi chúng sau trong Google Play Console.
   :::

  <img src="/assets/shared/img/push-google-play.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '400px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

9. Nhấp **Push data to Play Store**.
10. Đối với iOS, cấu hình ưu đãi giới thiệu – dùng thử miễn phí – bằng cách chọn **Free duration** từ danh sách thả xuống. Trong thiết lập ban đầu này, bạn có thể thêm thời gian dùng thử miễn phí giới thiệu. Sau khi sản phẩm chính được các cửa hàng phê duyệt, bạn có thể [thêm các ưu đãi khác](offers) (ví dụ: ưu đãi, ưu đãi thu hút khách hàng cũ) bằng cách liên kết ID hiện có từ console của cửa hàng.

  <img src="/assets/shared/img/intro.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '400px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

:::important
Ưu đãi giới thiệu không tự đồng bộ với Google Play. Không giống App Store, Google Play không có loại "introductory offer" riêng biệt — các ưu đãi dùng thử miễn phí và giảm giá đều được cấu hình dưới dạng **offers** trên base plan. [Tạo offer trong Google Play Console và liên kết với sản phẩm Adapty của bạn](google-play-offers).
:::

11. Cuối cùng, nhấp **Save** để xác nhận tạo sản phẩm.

## Tạo sản phẩm và kết nối sản phẩm đã có trong cửa hàng \{#create-product-and-connect-existing-store-products\}

:::warning
Trước khi bắt đầu, hãy đảm bảo bạn đã:
- Cấu hình tích hợp với các cửa hàng cần thiết:
  - [App Store](initial_ios)
  - [Google Play](initial-android)
- Tạo sản phẩm trong các cửa hàng cần thiết:
  - [App Store](app-store-products)
  - [Google Play](android-products)

**Nếu bạn chưa có sản phẩm nào**, hãy xem hướng dẫn [Đẩy lên cửa hàng](#create-product-and-push-to-store) để tạo chúng cùng lúc trong Adapty và các cửa hàng.
:::

<div style={{
    maxWidth: '560px',
    margin: '0 auto 2rem',
    position: 'relative',
    aspectRatio: '16/9',
    width: '100%'
}}>
    <iframe
        style={{
            position: 'absolute',
            top: 0,
            left: 0,
            width: '100%',
            height: '100%'
        }}
        src="https://www.youtube.com/embed/nlkdKCF0SwY?si=VVigzHcpv3waKJmI"
        title="YouTube video player"
        frameBorder="0"
        allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
        referrerPolicy="strict-origin-when-cross-origin"
        allowFullScreen
    />
</div>

Để thêm sản phẩm mới vào ứng dụng:

1. Vào **[Products](https://app.adapty.io/products)** từ menu chính của Adapty.

  <img src="/assets/shared/img/products-tab.png"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '700px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

2. Nhấp **Create product** ở góc trên bên phải. Adapty hỗ trợ tất cả các loại sản phẩm: gói đăng ký, non-consumable \(bao gồm cả lifetime\) và consumable.

3. Chọn **Connect an existing store product**.

  <img src="/assets/shared/img/existing-product.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '400px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

4. Nhập các thông tin sau:

    - **Product name**: nhập tên sản phẩm để sử dụng trong Adapty dashboard. Tên này chủ yếu để bạn tham khảo, vì vậy hãy chọn tên phù hợp nhất với bạn khi sử dụng trên Adapty Dashboard.

    - **Access Level ID**: chọn [mức độ truy cập](access-level) mà sản phẩm thuộc về. Mức độ truy cập dùng để xác định các tính năng được mở khóa sau khi mua sản phẩm. Lưu ý danh sách này chỉ chứa các mức độ truy cập đã được tạo trước đó. Mức độ truy cập `premium` được tạo sẵn trong Adapty, nhưng bạn cũng có thể [thêm mức độ truy cập khác](access-level).

   - **Subscription duration**: chọn thời hạn gói đăng ký từ danh sách.
      - **Weekly/Monthly/2 Months/3 Months/6 Months/Annual**: Thời hạn gói đăng ký.
      - **Lifetime**: Dùng khi sản phẩm mở khóa tính năng premium của ứng dụng mãi mãi.
      - **Non-Subscriptions**: Dành cho các sản phẩm không phải gói đăng ký và do đó không có thời hạn. Có thể dùng để mở khóa tính năng bổ sung, consumable, v.v.
      - **Consumables**: Các mục consumable có thể mua nhiều lần và có thể được tiêu thụ trong quá trình sử dụng ứng dụng. Ví dụ như tiền tệ trong game và các vật phẩm thêm. Lưu ý rằng sản phẩm consumable không ảnh hưởng đến mức độ truy cập. Để cấp mức độ truy cập từ sản phẩm mua một lần, hãy dùng **Non-Subscriptions**.
   - **Price (USD)**: Giá sản phẩm tính bằng USD. Nếu sản phẩm đã có trong cửa hàng, giá trị này sẽ không ảnh hưởng đến giá thực tế trong cửa hàng; bạn có thể chọn bất kỳ giá trị nào từ danh sách. Sau đó, bạn có thể [tùy chỉnh giá cho từng khu vực](edit-product#set-country-specific-prices) ngay trong Adapty dashboard.

  <img src="/assets/shared/img/product-info.webp"
  style={{
    border: '1px solid #727272', /* border width and color */
    width: '400px', /* image width */
    display: 'block', /* for alignment */
    margin: '0 auto' /* center alignment */
  }}
/>

5. Nhấp **Continue**.

6. Cấu hình thông tin sản phẩm từ mỗi cửa hàng:

   - **App Store:**
        - **App Store Product ID:** Mã định danh duy nhất này được dùng để truy cập sản phẩm trên thiết bị. Chọn từ danh sách. Nếu không thấy trong danh sách, hãy kiểm tra cấu hình trong App Store Connect và đảm bảo nó chính xác và thuộc ứng dụng này.
   - **Play Store:**
        - **Google Play Product ID:** Đây là mã định danh sản phẩm từ Play Store. Chọn từ danh sách. Nếu không thấy trong danh sách, hãy kiểm tra cấu hình trong Google Play Console và đảm bảo nó chính xác và thuộc ứng dụng này.
        - **Base Plan ID:** ID này dùng để xác định base plan cho sản phẩm trên Play Store. Khi thêm Product ID của gói đăng ký trên Play Store, bạn cần cung cấp Base Plan ID. Một base plan xác định các chi tiết cơ bản của gói đăng ký, bao gồm chu kỳ thanh toán, loại gia hạn (tự động gia hạn hoặc trả trước) và giá tương ứng. Lưu ý rằng trong Adapty, mỗi sự kết hợp giữa cùng một gói đăng ký và các base plan khác nhau được coi là sản phẩm riêng biệt.
        - **Legacy fallback product**: Sản phẩm dự phòng này chỉ được dùng cho các ứng dụng sử dụng phiên bản SDK Adapty cũ hơn (phiên bản 2.5 trở xuống). Bằng cách đánh dấu sản phẩm là tương thích ngược trong Google Play Console, Adapty có thể xác định liệu nó có thể được mua bởi các phiên bản SDK cũ hay không. Đối với trường này, hãy chỉ định giá trị theo định dạng `<subscription_id>:<base_plan_id>`.
   - **Stripe**:
        - **Stripe Product ID**: Đây là mã định danh duy nhất cho sản phẩm trong Stripe.
        - **Stripe Price ID**: Trong Stripe, các đối tượng price bao gồm nhiều hơn chỉ là số tiền; chúng còn bao gồm cả hành vi thuế, bậc khối lượng và khoảng thời gian gói đăng ký. Vì một sản phẩm có thể có nhiều mức giá, hãy chỉ định đúng price ID khi tạo sản phẩm trong Adapty.
   - **Paddle**:
       - **Paddle Product ID**: Đây là mã định danh duy nhất cho sản phẩm trong Paddle.
       - **Paddle Price ID**: Trong Paddle, các đối tượng price bao gồm nhiều hơn chỉ là số tiền; chúng còn bao gồm cả hành vi thuế, bậc khối lượng và khoảng thời gian gói đăng ký. Vì một sản phẩm có thể có nhiều mức giá, hãy chỉ định đúng price ID khi tạo sản phẩm trong Adapty.

7. **Tùy chọn:** Bạn có thể thêm sản phẩm từ bất kỳ cửa hàng tùy chỉnh nào bằng cách nhấp **Add custom store**. Trong cửa sổ **Manage custom store info**, bạn có thể chọn cửa hàng tùy chỉnh hiện có hoặc thêm cửa hàng mới và liên kết sản phẩm với nó. Lưu ý rằng Adapty chỉ theo dõi giao dịch từ App Store, Google Play và Stripe. Đối với các cửa hàng tùy chỉnh, bạn cần gửi giao dịch bằng phương thức Set transaction của Adapty server-side API.

8. Nhấp **Save product** để hoàn tất việc tạo sản phẩm. Quá trình đồng bộ trạng thái sản phẩm có thể mất đến năm phút, vì vậy hãy đợi cho đến khi chúng cập nhật trong bảng.

9. Bạn có thể [tạo offer](create-offer) cho sản phẩm nếu cần. Để thêm offer, nhấp **Yes, add offers**. Nếu không, nhấp **No, thanks**.

:::note
Ưu đãi giới thiệu chỉ được tạo trong Adapty khi đẩy sản phẩm lên cửa hàng. Khi nhập hoặc với các sản phẩm đã tạo trước đó, ưu đãi giới thiệu không được đồng bộ và không hiển thị trong Adapty nhưng vẫn hoạt động đúng trong ứng dụng.
:::

## Các bước tiếp theo \{#next-steps\}

Chúc mừng! Bạn đã thêm sản phẩm vào Adapty. Tiếp theo là gì?

- Nếu bạn chưa cấu hình ưu đãi giới thiệu/ưu đãi, bạn có thể [thực hiện ngay](offers).
- Nếu bạn không muốn làm việc đó hoặc đã làm xong, hãy tiến hành [thiết lập paywall](quickstart-paywalls) để bật in-app purchase.
- Nếu bạn muốn điều chỉnh sản phẩm trong cửa hàng (ví dụ: đặt giá theo khu vực hoặc cấu hình thời gian ân hạn), hãy thực hiện trong App Store Connect hoặc Google Play Console.
- Đọc thêm về cách [chỉnh sửa sản phẩm](edit-product) sau này.