[android] 인앱 구매

앱 내 구매(In-App Purchase) 기능을 추가하면 사용자들이 앱 내에서 디지털 상품을 쉽게 구매할 수 있습니다. 안드로이드 개발자들은 Google Play Billing 라이브러리를 사용하여 앱에 인앱 구매 기능을 추가할 수 있습니다.

Google Play Billing 라이브러리를 사용한 인앱 구매 추가하기

Google Play Billing 라이브러리를 사용하여 인앱 구매를 추가하는 단계는 다음과 같습니다:

  1. 의존성 추가: build.gradle 파일에 Google Play Billing 라이브러리 의존성을 추가합니다.

     implementation 'com.android.billingclient:billing:4.0.0'
    
  2. BillingClient 초기화: BillingClient를 초기화하고 앱에 필요한 구매 정보를 요청합니다.

     // BillingClient 구성
     BillingClient billingClient = BillingClient.newBuilder(context)
             .setListener(purchasesUpdatedListener)
             .enablePendingPurchases()
             .build();
    
     // 연결
     billingClient.startConnection(new BillingClientStateListener() {
         @Override
         public void onBillingSetupFinished(BillingResult billingResult) {
             if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
                 // 구매 정보 요청
                 List<String> skuList = new ArrayList<>();
                 skuList.add("product_sku");
                 SkuDetailsParams.Builder params = SkuDetailsParams.newBuilder();
                 params.setSkusList(skuList).setType(BillingClient.SkuType.INAPP);
                 billingClient.querySkuDetailsAsync(params.build(), skuDetailsResponseListener);
             }
         }
    
         @Override
         public void onBillingServiceDisconnected() {
             // 연결 끊김
         }
     });
    
  3. 구매 처리: 사용자가 상품을 선택하고 결제를 진행할 때 구매를 처리하는 코드를 추가합니다.

     // 구매 요청
     BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder()
             .setSkuDetails(skuDetails)  // skuDetails는 구매 가능한 상품 정보
             .build();
     int responseCode = billingClient.launchBillingFlow(activity, billingFlowParams);
    
  4. 결제 결과 처리: 구매 결과를 확인하고 상품을 제공하거나 추가 처리를 수행합니다.

     // 결제 결과 확인
     Purchase.PurchasesResult purchasesResult = billingClient.queryPurchases(BillingClient.SkuType.INAPP);
     if (purchasesResult.getPurchasesList() != null) {
         for (Purchase purchase : purchasesResult.getPurchasesList()) {
             // 구매 확인 및 처리
         }
     }
    

위의 단계를 따라가면 Google Play Billing 라이브러리를 사용하여 안드로이드 앱에 간단하고 안전한 인앱 구매 기능을 추가할 수 있습니다.

참고 자료