11. V21로 원스토어 인앱결제 업그레이드 하기

v19에서 v21로 업그레이드 하기

결제 라이브러리 변경하기

원스토어 InApp Purchase(IAP) SDK는 v21버전부터 maven을 통한 배포를 제공하고 있습니다.

maven을 통해 IAP library를 사용하고 싶은 경우 다음의 내용에 따라 변경을 해야합니다.

  • v19 AAR 파일 삭제

    • Project의 libs 폴더의 iap_sdk-v19.XX.XX.aar 파일을 삭제합니다.

  • maven 종속성 추가

    • 프로젝트 최상위 build.gradle 파일에 원스토어 maven 주소를 등록합니다.

      
      allprojects {
      	repositories {
      		...
      		maven { url 'https://repo.onestore.co.kr/repository/onestore-sdk-public' }
      	}
      }
    • 다음은 앱의 build.gradle 파일에 원스토어 결제 라이브러리 종속 항목을 추가합니다.

      
      dependencies {
          def onestore_iap_version = "21.00.00"
          implementation "com.onestorecorp.sdk:sdk-iap:$onestore_iap_version"
      }
      

Json file 변경하기

원스토어는 IAP SDK v19부터 SDK에서 사용하기 위한 필수 param들을 global-appstores.json을 통해 제공하였습니다.

v21부터는 좀더 편리하게 해당 값을 적용하기 위해 maven으로 해당 값을 배포하고 있습니다.

해당 내용을 변경하기 위해서는 다음을 따라 주세요.

  • global-appstores.json 삭제

    • Project의 assets 폴더의 global-appstores.json파일을 삭제합니다.

  • maven 종속성 추가

    • 프로젝트 최상위 build.gradle 파일에 원스토어 maven 주소를 등록합니다.

      
      allprojects {
          repositories {
              ...
              maven { url 'https://repo.onestore.co.kr/repository/onestore-sdk-public' }
          }
      }
      
    • 다음은 앱의 build.gradle 파일에 원스토어 결제 라이브러리 종속 항목을 추가합니다.

      
      dependencies {
          def onestore_configuration_version = "1.0.0"
          implementation "com.onestorecorp.sdk:sdk-configuration-kr:$onestore_configuration_version"
      }
      

Deprecated 항목 수정하기

v21 SDK에서 다음의 항목들이 Deprecated 되었습니다.

사용하는데는 문제는 없으나, 추후 원활한 사용을 위해 변경이 필요합니다.

  • Interface

    namedescription

    PurchasesListener

    v21부턴 PurchasesListener 대신 QueryPurchasesListener를 사용하세요.

  • Method

    classmethod namedescription
    PurchaseClient

    manageRecurringProductAsync

    v21부터 Auto(월정액) 상품 대신 Subscription(구독) 상품을 지원하며 정기 결제 메뉴를 통해 해당 기능들을 지원합니다.

    정기 결제 메뉴의 경우 월정액 상품을 지원하지 않기 때문에 해당 API를 이용하여 이용해지 예약/취소를 기존처럼 제공해야 합니다.

    구독 상품의 경우 정기 결제 메뉴로 사용자에게 안내하도록 구현이 필요합니다.

    launchLoginFlowAsync

    인증 관련 flow는 별도의 class로 분리하였습니다.

    자세한 사항은 원스토어 로그인하기를 참고하시기 바랍니다.

v17에서 v21로 업그레이드 하기

결제 라이브러리 변경하기

v17에서 v21로 변경 시 라이브러리가 jar 에서 aar로 변경됩니다.

v17 라이브러리를 사용하는 개발사의 경우 v19에서 v21로 업그레이드를 가이드를 통해 maven으로 변경 후, jar 형태에서 aar배포로 바뀐 부분에 대한 추가적인 작업(meta-data 삭제)이 필요합니다.

  • v17 jar 라이브러리 삭제

    • Project의 libs폴더의 jar파일을 삭제합니다.

  • AndroidManifest의 다음의 meta-data 삭제

    hljs.highlightAll();

              
    <meta-data android:name="iap:api_version" android:value="5"/>
    
  • maven 종속성 추가 : v19에서 v21로 업그레이드 하기를 참고하세요.

Json file 종속성 추가

v19 이상 부터는 SDK의 동작을 위해 json 파일이 필요합니다. v19에서 v21로 업그레이드 > json file 변경하기 > maven종속성 추가 를 참고하여 Project에 종속성을 추가 해주세요.

변경 사항 수정하기

원스토어 인앱결제 SDK 업그레이드 안내를 참고하여 변경 사항을 수정해주세요.

Last updated