2014-04-03 59 views
2

在過去幾天內,谷歌強制將Google Play服務移動廣告用作下一版本的android adMob。 Im對於admob來說是全新的,並且正在嘗試在我的libGDX android遊戲中測試廣告,但不知道如何去做,因爲無論我做什麼,我都會得到大量的錯誤。我已經看過其他例子,但它們都是針對現在被認爲是遺留的adMob 6.4.1(或更早版本)。我只想在屏幕底部放置一個廣告橫幅,但不知道如何去做。有人可能會發布我的android MainActivity需要什麼以及我需要做的清單和xml。帶Google Play服務的AdMob libGDX

需要與libGDX工作,但是視圖系統將與

非常感謝您合作!

+0

你得到的錯誤是什麼? – grimrader22

回答

5

按照official guide的規定遷移到新的admob。然後按照admob in libgdx wiki guide完成遷移。這很簡單。

你需要在你的MainActivity類別作出的變化是:

更改線路:

AdView adView = new AdView(this, AdSize.BANNER, "xxxxxxxx"); // Put in your secret key here 
     adView.loadAd(new AdRequest()); 

到:

AdView adView = new AdView(activity); 
adView.setAdUnitId("xxxxxxx"); 
adView.setAdSize(AdSize.BANNER); 
adView.loadAd(new AdRequest.Builder() 
.build()); 

此外,由於您希望廣告出現在屏幕底部,修改adParams如下:

RelativeLayout.LayoutParams adParams = 
      new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, 
        RelativeLayout.LayoutParams.WRAP_CONTENT); 
     adParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM); 
     adParams.addRule(RelativeLayout.CENTER_HORIZONTAL); 

而在你的清單文件,

變化:

<activity android:name="com.google.ads.AdActivity"/> 

到:

<activity android:name="com.google.android.gms.ads.AdActivity" 
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>` 

<meta-data android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version"/> 

你不需要在XML佈局定義廣告視圖,因爲它已經使用編程方式完成在MainActivity類中。您還可以實施AdListener以獲取Ad回調的監聽。

2

請按照提供給谷歌官方網站

https://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals

不要添加這些線路在MainActivity.java

/** The view to show the ad. */ 
    private AdView adView; 

    /* Your ad unit id. Replace with your actual ad unit id. */ 
    private static final String AD_UNIT_ID = "INSERT_YOUR_AD_UNIT_ID_HERE"; 

添加上活動的OnCreate這些線路的inmstruction ..

adView = new AdView(this); 
    adView.setAdSize(AdSize.BANNER); 
    adView.setAdUnitId(AD_UNIT_ID); 

    // Add the AdView to the view hierarchy. The view will have no size 
    // until the ad is loaded. 
    LinearLayout layout = (LinearLayout) findViewById(R.id.linearLayout); 
    layout.addView(adView); 

    // Create an ad request. Check logcat output for the hashed device ID to 
    // get test ads on a physical device. 
    AdRequest adRequest = new AdRequest.Builder() 
     .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) 
     .addTestDevice("INSERT_YOUR_HASHED_DEVICE_ID_HERE") 
     .build(); 

    // Start loading the ad in the background. 
    adView.loadAd(adRequest); 

另外在Manifest中添加一些行。 XML

<activity android:name="com.google.android.gms.ads.AdActivity" 
          android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/> 

    <meta-data android:name="com.google.android.gms.version" 
    android:value="@integer/google_play_services_version" /> 

現在添加權限...

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

而且也不要忘記添加谷歌播放服務爲庫項目。

希望這會幫助你。

0

新AdMob和舊之間的性差異僅僅是關鍵..

我用這個教程 https://code.google.com/p/libgdx/wiki/AdMobInLibgdx 並把我的新的密鑰和做工不錯,和我收到的統計數據,點擊數等。

我沒有安裝谷歌播放服務到我的應用程序。