我正在尝试在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
我有互联网许可。我的应用程序使用互联网并使用它非常好。只有广告不想合作。我在哪里可以找到一个bug?
答案 0 :(得分: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"
注意:请参阅此 tutorial 了解详情
答案 1 :(得分: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。
答案 2 :(得分:0)
仙人,
admob需要您的 adUnitId 才能使用您的帐户。
获取与您的帐户关联的adob adUnitId并使用它。
如果您目前正在开发中,请不要忘记在XML中添加 ad:testDevices 。
Chinmoy的代码片段可以休息。
在admob中创建一个应用程序条目,并从该条目的设置中获取adUnitId。
希望这会对你有所帮助。
答案 3 :(得分:0)
只需尝试在Manifest.xml
标记之外的application
文件中添加以下行。
<meta-data android:name="ADMOB_ALLOW_LOCATION_FOR_ADS" android:value="true" />
答案 4 :(得分: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" />
只需添加最后两行。我解决了这个问题。