我將InMobi集成到了我的Android應用中,並且在應用第一次運行時(橫幅廣告或插頁式廣告)它不會獲取任何廣告。InMobi在第一次運行時沒有獲取橫幅廣告或插頁式廣告
如果我退出應用程序,然後再次運行它,一切正常 - 加載橫幅和插頁式廣告並顯示橫幅。
如果我那麼無論卸載和重新安裝應用程序或簡單地清除應用的緩存(從設置),然後再次運行應用程序,我又回到了起點,我什麼也沒得到。請注意,這遵循此模式剛好,它不是隨機的。永遠在第一次運行 - 沒有廣告,總是在後續運行,廣告。
我要指出的(如果這很重要),我在測試模式(設置在儀表板的InMobi)。
下面是我在onCreate中的代碼 - 我做錯了什麼?
回調中返回的錯誤只是提取廣告時發生錯誤(對於橫幅廣告和非頁內廣告)。
沒有進一步的信息,並沒有任何的的InMobi網站上(我可以看到)。任何幫助,將不勝感激。
//Initialise Interstitials
InMobi.initialize(this, myInterstitialID);
//Initialise Banners
InMobi.initialize(this, myBannerID);
//Create the banner
imbanner = new IMBanner(this, myBannerID, IMBanner.INMOBI_AD_UNIT_320X50);
//60 second interval refresh
imbanner.setRefreshInterval(60);
//Load the banner
imbanner.loadBanner();
//Callbacks for the banner ads
imbanner.setIMBannerListener(new IMBannerListener() {
@Override
public void onShowBannerScreen(IMBanner arg0) {
Log.v("Inmobi","OnShowBannerScreen");
}
@Override
public void onLeaveApplication(IMBanner arg0) {
Log.v("Inmobi","Leave Application");
}
@Override
public void onDismissBannerScreen(IMBanner arg0) {
Log.v("Inmobi","OnDismissBannerScreen");
}
@Override
public void onBannerRequestFailed(IMBanner banner, IMErrorCode errorCode) {
Log.v("Inmobi","onBannerRequestFailed: "+errorCode);
}
@Override
public void onBannerRequestSucceeded(IMBanner arg0) {
Log.v("Inmobi","onBannerRequestSucceeded");
}
@Override
public void onBannerInteraction(IMBanner arg0, Map<String, String> arg1) { Log.v("Inmobi","onBannerInteraction");
}
});
//Interstitials
inInterstitial = new IMInterstitial(this, myInterstitialID);
inInterstitial.loadInterstitial();
inInterstitial.setIMInterstitialListener(new IMInterstitialListener() {
public void onShowInterstitialScreen(IMInterstitial arg0) {
Log.v("Inmobi", "Interstitial showing");
}
@Override
public void onLeaveApplication(IMInterstitial arg0) {
Log.v("Inmobi", "Interstitial leaving Application");
}
@Override
public void onDismissInterstitialScreen(IMInterstitial arg0) {
Log.v("Inmobi", "Dismissing Interstitial");
inInterstitial.loadInterstitial();
}
@Override
public void onInterstitialLoaded(IMInterstitial arg0) {
Log.v("Inmobi", "Interstitial loaded");
}
@Override
public void onInterstitialInteraction(IMInterstitial interstitial, Map<String, String> params) {
Log.v("Inmobi", "Interstitial interaction");
}
@Override
public void onInterstitialFailed(IMInterstitial arg0, IMErrorCode arg1) {
Log.v("Inmobi", "Interstitial failed: "+arg1);
}
});
也許在第一次運行時調用InMobi.initialize(...),他們創造一些象徵性的,它使一個廣告請求時,發送到他們的服務器。如果令牌沒有在那裏註冊(首次運行它不能),那麼他們不會返回一個廣告。但在第二次嘗試時,他們再次發送令牌並且沒關係。這只是一個猜測。但總的來說,如果只是第一次發生,你不應該太擔心。更好的是,用戶使用應用程序看到的第一次體驗不會是廣告,而是應用程序本身:) – middlehut
剛剛談到InMobi支持,這是目前SDK版本中的一個已知錯誤,它們有一個修復程序,現在正在測試它,所以下一個版本應該解決問題:-) – Zippy