돈을 벌려면 유료 app을 파는 방법도 있지만,

대부분은 부분유료화 아이템을 파는 방법을 많이 사용한다.

유료 app도 거의 대부분은 부분유료화 아이템이 있기때문에

사실상 모든 app의 필수 기능이라고 생각하면 된다.

필수 기능이니 당연히 잘 알아야 하는 내용이다.



차례

1. 개발 환경 셋팅

2. 구현

3. 테스트




1. 개발 환경 셋팅

1.1. developer page의 App ID 셋팅(default로 On 이다)

App ID를 만들기 위해서 + 버튼 클릭

체크 되어있는걸 확인한다.

다 만들고 나면 App ID를 클릭해서 확인하면 아래처럼 In-App Purchase가 Enabled 된걸 확인 할수 있다.


1.2. itunes connect에 In-App Purchase(App 내 구입) 아이템 등록

App 내 구입 클릭

Create New 클릭

소모품 선택

다른건 읽어만 두라.

Item 정보들을 입력해 준다.

Item 정보들을 입력하면서 언어 추가를 1개이상은 꼭 해주어야 한다.

review전에 심사용 스샷을 꼭 첨부해라.

언어 추가해주는 화면

언어가 추가된 화면

item이 추가된 화면

item을 2개 추가한 화면


1.3. itunes connect에 샌드박스 테스터 등록

사용자 및 역할 > 샌드박스 테스터 > + 클릭

테스터 정보를 넣어준다.

이메일 존재하지 않아도 된다. 없는 이메일을 넣어주는게 더 좋을수도 있다.

추가한 정보는 잘 적어두자. 나중에 편집할수 없고, 찾아 볼수도 없다.



2. 구현

2.1. IAP 전체 Process 그림



2.2. Client - In-App Purchase 연동

2.2.1. Xcode Capabilities 체크


2.2.2. 정상 과금 코드인지 조회(Retrieving Product Information)

2.2.2.1. h파일

2.2.2.2. m파일


2.2.3. 구매요청(Requesting Payment)


2.2.4. 보상 처리(Delivering Products)

2.2.4.1. h파일

2.2.4.2. m파일


2.2.5. h, m 전체 소스

2.2.5.1. h 파일

2.2.5.2.  m 파일

2.2.5.3. 과금 요청 부분

2.2.5.4. AppDelegate.m에 Observer 등록


2.3. Server - 서버 영수증 인증(Receipt Validation Programming Guide)

2.3.1. receipt json 만들기


2.3.2. XHR POST로 테스트

위에서 만든 json을 HTTP Entity Body에 넣고 POST를 클릭하면 오른쪽에 response를 받을수 있다.


2.3.3. node.js - In-App Purchase Server

2.3.3.1. in-app-purchase npm 설치


2.3.3.2. test js 파일 만들기


2.3.3.3. 실행


2.3.4. apple 영수증 체크 주소

In the test environment, usehttps://sandbox.itunes.apple.com/verifyReceipt as the URL. 

In production, usehttps://buy.itunes.apple.com/verifyReceipt as the URL.



3. 테스트

3.1. app store logout
app store의 즐겨찾기 가장 아랫부분에서 로그인된 ID 클릭


로그아웃 클릭

로그아웃된 화면

3.2. app을 실행해서 IAP를 진행한다.
3.3. 기존의 Apple ID사용을 선택한후 개발 환경 셋팅에서 만든 sandbox id로 로그인 한다.
  - app store에 로그인 하면 안된다.
  - 2번 로그인을 한다.(이유는 모르겠다.)




3.3. 구입 확인 팝업



3.4. 구입 완료 화면






apple - In-App Purchase

apple - iTunes Connect In-App Purchase_Guide

apple - In-App Purchase Programming Guide

apple - Receipt Validation Programming Guide

In-App Purchase 개발

테스트 계정으로 구매시 확인 필요라는 에러 메시지 해결법

npm in-app-purchase

Adding In-App Purchase to your iOS and OS X Applications



'개발 > iOS' 카테고리의 다른 글

iOS - Provisioning profile 만들기  (1) 2015.09.17
iOS - TestFlight Beta Testing  (0) 2015.08.25
iOS - IAP(In-App Purchase)  (2) 2015.08.18
iOS - App Store Jump(Link)  (0) 2015.08.17
iOS - Game Center - Auth  (0) 2015.08.17
iOS - 화면의 콘텐츠 확대/축소하기  (0) 2015.08.06
Posted by 해피러브77

댓글을 달아 주세요

  1. 돌비 2016.11.04 11:53 신고  댓글주소  수정/삭제  댓글쓰기

    좋은 자료 감사합니다.
    덕분에 쉽게 작업할수 있었습니다.

  2. jeph 2018.09.17 15:26  댓글주소  수정/삭제  댓글쓰기

    테스트 방법을 몰랐는데 여기서 배워 가네요

    감사합니다.