Which banner ads work in live wallpapers?

I tried to get Appbrain’s banner ads to work in the settings screen of a live wallpaper, but it didn’t work.
The Appbrain support then confirmed that this is not possible with their banners. I have seen other live wallpapers, which use banners in their settings screen. From which companies do these banners come? Has anyone here got banners to work in live wallpapers?

Are you sure they don’t work ? I can’t see any technical reason … The PreferencesActivity is just an Activity.

The banners require a viewgroup, like a ListView. But I get the following error when trying to add the listview to the settings screen:

11-27 14:11:44.625: D/AndroidRuntime(3170): Shutting down VM
11-27 14:11:44.625: W/dalvikvm(3170): threadid=1: thread exiting with uncaught exception (group=0x40bc51f8)
11-27 14:11:44.633: E/AndroidRuntime(3170): FATAL EXCEPTION: main
11-27 14:11:44.633: E/AndroidRuntime(3170): java.lang.RuntimeException: Unable to start activity ComponentInfo{star.field/star.field.LiveWallpaperSettings}: java.lang.UnsupportedOperationException: addView(View) is not supported in AdapterView
11-27 14:11:44.633: E/AndroidRuntime(3170): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1970)
11-27 14:11:44.633: E/AndroidRuntime(3170): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995)
11-27 14:11:44.633: E/AndroidRuntime(3170): at android.app.ActivityThread.access$600(ActivityThread.java:128)
11-27 14:11:44.633: E/AndroidRuntime(3170): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161)
11-27 14:11:44.633: E/AndroidRuntime(3170): at android.os.Handler.dispatchMessage(Handler.java:99)
11-27 14:11:44.633: E/AndroidRuntime(3170): at android.os.Looper.loop(Looper.java:137)
11-27 14:11:44.633: E/AndroidRuntime(3170): at android.app.ActivityThread.main(ActivityThread.java:4514)
11-27 14:11:44.633: E/AndroidRuntime(3170): at java.lang.reflect.Method.invokeNative(Native Method)
11-27 14:11:44.633: E/AndroidRuntime(3170): at java.lang.reflect.Method.invoke(Method.java:511)
11-27 14:11:44.633: E/AndroidRuntime(3170): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
11-27 14:11:44.633: E/AndroidRuntime(3170): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
11-27 14:11:44.633: E/AndroidRuntime(3170): at dalvik.system.NativeStart.main(Native Method)
11-27 14:11:44.633: E/AndroidRuntime(3170): Caused by: java.lang.UnsupportedOperationException: addView(View) is not supported in AdapterView
11-27 14:11:44.633: E/AndroidRuntime(3170): at android.widget.AdapterView.addView(AdapterView.java:445)
11-27 14:11:44.633: E/AndroidRuntime(3170): at star.field.LiveWallpaperSettings.addBanner(LiveWallpaperSettings.java:82)
11-27 14:11:44.633: E/AndroidRuntime(3170): at star.field.LiveWallpaperSettings.onCreate(LiveWallpaperSettings.java:32)
11-27 14:11:44.633: E/AndroidRuntime(3170): at android.app.Activity.performCreate(Activity.java:4465)
11-27 14:11:44.633: E/AndroidRuntime(3170): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053)
11-27 14:11:44.633: E/AndroidRuntime(3170): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934)
11-27 14:11:44.633: E/AndroidRuntime(3170): … 11 more
11-27 14:11:44.711: D/EglHelper(3170): Reusing config

Post your layout so we can see if there is something wrong. I’ve in the past used banners from several networks and I’ve never had a problem.

Also, take a look at this: Android Admob advert in PreferenceActivity - Stack Overflow

Thanks for the info! I tried to follow the instructions in your link,but I get

