[Android] 앱에 애드몹 광고 넣기

Study/Android Studio 2021. 1. 30. 07:43 Posted by meanoflife
반응형

안드로이드 앱에 애드몹 광고 넣기

 

  ◇ Tools : AndroidStudio 4.1.2

  ◇ Language : Java

 

안드로이드 앱에 광고를 넣는 방법을 간단히 알아봅시다.

광과는 Goolgle AdMob을 이용하여 넣으려고 합니다.( 다른것이 있는지는 잘 모르겠습니다. )

 

Google AdMob사이트에 상세하게 잘 정리되어 있으니, 사이트의 문서를 보시는 것도 좋습니다.

※ 구글 참고자료 : https://developers.google.com/admob/android/quick-start#update_your_androidmanifestxml

 

 

AdMob에 가입하기

 

  - AdMob사이트를 가입합니다.

  - 필요한 것은 "앱 ID" 와 "광고 ID"

  - AddMob : https://admob.google.com/

 

Google AdMob: 모바일 앱 수익 창출

인앱 광고를 사용하여 모바일 앱에서 더 많은 수익을 창출하고, 사용이 간편한 도구를 통해 유용한 분석 정보를 얻고 앱을 성장시켜 보세요.

admob.google.com

AdMob사이트에 가입하시면, 광고 ID와 광고 단위 ID를 생성할 수 있습니다.

  - 앱 ID    : ca-app-pub-3940256099942544~3347511713  // 가운데 ~ 문자가 있음.

  - 광고 ID : ca-app-pub-3940256099942544/6300978111  // 가운데 / 문자가 있음

 

    ※ 위의 ID는 테스트용으로 제공되는 ID 입니다.

       위의 ID를 앱에 세팅할 경우, 테스트용으로 적용된 광고를 확인할 수 있습니다.

       실제 적용은 본인의 '앱 ID'와 '광고 ID'를 사용해야 합니다.

 

 

AdMob App ID 추가하기

 

앱 ID는 AndroidManifest.xml에 <meta-data>를 사용하여 추가할 수 있습니다.

 

[그림] AndroidManifest.xml 위치

 

AndroidManifest 파일의 <application>태그 안에 다음의 <meta-data>정보를 추가합니다.

"android:value="에는 adMob에서 발급받은 광고 단위ID를 입력합니다.

<manifest>
    <application>
        <!-- Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    </application>
</manifest>

광고를 보여주기 위해선 앱에서 인터넷 접근을 허용해야합니다.
AndroidManifest.xml 안에서 <application> 밖에 다음의 INTEERNET 접근 권한 코드를 추가합니다.

<uses-permission android:name="android.permission.INTERNET"/>

 

적용된 AndroidManifest.xml

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

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.AdMob">

        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ca-app-pub-3940256099942544~3347511713"/>
    </application>

    <uses-permission android:name="android.permission.INTERNET"/>

</manifest>

 

 

광고 ID 추가

 

광고( 여기서는 배너 광고 ) 적용을 위해 activity_main.xml를 수정합니다.

xml 레이아웃 파일에에 다음과 같이 AdView를 추가해줍니다.

  <com.google.android.gms.ads.AdView
      xmlns:ads="http://schemas.android.com/apk/res-auto"
      android:id="@+id/adView"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerHorizontal="true"
      android:layout_alignParentBottom="true"
      ads:adSize="BANNER"
      ads:adUnitId="ca-app-pub-3940256099942544/6300978111" />

위 코드에서 ads:adUnitId=”~″ 부분에 자신의 광고ID를 입력합니다. 위의 광고ID는 테스트를 위한 광고ID 입니다. 

안드로이드 스튜디오에서 AVD를 실행할땐, 광고를 테스트 하기 위한 용도로 사용됩니다.

 

 

광고 표시

 

광고가 표시될 시점에 로직을 추가합니다.

아래 소스에서는 MainActivity가 시작되는 onCreate() 시점에 표시되도록 하였습니다.

 

public class MainActivity extends AppCompatActivity {
    private AdView mAdView;
 
    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);
    }
}

 

The End.

반응형