отказано в подключении к admob

#android #admob

#Android #admob

Вопрос:

Я только начинаю добавлять admob в свое приложение для Android и начал с использования примера banner essentials, который доступен на веб-сайте admob. Вот пример кода.

 public class BannerEssentials extends Activity{
  @Override
  public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // Lookup R.layout.main
    LinearLayout layout = (LinearLayout)findViewById(R.id.linearLayout);

    // Create the adView
    // Please replace MY_BANNER_UNIT_ID with your AdMob Publisher ID
    AdView adView = new AdView(this, AdSize.BANNER, "a14da528179106a");

    // Add the adView to it
    layout.addView(adView);

    // Initiate a generic request to load it with an ad
    AdRequest request = new AdRequest();
    request.setTesting(true);

    adView.loadAd(request);            
  }
}
  

Я настроил свою учетную запись в admob, и, похоже, все на месте, когда я заглядываю в свой logCat, я вижу следующее сообщение об ошибке «отказано в подключении» для admob. Кто-нибудь еще сталкивался с этой проблемой, и если да, то как вы ее решили? Заранее спасибо за вашу помощь.

 04-13 11:39:33.410: WARN/Ads(5662): java.net.ConnectException: r.admob.com/127.0.0.1:80 - Connection refused
04-13 11:39:33.410: WARN/Ads(5662):     at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:254)
04-13 11:39:33.410: WARN/Ads(5662):     at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:533)
04-13 11:39:33.410: WARN/Ads(5662):     at java.net.Socket.connect(Socket.java:1055)
04-13 11:39:33.410: WARN/Ads(5662):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:62)
04-13 11:39:33.410: WARN/Ads(5662):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:88)
04-13 11:39:33.410: WARN/Ads(5662):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHTTPConnection(HttpURLConnectionImpl.java:927)
04-13 11:39:33.410: WARN/Ads(5662):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:909)
04-13 11:39:33.410: WARN/Ads(5662):     at b.a(Unknown Source)
04-13 11:39:33.410: WARN/Ads(5662):     at b.doInBackground(Unknown Source)
04-13 11:39:33.410: WARN/Ads(5662):     at android.os.AsyncTask$2.call(AsyncTask.java:185)
04-13 11:39:33.410: WARN/Ads(5662):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
04-13 11:39:33.410: WARN/Ads(5662):     at java.util.concurrent.FutureTask.run(FutureTask.java:137)
04-13 11:39:33.410: WARN/Ads(5662):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
04-13 11:39:33.410: WARN/Ads(5662):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
04-13 11:39:33.410: WARN/Ads(5662):     at java.lang.Thread.run(Thread.java:1096)
  

Мой файл манифеста ниже.

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.google.ads.example"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".BannerEssentials"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.google.ads.AdActivity" 
              android:configChanges="keyboard|keyboardHidden|orientation"/>
    </application>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
    <uses-sdk android:minSdkVersion="3" />

</manifest> 
  

Ответ №1:

Как настроен ваш манифест? Вы добавили разрешение на доступ в Интернет? Вы установили соответствующие параметры метаданных?

Комментарии:

1. Я обновил, чтобы включить мой manifest.xml Итак, я тестировал на своем телефоне DroidX и решил попробовать эмулятор. Код отлично работает в эмуляторе, но не на телефоне. Существует ли конфликт версий, моя версия Android 2.2.1.

2. Обновление: я нашел источник своей проблемы. У меня есть рутированный телефон, с которого у меня есть возможность отключить показ рекламы. (Я знаю, о чем я думал?) В любом случае, как только я отключил эту функцию, реклама в моем приложении работает просто отлично. Надеюсь, это поможет.

3. @Byron не могли бы вы, пожалуйста, опубликовать свое решение в качестве ответа, чтобы в будущем это было легко и полезно для всех, спасибо!

Ответ №2:

Обновление: я нашел источник своей проблемы. У меня есть рутированный телефон, с которого у меня есть возможность отключить показ рекламы. (Я знаю, о чем я думал?) В любом случае, как только я отключил эту функцию, реклама в моем приложении работает просто отлично. Надеюсь, это поможет кому-то еще.

Ответ №3:

Вы не добавили разрешение (Интернет, доступ к Интернету) и метаданные.

Ознакомьтесь с руководством по использованию ads go:https://developers.google.com/admob/android/quick-start

Если у вас возникли какие-либо проблемы с этим руководством, посмотрите следующее видео: следующее видео