[android] 인앱 구매
앱 내 구매(In-App Purchase) 기능을 추가하면 사용자들이 앱 내에서 디지털 상품을 쉽게 구매할 수 있습니다. 안드로이드 개발자들은 Google Play Billing 라이브러리를 사용하여 앱에 인앱 구매 기능을 추가할 수 있습니다.
Google Play Billing 라이브러리를 사용한 인앱 구매 추가하기
Google Play Billing 라이브러리를 사용하여 인앱 구매를 추가하는 단계는 다음과 같습니다:
-
의존성 추가:
build.gradle
파일에 Google Play Billing 라이브러리 의존성을 추가합니다.implementation 'com.android.billingclient:billing:4.0.0'
-
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() { // 연결 끊김 } });
-
구매 처리: 사용자가 상품을 선택하고 결제를 진행할 때 구매를 처리하는 코드를 추가합니다.
// 구매 요청 BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder() .setSkuDetails(skuDetails) // skuDetails는 구매 가능한 상품 정보 .build(); int responseCode = billingClient.launchBillingFlow(activity, billingFlowParams);
-
결제 결과 처리: 구매 결과를 확인하고 상품을 제공하거나 추가 처리를 수행합니다.
// 결제 결과 확인 Purchase.PurchasesResult purchasesResult = billingClient.queryPurchases(BillingClient.SkuType.INAPP); if (purchasesResult.getPurchasesList() != null) { for (Purchase purchase : purchasesResult.getPurchasesList()) { // 구매 확인 및 처리 } }
위의 단계를 따라가면 Google Play Billing 라이브러리를 사용하여 안드로이드 앱에 간단하고 안전한 인앱 구매 기능을 추가할 수 있습니다.