[모바일게임 해킹팁]광고시청 보상 꿀빨기
오늘 심심해서 하드를 뒤적거리던중 이전에 어플에 Unity3D 광고를 달기위해 만들어둔 CS파일이 보이길래 문득 Unity3D 광고가 달려있는 게임에서 광고 시청 후 보상꿀빠는법을 공유하려합니다. c# 코드를 어느정도 볼줄 아시는분이라면 이해가 더 쉽습니다.
먼저 아래 코드들을 볼까요?
using UnityEngine.Advertisements; public class CUnityAdsManager : MonoBehaviour { void UnityAdsShowCallback(ShowResult result) { switch (result) { // 광고 시청을 완료함 case ShowResult.Finished: // 보상 지급 처리 코드... // 예: 광고를 시청시 20캐쉬를 지급 // 예: Cash_Ruby +=20; break; // 광고를 스킵함 case ShowResult.Skipped: //_messageText.text = "광고 시청을 스킵."; // 광고시청도중 스킵(Skip)을 감지하여 보상지급을 하지않음. break; // 광고 보기를 실패함 case ShowResult.Failed: //인터넷 컨넥션등의 이유로 광고 송수신 실패시 보상지급하지않음. //_messageText.text = "광고 시청이 실패하였음"; break; } } }
그냥 앞뒤 뚝 짜르고 중요한 부분만 남겼습니다
일반적으로 Unity3D 광고를 붙이려면 유니티에서 제공하는 라이브러리를 이용하게 됩니다.
그리고 using UnityEngine.Advertisements; 를 선언해주게 되죠.
자. 해커들에게 먹음직스러운 라이브러리 키워드 하나 나왔군요.
둘째.
저 라이브러리에는 유니티에서 제공하는
void UnityAdsShowCallback(ShowResult result)
콜백 함수가 존재합니다
함수 내용을 들여다 볼까요?
플레이어가 광고시청 버튼을 눌렀을때 경우의수가 (CASE) 3가지 분기점으로 나뉘어져있는것을 볼수있군요
케이스1. 광고시청완료 - 이경우 플레이어에게 광고시청보상을 지급
케이스2. 광고시청도중 플레이어가 Skip 버튼으로 광고를 도중에 끊어버림 - 광고보상X
케이스3. 인터넷 연결등으로 광고의 송/수신이 불가능한 상황 - 광고보상X
void UnityAdsShowCallback(ShowResult result) { switch (result) { // 광고 시청을 완료함 case ShowResult.Finished: messageText.text = "광고 시청완료. 캐쉬루비가 20 지급됩니다."; Cash_Ruby +=20; break; // 광고를 스킵함 case ShowResult.Skipped: messageText.text = "광고 시청을 스킵 보상이지급되지않습니다"; break; // 광고 보기를 실패함 case ShowResult.Failed: //인터넷 컨넥션등의 이유로 광고 송수신 실패시 보상지급하지않음. messageText.text = "광고연결 실패. 인터넷 연결을 확인해주세요"; break; } }
원래는 이런식으로 광고시청보상에 관련된 코드가 작성될테지만
우리들에게 중요한건 Cash_Ruby +=20; 이거죠 ㅋ
광고시청보상 캐쉬루비 20개증가
이걸 +999999로 바꾸면? 광고를 시청할때마다 캐쉬가 미친듯이 증가하게 되겠죠?
다들 컨트롤+C / 컨트롤+V (복사/붙여넣기)할줄 아시죠?
그냥 저 Cash_Ruby+20; 코드 한줄을
case ShowResult.Finished:
case ShowResult.Skipped:
case ShowResult.Failed:
이곳에 모두 복붙시켜 적용하면 어떻게될까요?
광고를 끝까지 시청해도,
도중에 스킵으로 광고를 꺼버려도,
인터넷끄고 광고시청버튼을 눌러서 광고가 안나와도
그냥 무조건 캐쉬가 증가하게되겠죠^^
아! 물론 얼마의 캐쉬가 증가할지는 수술을 집도하는 선생님 마음이죠!
+999999 ㅡㅡㅋ