31 13:20:38.051: E/AndroidRuntime(20840): FATAL EXCEPTION: main
01-31 13:20:38.051: E/AndroidRuntime(20840): java.lang.UnsupportedOperationException: addView(View) is not supported in AdapterView
01-31 13:20:38.051: E/AndroidRuntime(20840): at android.widget.AdapterView.addView(AdapterView.java:445)
01-31 13:20:38.051: E/AndroidRuntime(20840): at morph.galaxytt.AdPreference.addBanner(AdPreference.java:44)
01-31 13:20:38.051: E/AndroidRuntime(20840): at morph.galaxytt.AdPreference.onCreateView(AdPreference.java:3

This is my adpreference java file:

public class AdPreference extends Preference {

public AdPreference(Context context, AttributeSet attrs, int defStyle) {super    (context, attrs, defStyle);}
public AdPreference(Context context, AttributeSet attrs) {super(context, attrs);}
public AdPreference(Context context) {super(context);}

protected View onCreateView(ViewGroup parent) {
    // this will create the linear layout defined in ads_layout.xml
    View view = super.onCreateView(parent);        
    return view;    

public void addBanner(ViewGroup parent) {
    AppBrainBanner banner = new AppBrainBanner(getContext());


This is my settings XML file:

<?xml version=“1.0” encoding=“utf-8”?>

        android:title="HALO EFFECT"
        android:summary="TURN ON THIS TO EXPERIENCE MORE SHINING STARS! This is not supported on all devices, so turn it off if it looks strange."
        android:entryValues="@array/PointAttenuation_values" /&gt; 
                      &lt;morph.galaxytt.AdPreference android:layout="@layout/ad_layout"/&gt;
        android:title="Star color"
        android:summary="Choose between 28 different color modes!"
        android:entryValues="@array/Transparens_values" /&gt;            


This is my adlayout.xml file:

<?xml version=“1.0” encoding=“utf-8”?>

<LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android
android:gravity=“center_horizontal” android:orientation=“vertical”


I got this to work now with Admob’s ads, just like in the example. It seems like ads from most companies don’t work in the setting screen. Admob seem to be one of the few ones, which work there.

I used this method to add banners to my live wallpapers: android - How to add a button to PreferenceScreen - Stack Overflow

I ran my banners through MoPub though. To be honest, I haven’t found a lot of success with banners in LWP settings, so I ditched them (the banners, not the settings!)
Curious to know if anyone has had good results with banners in LWP settings.

It doesn’t pay off that much, but it is still usefull revenue. Why keep ad space in the settings menu empty when it can be used for ads? There are so few places to put ads in live wallpapers, so every empty space must be used. The only other place to put ads are instertitials after going back from the settings menu. Or have you found other places to put ads?

I also use Startapp on my live wallpapers. I used push ads before, but removed them because they caused bad reviews and low ratings.

I think if you overwhelm your users with ads they will eventually say “screw it” and uninstall (maybe leave a bad review). Also, the clicks are important. I may be wrong in this assumption, but I would think that if you give the user too many outlets to click on an ad (push, banner, interstitial, etc), he will click on one, but likely not the other. Since banners are ever-present in the settings and you most likely make the least money from them, my conclusion is that it’s not best to stick ads into every empty space. Smart advertising is better than spam advertising. This is only my logical opinion.

Hi, I hear you used startapp for live wallpaper. I had used it with my other app and works fine. Can you tell me how to integrate in LWP? is there any different procedure or the same?

As far as I know, there are many flexible ad formats on Appflood, they have banner, interstitial, appwall, push ad, applist, icon ad, and customized ad form.
You can choose whatever ad format that best matches your app type.
And it is CPC for banners… you can get paid by direct bank transfer and paypal weekly:)
And they have cooperated with many wall paper app publishers, some of them are in the top 20 list on google play:)

Have you had success with AppFlood?
I have found they perform really badly in apps. I’ve heard they’re only good for games.

Yeah, The game studio I am working for is cooperating with appflood. As game publisher using appflood, our revenue turns out not bad.
But I don’t agree with you on “they’re only good for games.”, because appflood told me 80% of the total revenue generated are from non-game app publishers.
examples like :Fingerprint Screen Lock, Designs, GO Launcher EX…

also for some non game apps which are getting poor revenue, I think they can just block those ads that are not converting as you can have controls on appflood.

Just stay with those good performers that are converting.

Also they don’t take any share from your ad revenue which means you keep all the money.

Make Money with Android Apps

Here are a blog from one of the publishers on appflood. I think it’s quite honest how it is going cooperating with appflood.

I did agree with @Vivianyang that apps could also deliver good earnings using Appflood’s ad units since I have implemented them in a couple of my apps with the most performing ad unit is their push notification. However, regarding to their banner ads, as far a I know it’s based on CPI ?. [ I’m getting around 50 cent per install ].

Oh…Thanks for reminding, WNASH :slight_smile: Yeah, I made a mistake that their CPC for banners will be coming out in weeks together with their new transparency system…

yeah, push notification is performing good among appflood’s various ad formats,

Still if take the user experience into consideration, their interstitial ad is also performing not bad.

One of our small apps using their interstitial is getting an eCPM of $3.10 with 6321 impressions yesterday…

which I think is not bad revenue for a non game app:)

android - Admob Integration Error : Live Wallpaper Picker has stopped unexpectedly - Stack Overflow

I just can’t seem to integrate Admob Banners into my live wallpaper…My app crashes on clicking the settings button