Android Studio 廣告 - 橫幅廣告
今天拿之前寫的廣告原始碼,稍微修改一下為測試 ID,放到俄羅斯方塊 APP,結果模擬器有出現廣告,然後安裝到手機一直載入失敗,所以決定重新研究一下 android studio 的廣告。
開了一個空白的專案,然後參照官網寫的步驟,官網雖然寫的得很詳細,可是在模擬器一直出不來。上網查為什麼會有錯誤,都找不到答案,因為大家都能執行 😔。最後直接拿手機執行看看,結果就可以了,暈倒,整整浪費了3小時之多。。。
這邊照著官網的步驟 + 我自己的步調做個紀錄,以下寫的在手機可以執行!
- AndroidManifest.xml
<!-- 使用網路權限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/><!--廣告-->
<!-- 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-3940256099942544~3347511713"/>- MainActivity.java
//廣告
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.LoadAdError;
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.AdapterStatus;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;//廣告初始化
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);
Toast.makeText(MainActivity.this, "loadAd", Toast.LENGTH_SHORT).show();
//廣告監聽 使用 alt + ins 產生 Override 語法
mAdView.setAdListener(new AdListener() { ... }- activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!-- 廣告 -->
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:adSize="SMART_BANNER"
app:adUnitId="ca-app-pub-3940256099942544/6300978111">
</com.google.android.gms.ads.AdView>
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
</FrameLayout>- build.gradle (Project)
//廣告
buildscript {
repositories {
google()
mavenCentral()
}
}//注意 !! Android Studio 3.1 不用照官網加入以下內容就可以執行 //很奇怪加了反而會錯誤,目前查不到為什麼allprojects { repositories { google() mavenCentral() } }- build.gradle (App)
//廣告
implementation 'com.google.android.gms:play-services-ads:21.2.0'- 手機的執行狀態
- 最後再把寫好的丟回到俄羅斯方塊,右邊模擬器完全沒有廣告出現...


留言
張貼留言