7

我正在尝试在 Android 上使用 AdMobs。这是我的清单:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.krinsen.javadocreader"
    android:versionCode="2"
    android:versionName="1.0.1" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

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

    <application
        android:name=".app.SimpleApp"
        android:hardwareAccelerated="true"
        android:icon="@drawable/icon_about"
        android:label="@string/app_name"
        android:theme="@style/Theme.Javadoc" >
        <activity
            android:name=".ui.DocTypeActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            <meta-data
                android:name="android.app.default_searchable"
                android:value=".ui.SearchableJavadocActivity" />
        </activity>
<activity
            android:name="com.google.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
</application>
</manifest>

这是我的看法:

<com.google.ads.AdView
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    android:id="@+id/ads"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    ads:adSize="BANNER"
    ads:adUnitId="@string/ad_unit_id"
    ads:testDevices="@string/test_devices"
    ads:loadAdOnCreate="true" />

我有最新的 admob 库。我仍然在 logcat 中收到这个奇怪的错误:

INTERNET permissions must be enabled in AndroidManifest.xml

我有互联网许可。我的应用程序使用互联网并且使用得很好。只有广告不想合作。我可以在哪里寻找错误?

4

5 回答 5

5

我认为您添加的permissions位置错误,请添加完整AndroidManifest.xml文件,

相反,您的 manifestFile 应该如下所示:

<?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.novaapps.android.couponmanager"
          android:versionCode="1"
          android:versionName="1.0">

        <application android:icon="@drawable/icon" android:label="@string/app_name">
            <activity android:name=".CouponManager"
                      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"/>

</manifest>

并在您的标签中Layout包含以下namespace代码Layout

xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"

注意: 有关更多详细信息,请参阅本教程

于 2012-12-25T14:41:56.100 回答
1

请尝试复制此内容,然后检查发生了什么,因为我在您的代码中没有发现任何错误。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.xChinmoy.babywallpaperhd"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="7"
        android:targetSdkVersion="16" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.xChinmoy.babywallpaperhd.BabyWallPaperActivity"
            android:screenOrientation="portrait"
            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|screenLayout|uiMode|screenSize|smallestScreenSize" >
        </activity>
    </application>

</manifest>

观点是

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <com.google.ads.AdView
        android:id="@+id/advw"
        android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    ads:adSize="BANNER"
    ads:adUnitId="a150cd49f90925f"
    ads:backgroundColor="#FFFF00"
    ads:loadAdOnCreate="true"
    ads:primaryTextColor="#FFFFFF"
    ads:refreshInterval="30"
    ads:secondaryTextColor="#CCCCCC"
    android:visibility="visible" />                    
 </RelativeLayout>

我昨天创建了它并完美显示了add,admob jar版本是6.0.1。

于 2012-12-31T11:25:09.307 回答
0
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

只需添加最后两行。我通过这个解决了它。

于 2014-04-11T18:25:35.433 回答
0

森宁,

admob 需要您的adUnitId才能使用您的帐户。

获取与您的帐户关联的 admob adUnitId 并使用它。

如果您目前正在开发中,请不要忘记在 XML 中添加ad:testDevices 。

其余的对 Chinmoy 的代码片段很好。

在 admob 中创建一个应用程序条目,并从该条目的设置中获取 adUnitId。

希望这会对你有所帮助。

于 2013-01-01T08:54:56.697 回答
0

只需尝试在标签Manifest.xml之外的文件中添加以下行。application

<meta-data
    android:name="ADMOB_ALLOW_LOCATION_FOR_ADS"
    android:value="true" />
于 2013-01-03T05:25:32.593 回答