[英]Can't set a NativeExpressAdView visibility to GONE
如果我做簡單的話:
nativeAd = (NativeExpressAdView) mActivity.findViewById(R.id.adView);
nativeAd.loadAd(new AdRequest.Builder().build());
我看到了一個本地廣告。 但是,如果我添加nativeAd.setVisibility(LinearLayout.GONE);
然后單擊按鈕后,我執行nativeAd.setVisibility(LinearLayout.VISIBLE);
我在LogCat中得到兩個警告:
Received error HTTP response code: 403
There was a problem getting an ad response. ErrorCode: 0
我做錯了什么? 僅當用戶在另一個活動中單擊按鈕時,我才希望添加項不會出現在同一屏幕上。
如果有人感興趣,則只需將本地廣告放入布局中,然后將布局設為GONE即可。
例如,將NativeExpressAdView放在LinearLayout內:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/llad"
android:visibility="invisible"
android:layout_height="wrap_content"
android:layout_width="match_parent">
<com.google.android.gms.ads.NativeExpressAdView
android:id="@+id/ad_View"
android:layout_gravity="center|top"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adUnitId="ca-app-pub-your_id"
ads:adSize="FULL_WIDTHx80">
</com.google.android.gms.ads.NativeExpressAdView>
</LinearLayout>
在班上:
View view = LayoutInflater.from(context).inflate(R.layout.adese, parent, false);
final NativeExpressAdView adView = (NativeExpressAdView) view.findViewById(R.id.ad_View);
final LinearLayout lld = (LinearLayout)view.findViewById(R.id.llad);
adView.setVisibility(View.GONE);
lld.setVisibility(View.GONE);
AdRequest request = new AdRequest.Builder()
.addTestDevice("your_device_number")
.build();
adView.loadAd(request);
adView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
super.onAdLoaded();
adView.setVisibility(View.VISIBLE);
lld.setVisibility(View.VISIBLE);
}
});
以這種方式對我起作用! 👍
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.