728x90
안드로이드 스튜디오에서 새 프로젝트를 생성합니다.
Empty Activity를 선택합니다. (다른거 선택해도 무관합니다)
Name을 정해주고, Minimun SDK는 API19로 했습니다.
설정을 완료하셨다면 Finish를 눌러주세요.
bulid gradle (project)에 아래 코드를 추가합니다.
maven {
url "https://maven.google.com"
}
build gradle (module)에 아래 코드를 추가합니다.
implementation 'com.google.android.gms:play-services-ads:11.8.0'
res > layout > activity_main.xml에 아래 코드를 추가합니다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="가지고 있는 코인"
android:textSize="30sp"
android:textStyle="bold"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/text_view"
android:text="0"
android:textSize="50sp"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
android:text="광고 보고 코인 받기"
android:textSize="20sp"
android:layout_marginTop="20dp"/>
</LinearLayout>
MainActivity.java
package com.example.rewardtest;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.reward.RewardItem;
import com.google.android.gms.ads.reward.RewardedVideoAd;
import com.google.android.gms.ads.reward.RewardedVideoAdListener;
public class MainActivity extends AppCompatActivity implements RewardedVideoAdListener {
RewardedVideoAd rewardedVideoAd;
TextView textView;
Button button;
int coins;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.text_view);
button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (rewardedVideoAd.isLoaded()) {
rewardedVideoAd.show();
}
}
});
MobileAds.initialize(this, "ca-app-pub-1811269372362017~4664640683");
rewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this);
rewardedVideoAd.setRewardedVideoAdListener(this);
loadAds();
}
private void loadAds() {
rewardedVideoAd.loadAd("ca-app-pub-3940256099942544/5224354917", new AdRequest.Builder().build());
}
@Override
public void onRewardedVideoAdLoaded() {
}
@Override
public void onRewardedVideoAdOpened() {
}
@Override
public void onRewardedVideoStarted() {
}
@Override
public void onRewardedVideoAdClosed() {
}
@Override
public void onRewarded(RewardItem rewardItem) {
coins = coins + 50;
textView.setText(""+coins);
}
@Override
public void onRewardedVideoAdLeftApplication() {
}
@Override
public void onRewardedVideoAdFailedToLoad(int i) {
}
@Override
protected void onResume() {
rewardedVideoAd.resume(this);
super.onResume();
}
protected void onPause() {
rewardedVideoAd.pause(this);
super.onPause();
}
@Override
protected void onDestroy() {
rewardedVideoAd.destroy(this);
super.onDestroy();
}
}
구동화면
좌 : 광고 열람하기 > 광고 재생완료 후 종료
우 : 광고 열람하기 > 뒤로가기버튼 클릭
보완사항
1) 한번 광고 열람시 재열람이 불가함
2) 어플실행 직후 광고재생버튼을 눌렀을 경우 광고가 재생되지 않는 문제
(어플을 실행시킨후 잠시 기다리고 나서 광고버튼을 누르면 바로 광고가 재생됨)
728x90
'Android Studio > java' 카테고리의 다른 글
52. [안드로이드/JAVA] webview 에서 시스템 텍스트 크기 무시하기 (0) | 2025.01.23 |
---|---|
50. [안드로이드/JAVA] 구글 애드몹 전면광고 넣기 (0) | 2025.01.23 |
49. [안드로이드/JAVA] 구글 애드몹 배너광고 넣기 (0) | 2025.01.23 |
48. [안드로이드/java] WebView에서 한글 디코딩 (0) | 2022.09.23 |
47. [안드로이드/java] WebView에서 ProgressBar 만들기 (0) | 2022.03.02 |