我在目前的项目中遇到了这个奇怪的问题,虽然这不是我第一次整合它。
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>
答案 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时,其他人已经使用了包名,在应用程序中更改它时,它可以工作。
希望它可以帮助其他人。 感谢