애드몹에 리워드 광고 등록 후
* 애드몹을 이용하기 위해선 SDK Manager 에 Google Repository가 설치되어 있어야 합니다.
Tools - Android - SDK Manager - SDK Tools - Google Repository
1. project 레벨 gradle 수정
allprojects {
repositories {
jcenter()
maven {
url "https://maven.google.com"
}
}
}
2. app 레벨 gradle sdk 추가
compile 'com.google.android.gms:play-services-ads:10.0.1'
3. 매니페스트 수정
[권한 추가]
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
[메타데이터 추가]
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value=“ADMOB_APP_ID”/>
-> 애드몹에 등록된 앱 ID
[구글 애드몹 액티비티 추가]
<activity
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:theme="@android:style/Theme.Translucent" />
4. strings.xml 추가
<string name="ad_unit_id">리워드 광고 단위 id</string>
5. 광고 세팅
private RewardedVideoAd mRewardedVideoAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MobileAds.initialize(this, getResources().getString(R.string.ad_unit_id));
mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this);
mRewardedVideoAd.setRewardedVideoAdListener(new RewardedVideoAdListener() {
@Override
public void onRewarded(RewardItem reward) {
Toast.makeText(getApplicationContext(), "onRewarded! currency: " + reward.getType() + " amount: " +
reward.getAmount(), Toast.LENGTH_SHORT).show();
// 사용자에게 보상할 내용
…
}
@Override
public void onRewardedVideoAdLeftApplication() {
Toast.makeText(getApplicationContext(), "VideoAdLeftApplication", Toast.LENGTH_SHORT).show();
}
@Override
public void onRewardedVideoAdClosed() {
Toast.makeText(getApplicationContext(), "VideoAdClosed", Toast.LENGTH_SHORT).show();
}
@Override
public void onRewardedVideoAdFailedToLoad(int errorCode) {
Toast.makeText(getApplicationContext(), “VideoAdFailedToLoad", Toast.LENGTH_SHORT).show();
}
@Override
public void onRewardedVideoAdLoaded() {
Toast.makeText(getApplicationContext(), "VideoAdLoaded", Toast.LENGTH_SHORT).show();
}
@Override
public void onRewardedVideoAdOpened() {
Toast.makeText(getApplicationContext(), "VideoAdOpened", Toast.LENGTH_SHORT).show();
}
@Override
public void onRewardedVideoStarted() {
Toast.makeText(getApplicationContext(), "VideoStarted", Toast.LENGTH_SHORT).show();
}
});
//광고 미리 로드
loadRewardedVideoAd();
}
private void loadRewardedVideoAd() {
mRewardedVideoAd.loadAd(getResources().getString(R.string.ad_unit_id), new AdRequest.Builder().build());
}
if (mRewardedVideoAd.isLoaded()) {
mRewardedVideoAd.show();
}
애드몹 에러코드
0: 앱에 등록한 광고 아이디와 애드몹에서 생성된 광고 아이디가 다를 때 나는 오류
1 : 광고 아이디의 '~' 부분을 '/' 로 변경 안해서 나는 오류