B4A Library AppBrain - Another monetization option

Hi All,

I present you another monetization option, AppBrain!

AppBrain is probably more known as a web based Android Market search and analytics thingy.

They actually also provide monetization options, and the results are so far quite good too ( looks better than Admob :D )

AppBrain's SDK shows offerwalls or interstitials to the users to download more (I think they're all FREE) games. Everytime a user downloads and installs games, you make some revenue.

Ok, steps:

1 - Register at Android App Monetization - Advertising & App Monetization with AppBrain

2 - If you cannot access your details yet, you will either need to wait for the confirmation mail from AppBrain or you can try contacting their support.

3 - Download their SDK, it should be named appbrain-sdk-android.jar

4 - Download the attached zip file, and add all the contents plus the SDK from step 3 into your extras folder.

5 - Manifest file, add following before the application close tag:

B4X:
<!-- AppBrain SDK -->
<activity android:configChanges="keyboard|keyboardHidden|orientation" 
    android:name="com.appbrain.AppBrainActivity" />
<service android:name="com.appbrain.AppBrainService" />        
<receiver android:exported="true" android:name="com.appbrain.ReferrerReceiver" >
    <intent-filter>
        <action android:name="com.android.vending.INSTALL_REFERRER" />
    </intent-filter>
</receiver>

6 - Permission required: <uses-permission android:name="android.permission.INTERNET"/>

7 - In your code:

B4X:
Sub Globals
  Dim ab As MESAppBrain
End Sub

Sub Activity_Create(FirstTime As Boolean)
  ab.initialise
End Sub

You should initialise the object in your main activity, as the AppBrain's SDK actually records very valuable information which you can access from developer dashboard.

8 - In your code:

B4X:
Sub Activity_KeyPress (KeyCode As Int) As Boolean 'return true if you want to consume the event
   If keycode = KeyCodes.KEYCODE_BACK Then
      Dim xa As Int
      xa = Msgbox2("Download more fun games from AppBrain now!", "More Games!", "Download", "", "Maybe Later", Null)
      If xa = DialogResponse.POSITIVE Then
         ab.showOfferWall 'or showInterstitial
      End If
      
   End If
   
   Return False
   
End Sub

And that's it.

Do note that the developer dashboard is not updated real time.

Some very useful analytics that you can get include daily new installs, daily active users, search terms used to search for your game/app, active versions and a whole lot more!

AppBrain's SDK also makes your app clean looking with no in-game ads and only 1 permission, so you have this option now.

Drawback, I hope they improve the dashboard, as right now it does not show overall revenue summary.

By the way, I have been emailing the co-founder of AppBrain, Uwe Maurer, in regards to the SDK, and he has been very helpful. Hope he'll drop by to further encourage the B4A community.

Cheers!

**** Update 5th April 2012 ****

New version 1.1

Added a new method "alwaysShowInterstitial" which will always show the interstitial (duh! thank you mr obvious!).

This version should also be B4A V1.8 friendly, added the dependson thingy. (Can tell I am no java person eh?)

Back up your stuff before trying this one out.

Good luck!

Cheers!
-Bill
 

Attachments

  • AppBrain.zip
    2.3 KB · Views: 506
  • MESAppBrain_V1.1.zip
    2.7 KB · Views: 488
Last edited:

ssg

Well-Known Member
Licensed User
Longtime User
Hi nad,

The message will take a while to disappear as your apps will be in the wild without the latest update. This same thing happened with Admob ads too when they released an update.

So until every single app of ours gets updated with the new version, I am guessing we will be seeing that message.

No issues as the revenue is still coming in steady.

Cheers!
-Bill
 

nad

Active Member
Licensed User
Longtime User
I think they have released a new sdk version :BangHead: (still have not updated all to previous version) :D

ssg is the appbrain intersitial working from you after last sdk updates?

I am trying to use it as they recommend but it doesn't do anything for me. Last time i tried it worked fine. On the other hand OfferWall works great as always
 

ssg

Well-Known Member
Licensed User
Longtime User
Hi nad,

