I made a note so that I wouldn't forget the procedure because the specifications changed from time to time and I had to copy and paste each time.
--Log in to Firebase Console and link the app to Firebase. --Put the google-services.json obtained above in / app root / app.
--Add classpath in dependencies of root level build.gradle.
```groovy:build.gradle(Root)
buildscript {
...
dependencies {
...
//Add the following
classpath 'com.google.gms:google-services:3.0.0'
}
}
```
--Edit module level build.gradle --Add dependencies within dependencies. --Apply the plugin. (In principle, write at the bottom of build.gradle) --Change the version as appropriate.
```groovy:build.gradle(Module)
apply plugin: 'com.android.application'
android {
...
}
dependencies {
...
//Add the following
compile 'com.google.firebase:firebase-core:9.6.1'
compile 'com.google.firebase:firebase-ads:9.6.1'
}
//Add the following
apply plugin: 'com.google.gms.google-services'
```
--Add two uses-permission tags, one meta-data tag, and one activity tag.
```xml:AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.google.android.gms.example.bannerexample" >
<!--Add these two permissions-->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!--Add these two permissions-->
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<!--Add this meta information-->
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<!--Add this meta information-->
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!--Add this activity-->
<activity
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:theme="@android:style/Theme.Translucent" />
<!--Add this activity-->
</application>
</manifest>
```
--Add ad unit ID. (The following is the test unit ID)
```xml:strings.xml
<string name="banner_ad_unit_id">ca-app-pub-3940256099942544/6300978111</string>
```
--Add a namespace to the top layout. --Add View for ads
```xml:activity_main.xml
<!--Xmlns on top layout:ads=Add-->
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<!--Xmlns on top layout:ads=Add-->
<TextView
android:text="@string/hello_world"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<!--Add this View-->
<com.google.android.gms.ads.AdView
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="@string/banner_ad_unit_id">
</com.google.android.gms.ads.AdView>
<!--Add this View-->
</RelativeLayout>
```
--Import AdRequest and AdView.
--Initialize in onCreate, get ad view, generate request, load ad.
* Initialization can be done even in a class that inherits Application.
```java:MainActivity.java
package ...
import ...
import ...
//Added the following two lines
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
public class MainActivity extends ActionBarActivity {
...
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Added the following 4 lines
//TODO:The application ID below is a sample. Mobile Ads.initialize()Please modify the second argument of by yourself.
MobileAds.initialize(getApplicationContext(), "ca-app-pub-3940256099942544~3347511713");
AdView mAdView = (AdView) findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
}
...
}
```
--Implement onPause (), onResume (), onDestroy () for view lifecycle management.
--There is a field to enter SHA-1 fingerprint as an optional input item when generating google-services.json, but it can be omitted (probably) if you are only using AdMob.
However, it may be necessary to use other Firebase functions later, so if it is troublesome to get the json again at that time, you may enter the SHA-1 fingerprint in advance. ..
* I would like to say that you should refer to the firebase manual for how to get the fingerprint, but if you try to follow the manual, it will probably fail, so I will create a separate article.
Recommended Posts