我有AdMob和Google Play服务的问题让我疯狂了好几天。感觉这几乎不可能完成这项工作。这个实现有什么问题?
layout.xml(下面的代码位于布局的底部):
xmlns:ads="http://schemas.android.com/apk/res-auto"
...
<LinearLayout
android:id="@+id/layoutAd"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_marginTop="5dp"
android:layout_weight="3"
android:orientation="vertical" >
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
ads:adSize="BANNER"
ads:adUnitId="@string/ad_unit_id" />
</LinearLayout>
main activity.Java:
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.AdSize;
...
adView = (AdView)this.findViewById(R.id.adView);
AdRequest request = new AdRequest.Builder() .addTestDevice(AdRequest.DEVICE_ID_EMULATOR).
addTestDevice("9234EBAE83E894E6271DEBE7B380782E").build();
adView.loadAd(request);
AndroidManifest.xml中:
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
...
<activity android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
logcat的:
Use AdRequest.Builder.addTestDevice("9234EBAE83E894E6271DEBE7B380782E") to get test ads on this device.
GooglePlayServicesUtil: The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
SQLiteLog: (14) cannot open file at line 30241 of [00bb9c9ce4]
SQLiteLog: (14) os_unix.c:30241: (2) open(/NotificationPermissions.db) -
广告永远不会出现,但如果我在模拟器上运行,它就会出现。
我究竟做错了什么?
我的建议评论代码
addTestDevice( “9234EBAE83E894E6271DEBE7B380782E”)建立();
并连接您的手机,确保计算机检测到您的手机并运行该项目,您的设备应该出现在要运行的选择设备上单击确定
希望这个帮助
最后的建议,如果您使用Eclipse,请在顶层菜单中转到Project,单击很多时间清除工作区中的垃圾数据
尝试使用:
import com.google.android.gms.ads.*;
代替:
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.AdSize;
这为我解决了一些问题。