THIS LESSON TEACHES YOU TO
YOU SHOULD ALSO READ
Before publishing your In-app Billing
application, you'll need to define the product list of digital goods available
for purchase in the Google
Play Developer Console.
인앱빌링 앱 출시전, 당신은 구글플레이 개발자 콘솔에서 이용가능한 디지털 상품의
목록을 설정해야 할것이다.
Specify In-app Products in Google Play(구글플레이에 인앱 제품 상술하기(추가하기))
From the Developer Console, you can define
product information for in-app products and associate the product list with your
application. 개발자 콘솔로부터, 당신은 앱과 연계된 제품의 목록과 인앱 제품의 정보를 선언할 수 있다.
To add new in-app products to your product
list:(제품 목록에 인앱 제품 추가하기)
- Build a signed APK file for your In-app Billing application. To learn how to build and sign your APK, seeBuilding Your Application for Release. Make sure that you are using your final (not debug) certificate and private key to sign your application.(서명된 인앱 빌링 애플리케이션을 빌드한다. 어떻게 빌드 및 서명하는지 배우기 위해 Building Your Application for Release을 보라. 애플리케이션을 서명하기 위한 최종의(디버그가아닌) 인증서와 개인키인지 확인한다.)
- In the Developer Console, open the application entry that you created earlier.(개발자 콘솔에서, 이전에 생성했던 애플리케이션 시작점을 연다.)
- Click on the APK tab then click on Upload new APK. Upload the signed APK file to the Developer Console. Don’t publish the app yet!(APK탭을 클릭하고 APK를 업로드 클릭한다. 서명된 앱을 개발자 콘솔에 업로드 한다. 아직 앱을 게시하지 말라.)
- Navigate to the uploaded app listing, and click on In-app Products.(업로드된 앱 목록을 찾아서 인앱 제품 항목을 클릭한다.)
- Click on the option to add a new product, then complete the form to specify the product information such as the item’s unique product ID (also called its SKU), description, price, and country availability. Note down the product ID since you might need this information to query purchase details in your application later.(새제품 추가하기 옵션을 클릭하고, 아이템의 유니크제품ID(또한 SKU라 불려진다), 설명, 가격, 이용국가 같은 제품의 정보의 상세를 기록한다/ 제품ID는 이후에 당신의 앱에서 제품의 상세를 조회하기위한 정보로 필요할 것이다.)
-
Important: The In-app Billing Version 3 service only supports managed in-app products, so make sure that you specify that the purchase type is 'Managed' when you add new items to your product list in the Developer Console.(중요 : 인앱 빌링 버전 3은 오직 관리되는 인앱 제품만 지원한다, 그렇기 때문에 개발자 콘솔에 당신의 새로운 제품목록을 추가할때 구매 타입이 '관리된'타입인지 확인 해야한다.)
- Once you have completed the form, activate the
product so that your application can purchase it.(당신의 앱에서 그것을 구매하기 하기 위해 제품을
활성하고 형식을 완성시킨다.)
Warning: It may take up to 2-3 hours after uploading the APK for Google Play to recognize your updated APK version. If you try to test your application before your uploaded APK is recognized by Google Play, your application will receive a ‘purchase cancelled’ response with an error message “This version of the application is not enabled for In-app Billing.”경고 : 구글 플레이가 당신의 업데이트된 APK 버전을 확이하기 위해 APK 업로드 후 2 ~ 3시간 정도 필요하다. 구글플레이에서 당신의 앱이 확인도기 전에 앱을 테스트할경우, 당신의 앱은, "이버전의 앱은 인앱빌링이 허가되지않았다는 오류 메시지와 함께 결제 취소를 수신받을 것이다."
Query Items Available for Purchase(구매를 위해 이용 가능 아이템 조회 )
You can query Google Play to programmatically
retrieve details of the in-app products that are associated with your
application (such as the product’s price, title, description, and type). This is
useful, for example, when you want to display a listing of unowned items that
are still available for purchase to users.
당신은 앱에 제휴된 인앱 제품의 상세를 구글 플레이로 부터 조회하여 수신할 수
있다(제품의 가격, 타이틀, 설명, 타입등과 같은). 이것은 당신이 유저에게 구매 가능 상태의 아이템 목록을 출력하기를 원할때 유용할 수
있다.
Note: When making the query, you will need to
specify the product IDs for the products explicitly. You can manually find the
product IDs from the Developer Console by opening the In-app
Products tab for your application. The product IDs are listed under the
column labeled Name/ID.
주의 : 쿼리를 만들때, 제품을 위한 명시적인 ID를 명기할 필요가 있을것이다. 당신은 개발자 콘솔의 인앱 제품 탭을
열어서 제품의 ID들을 수동으로 찾을 수 있다. 제품의 ID들은 Name/ID 표의 컴럼 아래에 목록화 되어 있다.
To retrieve the product details, call
queryInventoryAsync(boolean,
List, QueryInventoryFinishedListener)
on your IabHelper instance.
제품의 상세를 되찾기 위해서, queryInventoryAsync(boolean,
List, QueryInventoryFinishedListener) 메소드를 IabHelper 인스터스에서 호출한다.
- The first input argument indicates whether
product details should be retrieved (should be set to
true
). - The
List
argument consists of one or more product IDs (also called SKUs) for the products that you want to query. - Finally, the
QueryInventoryFinishedListener
argument specifies a listener is notified when the query operation has completed and handles the query response. - 첫번째 입력인자는 제품이 상세 정보를 수신할지를 가르킨다(true로 설정될것이다)
- 두번째
List
인자는 당신이 조회 하기 원하는 제품들의 하나 이상의 ID들(SKUs라 불리는)로 되어 있다. - 마지막으로,
QueryInventoryFinishedListener
인자는, 조회 작업이 완료되어 조회 응답을 다룰 수 있을때 통지를 받는 리스너이다.
만일 샘플에서 제공된 편의기능 클래스들을 사용한다면, 클래스들은 백그라운드 쓰레드에서 인앱빌링 요구들을 다룰것이다. 그렇기 때문에 당신은 애플리케이션의 메인쓰레드로 부터 조회들을 안전하게 만들어야 한다.
The following code shows how you can retrieve the
details for two products with IDs
SKU_APPLE
and SKU_BANANA
that
you previously defined in the Developer Console.
다음의 코드는 이전에 당신이 개발자 콘슬에 선언했던()
SKU_APPLE
과 SKU_BANANA
를
ID로 가진 두 제품의 상세를 어떻게 되찾는지 보여준다.List<string> additionalSkuList = new List<string>(); additionalSkuList.add(SKU_APPLE); additionalSkuList.add(SKU_BANANA); mHelper.queryInventoryAsync(true, additionalSkuList, mQueryFinishedListener); </string></string>
If the query is successful, the query results are
stored in an
Inventory
object
that is passed back to the listener.
The following code shows how you can retrieve the
item prices from the result set.
쿼리가 성공한다면,쿼리의 결과에는 Inventory 오브젝트가
담기고 리스너에 전달될 것이다.
다음의 코드는 결과 셋으로 부터 어떻게 아이템 가격을 되찾는지
보여준다.
IabHelper.QueryInventoryFinishedListener mQueryFinishedListener = new IabHelper.QueryInventoryFinishedListener() { public void onQueryInventoryFinished(IabResult result, Inventory inventory) { if (result.isFailure()) { // handle error return; } String applePrice = inventory.getSkuDetails(SKU_APPLE).getPrice(); String bananaPrice = inventory.getSkuDetails(SKU_BANANA).getPrice(); // update the UI } }
댓글 없음:
댓글 쓰기