Сервер AdMob регистрирует рекламные запросы, но объект Ad содержит сообщение об ошибке «необходимо объявить AdActivity». - PullRequest
0 голосов
/ 09 марта 2012

Я пытался внедрить функциональность AdMob в свой проект и продолжал сталкиваться с кирпичной стеной. Я исследовал в Интернете и принял к сведению аналогичные проблемы, с которыми сталкиваются другие пользователи, вместе с их решениями, но я, кажется, зашел так далеко, а потом не могу вполне заставить его работать. Я надеюсь, что кто-то сможет указать на какую-то глупую ошибку с моей стороны!

Кстати, я тестирую HTC Desire (Bravo) под управлением Android 2.3.3 и использую последнюю версию AdMob SDK (4.3.1).

Я могу видеть из своей учетной записи AdMob, что сервер видит запросы на рекламу, но объект Ad в моем приложении продолжает указывать, что мне нужно объявить AdActivity в моем манифесте вместе с параметрами configChange. Оба из которых есть!

Любая помощь будет высоко ценится. Ниже приведены связанные (разложенные) части моего кода;

=================== AndroidManifest.xml ===================== ===========

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="<my package name>"

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

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" 
    android:debuggable="false">

    <activity
    android:label="@string/app_name"
    android:name=".MainActivity" >
        <intent-filter >
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <!-- AdMob stuff -->
    <activity android:name="com.google.ads.AdActivity"
    android:configChanges="orientation|keyboard|keyboardHidden"/>           

    </application>
</manifest>

====================== MainActivity.java =================== ==============

package my.package.name;

import com.google.ads.AdRequest;
import com.google.ads.AdView;

public class MainActivity extends Activity{

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.choice_layout_main);   

    AdView adView = (AdView) this.findViewById(R.id.adView); 
    AdRequest adRequest = new AdRequest(); 
    adView.loadAd(adRequest); 


    }

}

================ choice_layout_main.xml ======================== =====

<ScrollView  xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"     
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:background="@drawable/background_main"
      android:gravity="top"
      android:orientation="vertical"
      android:scrollbarStyle="insideOverlay"
      android:scrollbars="vertical"
      android:textColor="#FFFFFFFF">

    <RelativeLayout
        android:id="@+id/MainLayout"  
        android:padding="50sp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <com.google.ads.AdView
        android:id="@+id/adView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        ads:backgroundColor="#000000"
        ads:primaryTextColor="#FFFFFF"
        ads:secondaryTextColor="#CCCCCC"
        ads:adSize="BANNER"
        ads:refreshInterval="30"
        ads:adUnitId="<my id>"
        ads:loadAdOnCreate="true"
        />   


      </RelativeLayout>
 </ScrollView>

Кажется, что все другие решения, показанные другими разработчиками, не совсем подходят для меня, поэтому я считаю, что это какая-то глупость, которую я упускаю из виду !!

Любая помощь будет полезна для моего здравомыслия!

Ура, Lee

1 Ответ

1 голос
/ 09 марта 2012

Если вы используете 4.3.1, вашей активности, вероятно, потребуются дополнительные элементы в configChanges, как показано ниже:

<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>

Кроме того, если вы делаете это, и у вас нет цели, установленной в файле project.properties (вероятно, необходимо установить target=android-13 или выше, если у вас Android SDK 3.2 или выше).

Нашел эту информацию в блоге здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...