설정
⊢ Service - In App Purchasing 활성화
⊢Import - UnityChannel, UnityPurchasing 폴더 생성됨 (Plugins 폴더)
⊢구글 라이선스 키 입력
∟ Service : Analytics, In-App-Purchasing 활성화
구매 영수증
Unity IAP은 다음의 키와 값을 포함한 JSON 해시로 제공
⊢Store : 스토어 이름
⊢TransactionID : 스토어가 제공하는 거래 고유 식별자
∟ Payload : 플랫폼에 따라 상이
iOS
iOS버전 >= 7.0 일 경우 base64로 인코딩된 앱 영수증
Google Play
⊢ json : 구글 제공 JSON형식으로 인코딩된 문자열
∟ signature : 구글 제공 JSON 파라미터에 대한 서명
영수증 검증 : Local Validation
사용자가 구매한 컨텐츠가 장치에 이미 존재하는 경우 -> 애플리케이션은 콘텐츠의 해지 여부만 결정
암호화 키 난독 처리
Window
->Unity IAP
->IAP Receipt Validation Obfuscator
-> 암호화 AppleTangle, GooglePlayTangle이라는 두 개의 다른 C# 파일에 저장(Plugings/UnityPurchasing/generated)
영수증 검증
⊢ CrossPlatformValidator 클래스 사용
∟ 클래스에 Google Play 공용 키 + Apple 루트 인증서 제공
서명 검증을 통해 영수증 유효성 검사
영수증의 애플리케이션 번들 식별자를 애프리케이션 식별자와 비교
Exception
⊢ InvalidBundleid : 식별자 일치하지 않는 경우
⊢ IAPSecurityException : 다른플랫폼에서 생성한 영수증 확인시
∟ MissingStoreSecretException : 비밀 키 제공하지 않은 플랫폼의 영수증을 확인 시도 시
스토어별 세부사항
raw 상태의 영수증 파싱
영수증 검증 : Remote Validation
서버측 콘텐츠. 구매 이후 콘텐츠 다운. 서버에서 확인
'모바일 개발 > 유니티' 카테고리의 다른 글
유니티 | 메카님 애니메이션 (0) | 2020.03.07 |
---|---|
유니티 | 텍스처와 아틀라스 (0) | 2020.03.07 |
유니티 | 이미지와 모델링 (0) | 2020.03.07 |
유니티 | 스크립트와 리소스 최적화 (0) | 2020.03.07 |
유니티 | 클래스 (0) | 2020.03.07 |
유니티 | 컴포넌트 (0) | 2020.03.06 |
유니티 | 게임오브젝트와 프리팹 (0) | 2020.03.06 |
유니티 | 좌표계와 충돌 (0) | 2020.03.06 |
댓글