Tạo in-app purchase để kiếm tiền với app Android

0
554

Trong bài viết về ASO (App Store Optimization), mình có nói đến việc sử dụng tính năng In-app purchase để tối ưu ASO. Tuy nhiên, mình lại chưa có bài viết hướng dẫn cách tạo In-app purchase cho Android app.

Để bù đắp cho thiếu sót đó, bài này mình sẽ hướng dẫn chi tiết cách tạo tính năng In-app purchase để bạn vừa có thể kiếm tiền từ ứng dụng Android, vừa có thể tối ưu ASO.

Tạo in-app purchase để kiếm tiền với app Android

# In-app purchase là gì?

In-App Purchase là một tính năng được tích hợp bên trong ứng dụng di động (iOS hay Android) hoặc PC (Windows/Ubuntu) để người dùng có thể mua những vật phẩm hoặc mở những tính năng nâng cao trong ứng dụng/game.

Tạo In-app purchase  (IAP) là một cách tuyệt vời để giúp bạn kiếm tiền từ ứng dụng Android của bạn.

Dù muốn hay không, Google tính phí 30% cho mỗi giao dịch thành công mà ứng dụng của bạn sẽ thực hiện.

Android_in-app_billing_purchase

Dựa trên API có sẵn, chúng ta có thể phân loại các sản phẩm IAP thành hai loại:

  • Sản phẩm có phí tạm thời: Là những sản phẩm chỉ có giá trị tạm thời và một khi được mua, có thể được mua lại. Ví dụ nhân vật trong trò chơi có thể kiếm được điểm để chơi tiếp hoặc kiếm thêm tiền vàng trong kho của họ.
  • Sản phẩm có phí vĩnh viễn: Nó có thể được mua một lần trong ứng dụng của bạn và mang lại lợi ích vĩnh viễn. Sau khi mua, các sản phẩm này sẽ được liên kết vĩnh viễn với tài khoản Google của người dùng. Ví dụ: nâng cấp ứng dụng lên phiên bản pro hoặc xóa quảng cáo.

Với hướng dẫn này, mình sẽ chia sẻ mọi thứ cần thiết về In-app purchase (mua hàng trong ứng dụng). Mình sẽ cố gắng càng chi tiết càng tốt, và sẽ chia nhỏ hướng dẫn này thành nhiều bước để dễ nắm bắt và làm theo hơn.

Chúng ta bắt đầu nhé!

#Tạo In-app purchase trong ứng dụng Android

Những tính năng chính của PurchaseHelper:

  1. Thêm Thư viện thanh toán Play (Google Play Billing) vào ứng dụng của bạn
  2. Cấu hình sản phẩm/vật phẩm.
  3. Triển khai các lớp mua hàng cho ứng dụng của bạn.
  4. Lấy lịch sử mua hàng.
  5. Nhận thông tin chi tiết về sản phẩm.
  6. Thanh toán trong ứng dụng Google Play.

Sau khi thực hiện IAP trong nhiều dự án, mình đã đúc kết kinh nghiệm và gói gọn vào một Helper cho tiện sử dụng sau này.

Các bạn download dự án mẫu của mình tại đây nhé

Bài viết này, mình sẽ chia sẻ các bạn cách sử dụng Helper của mình để tạo In-app purchase. Thành quả sau bao năm chinh chiến!

♥ Đọc thêm: Tăng thứ hạng từ khóa trên App Store/Google Play) bằng ASO

1.Thêm thư viện Google Play Billing vào dự án

Thêm vào file build.gradle

implementation 'com.android.billingclient:billing:1.1'

Và thêm quyền truy cập internet permission trong file AndroidManifest.xml

Quyền thanh toán được nhúng trong thư viện. Vì vậy không cần thiết phải thêm quyền com.android.veinating.BILLING bên trong AndoridManifest nữa.

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

Cuối cùng là sync project.

2.Cấu hình sau khi tạo In-app purchase

