2017-04-21 101 views
1

我已將AdMob(320x50橫幅)添加到我的項目中並在調試模式下成功進行了測試。對於生產版本,我啓用了ProGuard混淆功能並且橫幅消失。 我已經使用這些規則的ProGuard試過,但它不會影響:已啓用ProGuard的AdMob橫幅爲空

-keep public class com.google.android.gms.ads.** { 
    public *; 
} 

-keep public class com.google.ads.** { 
    public *; 
} 

我在應用類像初始化的AdMob:

MobileAds.initialize(getApplicationContext(), getString(R.string.banner_ad_id)); 

在XML佈局,我把橫幅:

<com.google.android.gms.ads.AdView 
     xmlns:ads="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/adView" 
     android:layout_width="match_parent" 
     android:visibility="gone" 
     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> 

之後,我用這種方式加載橫幅:

AdView adMobView = (AdView) bannerLayout.findViewById(R.id.adView); 
AdRequest adRequest = new AdRequest.Builder().build(); 
adMobView.loadAd(adRequest); 

此外,我正在使用第二個廣告提供商(adtech),並根據具體情況播放其可見性。 任何想法如何讓他們可見?

+0

您可以展示如何實施您的橫幅廣告。 –

+0

我不使用admob,但我注意到[這些設置](https://github.com/firebase/quickstart-android/blob/master/admob/app/proguard-rules.pro#L19-L20)示例項目。 –

回答

0

最後,我發現我的問題在哪裏 - 我不應該將AdView的初始可見性參數設置爲GONE。即使通過編程方式將其更改爲可見 - 它在簽名的apk中仍然不起作用(仍然是個謎)。