KeyMob手機廣告分爲插頁式廣告與橫幅廣告,插頁式廣告是全屏廣告,展現時會覆蓋其宿主應用的界面。這些廣告一般在應用流程的正常轉換點展現, 例如,活動之間或遊戲關卡之間的暫停時段。應用展現插頁式廣告時,用戶能夠選擇點按廣告,訪問其目標網站,也能夠將其關閉,返回應用。憑藉直接的號召性用 語和較大的尺寸,插頁式移動廣告的效果十分突出。
因爲插頁式廣告尺寸較大,所以與傳統橫幅廣告相比,它們平均所需的帶寬更多。爲了知足這一要求,應用必須異步加載插頁式廣告(在廣告展現前加載)。這能夠確保廣告在應該展現的時間展現。
本指南說明了如何使用KeyMob移動廣告SDK在Android應用中集成插頁式廣告,並介紹了一個簡單的活動類,該類會使用SDK方法預加載並展現測試插頁式廣告。
一:前提條件
本指南中的示例代碼來自一個已加入了KeyMob移動廣告SDK 的項目。爲了在您的應用中使用SDK,您須要在Android Studio中執行如下操做:
1:下載 Google Repository
2:配置 Gradle
3:修改清單
或在 Eclipse 中執行如下操做:
1:下載 Google Play 服務
2:加入和引用 Google Play 服務庫項目
3:修改清單
二:將插頁式廣告添加至活動
最好提早加載插頁式廣告,並使其稍後在應用流程的天然暫停點展現。例如,假設一個簡單的遊戲運行一會後即會結束,而後向用戶顯示從新開始的按鈕。如下代碼段說明了如何在用戶開始新遊戲以前預加載並展現插頁式廣告:
public class MainActivity extends ActionBarActivity {
InterstitialAd mInterstitialAd;
Button mNewGameButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mNewGameButton=(Button)findViewById(R.id.newgame_button);
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
requestNewInterstitial();
mNewGameButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
} else {
beginPlayingGame();
}
}
});
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
requestNewInterstitial();
beginPlayingGame();
}
});
beginPlayingGame();
}
private void requestNewInterstitial() {
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice("YOUR_DEVICE_HASH").build();
mInterstitialAd.loadAd(adRequest);
}
private void beginPlayingGame() {
// Play for a while, then display the New Game Button
}
}
該代碼段不是爲了介紹新的成員變量mInterstitial,而是爲了讓您瞭解活動中代碼發生變化的四個位置。咱們來分別看一下這些位置。
三:將 InterstitialAd 對象實例化
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
requestNewInterstitial();
在 此處構建了成員變量mInterstitialAd,併爲其提供了廣告單元 ID。雖然橫幅廣告一般是在 XML 佈局文件中定義的,但插頁式廣告卻不是在這類文件中定義的。它們是在應用的Java代碼中建立並配置的。在活動有效期內,一個 InterstitialAd對象就可用於請求並展現多個插頁式廣告,所以您只需構建該對象一次。
注意:咱們在上文使用的廣告單元 ID 會返回測試廣告。您能夠在www.keymob.com爲本身的應用建立廣告單元。注意,雖然在此示例中咱們已將廣告單元 ID 硬編碼到活動類中,但 ID 值還能夠存儲在字符串資源文件中。
四:展現插頁式廣告
mNewGameButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
} else {
beginPlayingGame();
}
}
});
此處的新代碼會檢查插頁式廣告是否已加載,若是已加載,則會展現該廣告。若是沒有可展現的廣告,則應用會直接進入下一關遊戲。
五:建立 AdListener
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
requestNewInterstitial();
beginPlayingGame();
}
});
咱們在此處設置了一個包含onAdClosed事件(在插頁式廣告關閉時調用)處理程序的AdListener。上述代碼會調用requestNewInterstitial方法,以開始下載新廣告,並開始新遊戲。
六:requestNewInterstitial
private void requestNewInterstitial() {
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice("YOUR_DEVICE_HASH").build();
mInterstitialAd.loadAd(adRequest);
}
此處使用AdRequest.Builder對象建立了一個簡單的請求,而且稍後將該請求傳遞給了InterstitialAd對象的loadAd方法,從而開始請求流程。
注意請求建立過程當中addTestDevice方法的使用。在開發和測試應用時確保隨時請求測試廣告十分重要。使用已發佈的廣告進行測試違反AdMob政策,可能會致使您的賬戶被暫停。如需詳細瞭解測試廣告的使用方法,請參閱咱們的廣告定位指南。
七:結果
具體是怎麼展現插頁式廣告時該應用的,我就不截圖給你們看了。你們不妨本身按照上面的步驟就能夠作出來要看到的外觀。app