앱 만들기/안드로이드 study

애드몹 동영상 보상 광고 만들기

나도처음이야 2020. 7. 28.

애드몹 광고 중 동영상 보상 광고를 만들어 보자.

동영상 보상 광고는 게임 등에서 동영상 광고를 보면 아이템을 준다 던지, 스테이지를 추가로 진행 할 수 있게 해주는 

광고의 형태이다.

그렇기에 무료 게임 방식에서 많이 사용되고 있다.

 

애드몹 동영상 보상 광고 예

위 예제의 구현은, 다른 애드몹 광고 타입과 유사하다.

 

1. 애드몹에서 광고 ID 및 app ID를 생성한다.  ( 해당 부분은 생략 )

2. 광고 모듈을 build.gradle 에 추가하기. 

 

dependencies {
implementation 'com.google.android.gms:play-services-ads:19.2.0'

...

 

3. 소스 구현하기.

 

...

 

public class MainActivity extends AppCompatActivity {

private RewardedAd rewardedAd;
Button rewardButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

 

// 테스트 광고 객체 생성

// 실제 앱에서는 자신의 광고 ID를 추가하면 된다.
rewardedAd = new RewardedAd(this,
"ca-app-pub-3940256099942544/5224354917");

 

// 광고 초기화 및 로드 성공 실패 여부를 확인

// 앱을 실행하면 일반적으로 초기화 후 onRewardedAdLoaded()가 호출되면서 동영상 리워드 광고 호출 준비를 마친다.
RewardedAdLoadCallback adLoadCallback = new RewardedAdLoadCallback() {
@Override
public void onRewardedAdLoaded() {
// Ad successfully loaded.
Log.d("TAG", "#### Ad successfully loaded.");
}

@Override
public void onRewardedAdFailedToLoad(int errorCode) {
// Ad failed to load.
Log.d("TAG", "#### Ad failed to load.");
}
};

rewardedAd.loadAd(new AdRequest.Builder().build(), adLoadCallback);

 

// 테스트를 위한 버튼
rewardButton = (Button)findViewById(R.id.rewardButton);
rewardButton.setOnClickListener(new View.OnClickListener(){

@Override
public void onClick(View view) {

if (rewardedAd.isLoaded()) {
Activity activityContext = MainActivity.this;
RewardedAdCallback adCallback = new RewardedAdCallback() {
@Override
public void onRewardedAdOpened() {
// Ad opened. // 동영상 광고가 열렸을때 호출되는 함수
Log.d("TAG", "#### Ad opened.");
rewardButton.setVisibility(View.INVISIBLE);
}

@Override
public void onRewardedAdClosed() {
// Ad closed.// 동영상 광고 창을 중지했거나, 다보고 X 버튼을 눌렀을때

Log.d("TAG", "#### Ad closed.");

// 신규 동영상 광고를 미리 로드 하는 과정이 필요함.
rewardedAd = createAndLoadRewardedAd();
}

@Override
public void onUserEarnedReward(@NonNull RewardItem reward) {
// User earned reward.. // 동영상 광고를 다 본 후 보상을 여기서 처리.
Log.d("TAG", "#### User earned reward.");
}

@Override
public void onRewardedAdFailedToShow(int errorCode) {
// Ad failed to display. // 동영상 광고 재생에 실패시 처리.
Log.d("TAG", "errorCode." + errorCode);
}
};
rewardedAd.show(activityContext, adCallback);
} else {
Log.d("TAG", "#### The rewarded ad wasn't loaded yet.");
}
}
});
}

public RewardedAd createAndLoadRewardedAd() {
RewardedAd rewardedAd = new RewardedAd(this,
"ca-app-pub-3940256099942544/5224354917");
RewardedAdLoadCallback adLoadCallback = new RewardedAdLoadCallback() {
@Override
public void onRewardedAdLoaded() {
// Ad successfully loaded.
Log.d("TAG", "#### createAndLoadRewardedAd " );

// 광고가 정상적으로 로딩 되었을때 버튼을 보여주도록 처리함.

// 이와 같이 광고를 다 로딩하고 나서, UI 작업을 진행해주어야 한다.
rewardButton.setVisibility(View.VISIBLE);
}

@Override
public void onRewardedAdFailedToLoad(int errorCode) {
// Ad failed to load.

Log.d("TAG", "#### errorCode." + errorCode);
}
};
rewardedAd.loadAd(new AdRequest.Builder().build(), adLoadCallback);
return rewardedAd;
}
}

 

 

소스 구현의 상세 내용은 하기 구글 개발자 페이지를 참고드린다.

https://developers.google.com/admob/android/rewarded-ads

 

보상형 광고  |  Android  |  Google Developers

보상형 광고는 상호작용하는 사용자에게 인앱 보상을 제공하는 광고입니다. 이 가이드에는 AdMob의 보상형 광고를 Android 앱에 통합하는 방법이 나와 있습니다. 고객 성공사례인 우수사례 1과 우��

developers.google.com

 

위 함수들을 활용하면,

유저들이 동영상 광고를 보고 난 후, 보상을 얻어 갈수 있는 구조를 손 쉽게 만들 수 있다.

감사합니다.

반응형

'앱 만들기 > 안드로이드 study' 카테고리의 다른 글

자바 Package 에 대해서.  (2) 2020.08.18
자바 배열의 메모리.  (2) 2020.08.13
문자열 자르기 split  (4) 2020.07.06
랜덤 함수...Random()  (6) 2020.06.25
안드로이드 외부 폰트 적용하는 방법-2  (2) 2020.06.15

댓글