Where did you find out about the new sdk version?

The interstitial is working fine for me. I think you're not seeing it, because, if you use interstitial, AppBrain will only show it once every 3 or 4 days. Try again a few days later and it should be fine.

Hope that is clear.

Cheers!
-Bill
 

nad

Active Member
Licensed User
Longtime User
Hi Bill,

Here you can see the jar age

https://github.com/swisscodemonkeys/appbrain-sdk

They are validating every new app with appbrain sdk implementation unless (Mathijs told me a couple of days ago) the app uses the intersitial as a method to launch the offerwall. He also says that they have done intensive testing on the launching methods of their offerwall and using the intersitial as launcher provides the best results.

From https://developers.appbrain.com/info/sdk
"...
Offerwall

The interstitial leads to the offerwall. In case you don't want to use the interstitial, you can access the offerwall directly. However, keep in mind that the offerwall is only meant to attract users that are interested in downloading new apps, and therefore you need approval from us for how you use this function, and what is the preceding user interface that leads to this function call. Without approval, views of the offerwall without using the preceding interstitial won't generate any revenue.

In our experience, the use of the interstitial gives up to 10x more revenue than other simple integrations using the offerwall directly.

If you do feel you have a need to integrate without using the interstitial, please contact us at contact@appbrain.com to discuss this.
..."

Regarding the SDK showintersitial it seems in Java there are two types of methods to open the intersitial:

AppBrain.getAds().maybeShowInterstitial(this); (this one that shows only every few days as you say)

and

AppBrain.getAds().showInterstitial(activity); (this one will always show the intersitial).

I don't know which one of the two methods was implemented under the B4A method ab.showintersitial? The Maybe one?



if that is the case we cannot at the moment comply with Mathijs recommendations and use the intersitial to launch the offerwall as they recommend?

Is my reasoning correct?

At the moment i am using the back button instructions you provided (that are working incredibly well) and also migrating some apps to the method you recommend in your (i am your fan!) blog (free apps image button) that is also working great. I just wanted to try AppBrain intersitial to check that 10x revenue they say in their text but i cannot use it because i think the ab.showintersitial is using the maybeshowintersitial and that only displays sometimes. Is there any way to use the other java method to launch the intersitial (always) so i can set it when user press the back or exit buttons?. Just wanted to confirm.

Also Bill, thanks again for the awesome job you did with your libraries and from your blog. I am getting wonderful results from it.

Thanks !!

nad
 
Last edited:

ssg

Well-Known Member
Licensed User
Longtime User
Hi nad,

You're welcome :D And thanks for following up on the blog. :D

Your reasoning is correct.

ShowInterstitial is showing the "Maybe" type. The other option actually launches the offer wall. Currently there is no option in the library to show the other type of interstitial, I will try to update the library soon with that option in it. Especially now that you've mentioned it has a 10x return :D

Cheers!
-Bill
 

nad

Active Member
Licensed User
Longtime User
hehehe yes that would be incredible !! :) Definetely i am your fan number1 ;-)

Thanks a lot ssg.

Cheers

nad
 

ssg

Well-Known Member
Licensed User
Longtime User
Dear fan number1,

Library version 1.1 added to first page. Have fun!

Basically the always show interstitial is equivalent to adding your pop-up on back button press. It is just that the default AppBrain screen is shown.

If you are already prompting a user on back button press, then I am not too sure you'll get that 10x increment. Lets have a look...

Cheers!
-Bill
 

nad

Active Member
Licensed User
Longtime User
Great Job Bill.

One of the good points of using the intersitial to launch the offerwall is that the text is in the client mobile language, not always hardcoded (at least for me is appearing in my own language).
Also that as appbrain finds another method with more clickthrough they will implement it easily even doing different messages for different zones or users automagically.

I am implementing as follows:

Sub Activity_KeyPress (KeyCode As Int) As Boolean 'return true if you want to consume the event
If KeyCode = KeyCodes.KEYCODE_BACK Then
ab.alwaysShowInterstitial
End If

Return False