Để có IAP trong ứng dụng của bạn, trước tiên bạn phải định cấu hình các sản phẩm trong ứng dụng của mình bằng Google Play Console. Vì mình sử dụng thư viện nên việc cấu hình cũng nhanh chóng và dễ dàng hơn.

Các bạn vào 2 link này để đọc tài liệu về cấu hình.

https://support.google.com/googleplay/android-developer/answer/1153481
https://support.google.com/googleplay/android-developer/answer/140504

3.Triển khai các lớp mua hàng cho ứng dụng của bạn

Để triển khai, bạn hãy kế thừa  PurchasingHelper của mình vào ứng dụng của bạn, bạn cần khai báo và xác định đối tượng bằng callback interface (PurchasingHelperListener), sẽ cung cấp cho bạn các hàm trả về  khi người dùng thao tác.

Bạn có thể sử dụng đoạn code sau:

PurchaseHelper purchaseHelper;
      
purchaseHelper = new PurchaseHelper(this, getPurchaseHelperListener());  
public PurchaseHelper.PurchaseHelperListener getPurchaseHelperListener() {
   return new PurchaseHelper.PurchaseHelperListener() {
     @Override
     public void onServiceConnected(int resultCode) {
          Log.d(TAG, "onServiceConnected: " + resultCode);
     }
     @Override
     public void onSkuQueryResponse(List<SkuDetails> skuDetails) {
     }
     @Override
     public void onPurchasehistoryResponse(List<Purchase> purchasedItems) {
          purchaseHistory = purchasedItems;
     }

  @Override
     public void onPurchasesUpdated(int responseCode, @Nullable List<Purchase> purchases) {
           Log.d(TAG, "onPurchasesUpdated: " + responseCode);
     }
   };  
}

4.Lấy lịch sử mua hàng

Trước khi bắt đầu luồng thanh toán, chúng ta phải kiểm tra trạng thái của sản phẩm, để kiểm tra lịch sử mua hàng.

Bạn có thể thực hiện yêu cầu để có được tất cả các mặt hàng đã mua. Bạn sử dụng hàm sau:

purchaseHelper.getPurchasedItems(TYPE);

Hàm này sẽ trả lại phản hồi của yêu cầu vào callback  trên PurchasehistoryResponse (Danh sách đã mua).

Từ đó, chúng ta có thể nhận được tất cả các giao dịch mua trong SkuType cụ thể được kết nối với ứng dụng cụ thể và tài khoản Google đang hoạt động trong thiết bị Google play.

♥ Có thể có ích với bạn: Tăng lượt tải ứng dụng bằng cách sử dụng “từ khóa sai chính tả”

5. Nhận thông tin chi tiết về sản phẩm

Để hiển thị chi tiết về các sản phẩm, chúng ta phải lấy thông tin chi tiết từ play console bằng ID sản phẩm.

Để làm điều này, chúng ta phải lấy danh sách Id sản phẩm và SkuType. Bạn sử dụng hàm sau:

purchaseHelper.getSkuDetails(skuList,BillingClient.SkuType.INAPP);

Nó sẽ trả về các kết quả qua hàm callback onSkuQueryResponse(List skuDetails);

6. Thanh toán trong ứng dụng Google Play

Để bắt đầu Mua hàng trong ứng dụng, bạn phải có SkuType và ID sản phẩm.

purchaseHelper.launchBillingFLow(BillingClient.SkuType.INAPP, getProduct_id());

Nó sẽ trả lại phản hồi của yêu cầu này vào hàm  callback PurchaseUpdated (int answerCode, @Nullable List purchases). Vậy là hoàn tất quá trình tạo In-app purchase!

In-App purchase demo

Tạm kết

Như vậy, mình đã chia sẻ cách tạo In-app purchase vào ứng dụng Android.

Mình hi vọng, với những chia sẻ của mình sẽ giúp các bạn nhanh chóng hoàn thành tính năng này. Nhờ đó kiếm được nhiều tiền nhờ ứng dụng Android.

Đừng quên like và để lại bình luận ủng hộ mình nhé!

Bình luận. Đặt câu hỏi cũng là một cách học

avatar
  Theo dõi bình luận  
Thông báo