广告不可见而不刷新广告

时间:2015-07-27 20:55:54

标签: android admob

我在目前的项目中遇到了这个奇怪的问题,虽然这不是我第一次整合它。

Admob正在从片段中集成,但我也尝试过活动,它不起作用。

更改发布商ID没有任何效果。

我已针对此问题检查了其他主题,没有任何帮助。

以下是代码。

<?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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center_horizontal"
    android:id="@+id/root">

    <com.google.android.gms.ads.AdView
        android:id="@+id/adview"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        ads:adSize="BANNER"
        ads:adUnitId="@string/banner_ad_unit_id">
    </com.google.android.gms.ads.AdView>

</LinearLayout>


//======================================
public class AdFragment extends BaseFragment{

    private AdView mAdView;

    //========================
    @Override
    public View onCreateView(LayoutInflater inf, ViewGroup vg, Bundle b){
        View v = inf.inflate(R.layout.ads, vg, true);       
        mAdView = (AdView)v.findViewById(R.id.adview);
        AdRequest adRequest = new AdRequest.Builder().addTestDevice("ECA025F9DDBA50A6F63387CC3FFF340F").build();
        mAdView.loadAd(adRequest);
        return v;
    }

    //========================
    @Override
    public void onResume(){
        super.onResume();
        mAdView.resume();
    }

    //========================
    @Override
    public void onPause(){
        super.onPause();
        mAdView.pause();
    }
}

片段展示位置:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="10dip">

    <ListView 
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:cacheColorHint="@android:color/transparent"
        android:id="@+id/list"
        android:layout_alignParentTop="true"
        android:layout_above="@+id/ads"
        android:scrollbars="none"></ListView>

    <fragment 
        class="com.paper.AdFragment"
        android:name="com.paper.AdFragment"
        android:layout_width="match_parent"
        android:layout_height="50dip"
        android:layout_alignParentBottom="true"
        android:id="@+id/ads"/>

</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

您的广告xml布局非常多余。只需在Ad Fragment中写道:

@Override
public View onCreateView(LayoutInflater inf, ViewGroup vg, Bundle b){
    mAdView = new AdView(getActivity());
    mAdView.setAdUnitId(getActivity().getString(R.string.banner_ad_unit_id);
    AdRequest adRequest = new   AdRequest.Builder().addTestDevice("ECA025F9DDBA50A6F63387CC3FFF340F").build();
    mAdView.loadAd(adRequest);
    return mAdView;
}

答案 1 :(得分:0)

代码没有问题,问题是包名。

当我们在playstore上发布build时,其他人已经使用了包名,在应用程序中更改它时,它可以工作。

希望它可以帮助其他人。 感谢