Android - InterstitialAd - 未找到Google Play服务资源

时间:2014-01-08 06:43:12

标签: android google-play admob google-play-services interstitial

我正在尝试将InterstitialAd添加到我的项目中。我添加了必要的库

  1. 从sdk manager下载Google服务

  2. 将项目导入为Android代码

  3. 在属性>库中添加

  4. 这是我的代码:

     import com.google.android.gms.ads.*;
    
     public class MainActivity extends FragmentActivity implements
            ActionBar.TabListener {
    
        ...
        private InterstitialAd interstitial;
    
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            ...
    
            // Create the interstitial.
            interstitial = new InterstitialAd(this);
            interstitial.setAdUnitId("a152caa4c3be05b");
    
            // Create ad request.
            AdRequest adRequest = new AdRequest.Builder().build();
    
            // Begin loading your interstitial.
            interstitial.loadAd(adRequest);
    
            ...
    
            displayInterstitial();
        }
    
        ...
    
        public void displayInterstitial() {
            if (interstitial.isLoaded()) {
              interstitial.show();
            }
          }
    
     }
    

    这里是logcat

     01-08 08:30:00.615: D/dalvikvm(669): DexOpt: --- BEGIN 'ads-1769811527.jar' (bootstrap=0) ---
     01-08 08:30:00.705: D/dalvikvm(669): DexOpt: --- END 'ads-1769811527.jar' (success) ---
     01-08 08:30:00.705: D/dalvikvm(669): DEX prep '/data/data/info.androidhive.tabsswipe/cache/ads-1769811527.jar': unzip in 0ms, rewrite 88ms
     01-08 08:30:00.745: I/Ads(669): Use AdRequest.Builder.addTestDevice("5CEAF7E172F8B76E72193FA048D8DCB1") to get test ads on this device.
     01-08 08:30:00.755: I/Ads(669): Starting ad request.
     01-08 08:30:00.945: W/ResourceType(669): getEntry failing because entryIndex 13 is beyond type entryCount 1
     01-08 08:30:00.945: W/ResourceType(669): Failure getting entry for 0x7f0b000d (t=10 e=13) in package 0 (error -2147483647)
     01-08 08:30:00.945: E/GooglePlayServicesUtil(669): The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
     01-08 08:30:01.275: W/ResourceType(669): getEntry failing because entryIndex 13 is beyond type entryCount 1
     01-08 08:30:01.275: W/ResourceType(669): Failure getting entry for 0x7f0b000d (t=10 e=13) in package 0 (error -2147483647)
     01-08 08:30:01.275: E/GooglePlayServicesUtil(669): The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
     01-08 08:30:01.280: W/ResourceType(669): getEntry failing because entryIndex 13 is beyond type entryCount 1
     01-08 08:30:01.280: W/ResourceType(669): Failure getting entry for 0x7f0b000d (t=10 e=13) in package 0 (error -2147483647)
     01-08 08:30:01.280: E/GooglePlayServicesUtil(669): The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
     01-08 08:30:01.505: W/InputMethodManager(669): Ignoring onBind: cur seq=1831, given seq=1830
     01-08 08:30:01.505: W/IInputConnectionWrapper(669): getTextBeforeCursor on inactive InputConnection
     01-08 08:30:01.565: W/IInputConnectionWrapper(669): getTextAfterCursor on inactive InputConnection
     01-08 08:30:01.565: W/IInputConnectionWrapper(669): finishComposingText on inactive InputConnection
     01-08 08:30:01.620: W/IInputConnectionWrapper(669): finishComposingText on inactive InputConnection
     01-08 08:30:02.625: I/Ads(669): Ad finished loading.
    

    看起来广告加载效果不错,但屏幕上没有显示任何内容。 我没有使用任何其他谷歌api(因为我已经阅读了所有关于此的主题,人们在使用adMob和任何其他谷歌api时总是有问题)

    您对如何解决这个问题有所了解吗?

3 个答案:

答案 0 :(得分:1)

转到admob页面并创建新的插页式广告(MY_AD_UNIT_ID)。不要使用旧的横幅ID。

也许这有助于您:https://support.google.com/admob/v2/answer/3052638?hl=en

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.player);         
  // Create the interstitial.
            interstitial = new InterstitialAd(this);
            interstitial.setAdUnitId(MY_AD_UNIT_ID);

            // Create ad request.
            AdRequest adRequest = new AdRequest.Builder().build();
            interstitial.setAdListener(new AdListener() {
                 @Override
                 public void onAdLoaded() {
                     displayInterstitial();
                 }
                 @Override
                 public void onAdClosed() {
                 }
             });
            // Begin loading your interstitial.
            interstitial.loadAd(adRequest);
      }
     // Invoke displayInterstitial() when you are ready to display an interstitial.
      public void displayInterstitial() {
        if (interstitial.isLoaded()) {
          interstitial.show();
        }
      }

答案 1 :(得分:0)

快速搜索似乎证实了这个

01-08 08:30:00.945: E/GooglePlayServicesUtil(669): The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.

是带GPS的常见日志消息。但它似乎没有影响。即它是良性的。

答案 2 :(得分:0)

我的回答有点晚,但我想原因可能是您的广告在展示之前没有时间加载。

在您的代码中,您希望在加载后立即显示广告,但不会留下足够的时间。

您应该稍后在您的代码中拨打电话displayInterstitial();