GooglePlayServices Admob问题:"无法加载广告:0"

时间:2015-01-04 14:01:39

标签: android admob google-play-services

我对新的admob有问题。

以下是我的代码,尝试在我的主要活动中创建并加载广告:

private void createAndLoadAd(String adUnitID, RelativeLayout rlRoot, View upperView){
    adView = new AdView(this);
    adView.setAdUnitId(adUnitID);
    adView.setAdSize(AdSize.BANNER);
    adView.setId(R.id.ad_view);

    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(AdView.LayoutParams.WRAP_CONTENT, AdView.LayoutParams.WRAP_CONTENT);
    params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
    params.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE);

    rlRoot.addView(adView, params);

    RelativeLayout.LayoutParams upperViewParams = (RelativeLayout.LayoutParams) upperView.getLayoutParams();
    upperViewParams.addRule(RelativeLayout.ABOVE, R.id.ad_view);
    upperView.setLayoutParams(upperViewParams);

    AdRequest adRequest = new AdRequest.Builder().build();
    adView.loadAd(adRequest);
    checkGooglePlayServices(this);
}

我的XML中有一个RelativeLayout,我正在尝试将广告放在ExpandableListView(仅限子)的下方。

这是我得到的:

  

W / Ads:收到广告回复时出现问题。 ErrorCode:0 W / Ads:

     

无法加载广告:0

我确切地知道我拥有AndroidManifest.xml中所需的所有权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<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"
              android:theme="@android:style/Theme.Translucent" />

以下是gradle line:

compile 'com.google.android.gms:play-services:6.+'

我读到错误可能来自adUnitID,我尝试重新创建一个新错误,但没有用。

也许有一些新的规则,如果应用程序未在市场上发布,广告将无效?

以下是有关问题的日志:

01-31 09:48:37.687  19580-19580/me.frozened.rappel I/Ads﹕ Starting ad request.
01-31 09:48:37.872  19580-19580/me.frozened.rappel E/﹕ file /data/data/com.nvidia.NvCPLSvc/files/driverlist.txt: not found!
01-31 09:48:37.872  19580-19580/me.frozened.rappel I/﹕ Attempting to load EGL implementation /system/lib//egl/libEGL_tegra_impl
01-31 09:48:37.887  19580-19580/me.frozened.rappel I/﹕ Loaded EGL implementation /system/lib//egl/libEGL_tegra_impl
01-31 09:48:37.912  19580-19580/me.frozened.rappel I/﹕ Loading GLESv2 implementation /system/lib//egl/libGLESv2_tegra_impl
01-31 09:48:40.767  19580-19580/me.frozened.rappel W/KeyCharacterMap﹕ Load KCM of non-default device may incur unexpected result
01-31 09:48:48.217  19580-19617/me.frozened.rappel W/Ads﹕ There was a problem getting an ad response. ErrorCode: 0
01-31 09:48:48.222  19580-19580/me.frozened.rappel W/dalvikvm﹕ VFY: unable to resolve virtual method 3114: Landroid/webkit/WebView;.evaluateJavascript (Ljava/lang/String;Landroid/webkit/ValueCallback;)V
01-31 09:48:48.302  19580-19833/me.frozened.rappel W/﹕ init htc webcore
01-31 09:48:48.337  19580-19580/me.frozened.rappel W/Ads﹕ Failed to load ad: 0

编辑:

问题似乎并非孤立。我做了很多测试,从我的十次测试中,只有两次测试。我不明白,也许新的adob不能很好地工作?

我在以下设备上测试了这些应用程序:

  • HTC One X&lt; - 不工作(日志适用于此)
  • Nexus 5&lt; - Working
  • 三星Galaxy Note 10.1&lt; - 不工作
  • Sasmung Galaxy Ace&lt; - Not working
  • 三星Galaxy Note 3&lt; - 不工作
  • Sony Xperia Z&lt; - Working
  • Samsung Galaxy Alpha&lt; - Not Working
  • 三星Galaxy S3&lt; - 不工作

部分手机正在使用最新版本的Google Play服务(我的HTC One X,我的Nexus 5,Galaxy Note 3)。我不知道其他的。

以下是我测试的两个应用:   - Rappel&lt; - 第一个有问题的应用   - My Word Book&lt; - 我确定之前广告有效的旧应用   - BMI&lt; - 处于相同情况的朋友应用

所以我有两个假设:要么我在不能正常运行的手机上测试这些应用程序(我会相信它......),或者我忘了添加一些权限/代码。

另外,我的HTC One X没有SIM卡(我只使用互联网)。这可能是这款手机的问题吗?

3 个答案:

答案 0 :(得分:2)

实际上,我的代码是对的&amp;我在我的android中有一个更新的谷歌播放服务库。我的admob帐户是全新的横幅广告&amp; interstial id's

它自动得到修复&amp;等待1-2天后开始收到广告回复。从那以后一切运作良好。

答案 1 :(得分:1)

在我的情况下,我忘了使用

.addTestDevice("1C51F744DXXXXXXXX64F06586C84EF")

您将在日志中获取设备ID。

答案 2 :(得分:0)

如果您使用的是自定义ROM ,例如 CyanogenMod ,也可能会发生这种情况,而Google应用未附带 G-Apps )默认情况下,像Play商店,Gmail。

所以你必须:

  1. this wiki
  2. 为您的操作系统下载相应的GApps软件包
  3. 闪光吧。 Instructions to flash if you don't know how
  4. 打开Play商店应用。它会要求您使用您的Google帐户登录。
  5. 然后更新Google Play服务应用
  6. 如果您已正确完成编码,现在应该会显示广告。