End Sub

Anyway all this is just a theory. I will let you know how comes. I will update a couple apps now to check during the next days.

Thanks a lot Bill!! :sign0098:
 

ssg

Well-Known Member
Licensed User
Longtime User
Hi nad,

Thanks for the info, did not know about the translation.

And LOL on "automagic"!

I would recommend your implementation style, seems to work pretty well..

Cheers!
-Bill
 

susu

Well-Known Member
Licensed User
Longtime User
Interstitial is still English not my language :( May I contact AppBrain to ask them to translate it?
 

squaremation

Active Member
Licensed User
Longtime User
dose the library support the AppLift remote settings?...

.
 

nad

Active Member
Licensed User
Longtime User
Not at the moment and it would be great.
You can add "Parse" so your app checks for some info or value on a table in the cloud at startup and do something depending on the value.


Cheers,
 
Last edited:

nad

Active Member
Licensed User
Longtime User
AppBrain has released a new SDK. They now support normal banners and in top of that it is possible to include the banners in admob mediation.

Wouldn't be be great if we could have an updated wrapper?

Where are you admaster ssg?? :)

Thanks a lot as always

Cheers
 

ssg

Well-Known Member
Licensed User
Longtime User
taking a vacation nad... LOL!

I am not sure if I will be looking into this anytime soon I'm afraid. Not having the time capacity. I will give it a try once I get the chance.

As for mediation via admob, I am not sure if the current library supports mediation already. Mediation of this library would probably need changes or addition on admob side, not on AppBrain's library.

Will keep you posted of any updates on the library from me.

Humble apologies from me :)

Cheers!
 

MaxApps

Active Member
Licensed User
Longtime User
Hi SSG

Any chance of an update, with banner support?
AppBrain is the best ad income, at the moment and I would like to see if their banners can further increase it.

Kind regards
Jakob
 

ssg

Well-Known Member
Licensed User
Longtime User
Calling nad!

Dude, I think I saw you mentioning you've managed to add appbrain banner to admob mediation in another forum.

If you have managed to do it, could you please share your steps here?

Mucho gracias!
 

nad

Active Member
Licensed User
Longtime User
Sorry for replying you so late Bill,

I Missed your question on this thread. Have just seen it.

What i did was update admob library and admob sdk to latest version. I managed to get it working just with those two libraries, the usual admob and the usual appbrain both latest version. I did not create a wrapper for a mediation adaptor or anything

Just make sure you have in b4a selected both admob and appbrain as usual, e.g. to have an admob banner and a appbrain interstitial working.

After that from AdMob Mediation menu "Ad Network Mediation", added a "New Network Mediatin Placement"

In Placement Details I added a Name (the App name), Android as platform, 320x50 and refresh of 60

After Saving & Continuing I Added two types of networks:

1.- AdMob Network (in this one I added the normal publisher id you have already for your app)
2.- AppLift Banner (Custom Event) with the following options:

For Class Name I wrote

com.appbrain.mediation.AdmobAdapter

It is recommended from what i understood to set to "no refresh" the normal admob placement. If you don't do that you will get a 60sec refresh (from mediation) for admob and the same for applift banner, PLUS the refresh you already have configured in your own AdMob placement, so it might get confusing specially if you are using ecpm as method to choose between the two networks.

In your code change the publisher if you get from mediation instead of the one from the normal admob ad.

After you have done all those steps, just make sure your app is already using the appbrain library (like if you were using an interstitial, I used both banners and interstitial). I did not manage to get applift banners without using the standard interstitial.

After maybe 10 minutes you will start receiving ads from both networks, disable one or the other to make sure you are getting both.

I tried using ecpm as method to choose which network will show the ad, and for some apps it worked better than just using admob. If you want to measure the performance of the change you might want to analyze also the impact of the applift banners on the number of clicks you get from the interstitial. I got the impression that people receiving the banner offering new apps from appbrain were less likely to click on the insterstitial when leaving the app, but maybe i am wrong.

Cheers, please let us know what you think about it.

nad
 
Top