admob妥协的应用程序

时间:2012-06-14 19:27:53

标签: android facebook admob

我正在使用facebook sdk为Android 2.2+制作应用程序。我的应用程序工作正常,所以在把它推向市场之前,我决定用admob放一些广告。要使用以前版本的admob,你必须使用adnroid 32+进行编译,以便我做了什么(我使用了api 15)。在android 2.2-3.2我的应用程序也可以工作和使用,但是在ICS中(我在Android 4.0.4的nexus上测试它)admob没有显示任何广告,一些facebook请求给出了null结果并且一些图片下载会给出错误(我说"一些"因为其他请求和其他图片下载工作......)。 我将在此处发布清单的相关部分以及其他两个错误。如果删除广告并将我的应用程序编译为2.2,它会再次正常工作......

在我的project.properties中:

# Project target.
target=android-15

我的清单:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
package="com.***.***"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk android:minSdkVersion="8"
          android:targetSdkVersion="15" 

   />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
 <application
    android:icon="@drawable/icon_transparent_zk"
    android:label="***" >
<activity
        android:name="com.google.ads.AdActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />

这里是facebook的请求(我需要它来获取用户ID):

String result_me = mFacebook.request("me");

现在是图像,我可以向你保证json中包含的url是正确的:

URL img_value = new URL(json.getString("pic"));
Bitmap icon = BitmapFactory.decodeStream(img_value.openConnection().getInputStream());

如果有人能帮助我,我真的很感激!谢谢

1 个答案:

答案 0 :(得分:1)

冰淇淋三明治(如果我没记错的话,甚至是Honeycomb)也不允许你在主线程上执行网络操作。

Thread对象中执行您的admob请求。

(new Thread() {
    public void run() {
        //Admob stuff
    }
}).start();

这是为了确保您不会在长时间的网络操作中找到您的应用程序。