반응형
개요: 앱에서 동영상 시청 시 리워드를 주는 플랫폼으로 google admob 사용 중. 보상 지급 수치에 대한 유효성 적립이 필요하여 서버 콜백 부분 추가 개발 진행.
서버 측 인증(SSV) 콜백 확인이란:
- 서버 측 확인은 앱에서 보상형 광고 조회수를 확인하는 추가 단계로, 표준 클라이언트 측 콜백 외에 추가로 실시됨
- 서버 측 확인을 사용하여 완료된 보상형 동영상 광고 조회수를 확인하여 앱에서 실제로 동영상 광고 시청을 완료한 사용자에게만 보상을 제공할 수 있음
- 사용자가 보상형 동영상 광고 조회를 완료할 때마다 Google에 설정한 콜백 URL을 사용하여 조회를 확인
적용으로 얻는 효과:
- 사용자가 동영상 광고를 다 볼 때 에드몹에서 설정한 콜백 url 호출
- 응답으로 성공(200 ok)이 떨어지면 시청을 완료했다고 간주
- 보상 수치의 유효성 확인 가능
admob 설정 가이드: https://support.google.com/admob/answer/9603226?hl=ko
특이사항: '광고형식' 이 총 6종류가 있는데, 그 중 rewarded(리워드) 에 해당하는 것에 한함
- admob 관리 페이지에 들어가서 해당 앱을 찾는다
- 콜백을 설정하고자 하는 광고 단위를 클릭
- 고급 설정 > 서버 측 확인 이 부분이 있는지 확인
- 서버 측 확인 수정 클릭, 콜백 URL 입력 후 URL 확인 버튼 클릭
-
4번처럼 확인이 되었으면 확인된 URL 사용 버튼을 눌러 저장
개발 내용
1. 관련 dependency 추가
환경: java8, springboot1.5.9, maven
<!-- 애드몹 인증 -->
<dependency>
<groupId>com.google.crypto.tink</groupId>
<artifactId>apps-rewardedads</artifactId>
<version>1.7.0</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.10.10</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.9</version>
</dependency>
2. 개발 가이드 문서
이 중 Tink의 RewardedAdsVerifier 사용 방식으로 구현
3. 특이사항
- https 통신 필수
- 로컬에서 테스트를 하려면 로컬 인증서를 설치, 세팅해야 함
- 최종적으로 사용할 컴포넌트에 https 설정이 되어 있어야 함
- 구글과의 테스트 통신을 위해서 외부에서 접속되는 url이어야 함
- 실패 시 상태코드 200이 아닌 다른 코드로 반환해야 함(exception handler 유의)
- 서버에 연결할 수 없거나 서버에서 기대하는 응답을 제공하지 않으면 Google은 1초 간격으로 최대 5회 SSV 콜백을 전송하려고 재시도함
728x90
반응형
'개발 > java' 카테고리의 다른 글
[이슈해결] NPE at HSSFSheet.autoSizeColumn (0) | 2023.06.28 |
---|---|
[java] lambda stream and final (0) | 2023.02.06 |
[Date] java8 이하에서 날짜 timezone 변환 (0) | 2022.11.04 |
[mac] oracle jdk -> open jdk java교체하기 (0) | 2022.08.22 |
[java] for loops and performance (0) | 2022.08.04 |