본문 바로가기

open coding

open coding . 안드로이드 스튜디오 앱에 광고달기.

반응형

 

참고

developers.google.com/admob/android/interstitial

 

전면 광고  |  Android  |  Google Developers

전면 광고는 호스트 앱의 인터페이스를 완전히 덮는 전체 화면 광고입니다. 일반적으로 활동이 바뀌는 시점 또는 게임에서 다음 레벨로 넘어갈 때처럼 앱 이용이 잠시 중단될 때 자연스럽게 광

developers.google.com

webdata.tistory.com/11

 

AdMob(애드몹) 광고 넣기 (Android)

안드로드이드 앱에 AdMob(애드몹) 광고를 넣어보자. 아래 정리한 내용은 아래의 링크를 따라가면 잘 나와있으나, 초보자인 내가 처음 해보니 이해하기 어려워, 다른 초보자들을 위해 정리해봤다.

webdata.tistory.com

point )

APP ID

배너광고단위 ID

전면광고단위 ID 구분하기.

 

배너광고/ 전면광고(인터넷권한도)

 

 

build.gradle(app) 에 dependency {}추가

apply plugin: 'com.android.application'

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.1"

    defaultConfig {
        applicationId "com.example.femiwisesaying"
        minSdkVersion 19
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
    implementation 'com.google.android.gms:play-services-ads:19.5.0'

}

manifest.xml <meta-data 추가   ///// APP ID

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.femiwisesaying">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".ListActivity"></activity>
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    <meta-data
            android:name="com.google.android.gms.ads.AD_MANAGER_APP"
            android:value="true"/>
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-3799389351589077~7976011024"/>

    </application>

</manifest>


<!--
meta-data추가함.-->

<layout> mainActivity.xml 배너광고 adview추가  ///   광고단위 ID

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:id="@+id/linearLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"

    android:orientation="vertical"
    tools:context=".MainActivity">

 .
 .
 .
 .
 .
 

    <TextView
        android:id="@+id/textView"
        android:layout_width="270dp"
        android:layout_height="220dp"
        android:gravity="center"
        android:text="@string/textview"
        android:textAlignment="gravity"
        android:textAppearance="@style/TextAppearance.AppCompat.Display2"
        android:textColor="@android:color/tab_indicator_text"
        android:textSize="16.1sp"
        android:textStyle="bold"
        app:layout_constraintBottom_toTopOf="@+id/button"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.497"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/imageView1"
        app:layout_constraintVertical_bias="0.512" />

    <com.google.android.gms.ads.AdView
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp"
        app:adSize="BANNER"
        app:adUnitId="ca-app-pub-3940256099942544/6300978111"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.494"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/button"></com.google.android.gms.ads.AdView>

</androidx.constraintlayout.widget.ConstraintLayout>

<!--
추가한사항 :  AdView 추가
 app:adUnitId="
 ca-app-pub-3799389351589077~7976011024"
배너광고 test용 ID 임.-->

 

<MainActivity> 배너광고, 전명광고 설정 개제

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

        //배너광고개제/
        MobileAds.initialize(this, new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus initializationStatus) {
            }
        });

        mAdView = findViewById(R.id.adView);
        AdRequest adRequest = new AdRequest.Builder().build();
        mAdView.loadAd(adRequest);

        //전면광고 개제
        mInterstitialAd = new InterstitialAd(this);
        mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");  //test용 ID

        mInterstitialAd.loadAd(new AdRequest.Builder().build()); //광고로드
        mInterstitialAd.setAdListener(new AdListener() {        //광고로드 새로고침.
            @Override
            public void onAdClosed() {
                // Load the next interstitial.
                mInterstitialAd.loadAd(new AdRequest.Builder().build());
            }

        });
        //전면광고개제 설정은 옵션클릭시에다 추가, 광고코딩finish

        image = findViewById(R.id.imageView1);       // xml ID연결
        textView = findViewById(R.id.textView);
        button = findViewById(R.id.button);

        image.setImageResource(R.drawable.crossfit);


        buttonListener listener = new buttonListener();
        button.setOnClickListener(listener);


    }
    
   .
   .
   .
   .
     //목록보기 누르면 목록보여지게 listener
    @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
        //선택 item 추출
        int id = item.getItemId();
        switch (id){
            case R.id.option_item1:     //listactivity로 ㄱㄱ
                startActivity(new Intent(MainActivity.this, ListActivity.class));

                //옵션 클릭시 전면광고 게제
                if (mInterstitialAd.isLoaded()) {
                    mInterstitialAd.show();
                } else {
                    Log.d("TAG", "The interstitial wasn't loaded yet.");
                }//

                break;

        }
        return super.onOptionsItemSelected(item);
    }//finish
    .
    .
    .
    .
    .