B4A Library AppLovin Ads - Social Advertising

Hi folks,

I present you the AppLovin ad library. This ad type is very new on the scene, and it adds a social element to your ads. It also promises (and I've tested it to be true) a higher eCPM compared to others like Admob and Mobfox.

More details:
http://www.applovin.com/

Here are the manifest requirements:

B4X:
<!-- AppLovin API key. Could be obtained from AppLovin management console -->
        <meta-data
            android:name="applovin.sdk.key"
            android:value="<your key from dashboard here>" />
<!-- This flag enables verbose logging of AppLovin SDK -->
        <meta-data
            android:name="applovin.sdk.verbose_logging"
            android:value="true" />

        
        <service android:name="com.applovin.sdk.AppLovinService" >
            <intent-filter>
                <action android:name="com.applovin.sdk.AppLovinService" />
            </intent-filter>
        </service>

Permissions:

B4X:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
   
      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
   <uses-permission android:name="android.permission.READ_CONTACTS"/>

**Read contacts permission is optional, but having it in will show you the social ads, otherwise you get non-social ads.

You can create banner ads or interstitial ads. For interstitial, you will need to handle the ad closed event thing. And look at addisplayed event before showing your ads.

I have not truly tested the interstitials much, better thoroughly test it out.

Banners are fine, add as a new view to your panel or activity like you do for Admob.

Attached library includes the dummy xml file for those who work the "classic" way, or for those who have B4A versions prior to 1.8.

Do note that i've noticed the ads are mainly cpa type, meaning, people will need to download the apps advertised before you get your revenue.

Give it a go!

Any questions, ask away.

Cheers!
-Bill
 

Attachments

  • MESAppLovin.zip
    4.6 KB · Views: 446

ssg

Well-Known Member
Licensed User
Longtime User
Thanks man. Do you use both interstitials and banners in the same app? Also which permissions have you enabled in the Manifest file for Applovin ads?

Yes, I use both banner and interstitials in same apps.

I use interstitials when user goes from in-game screen back to menu screen.

As for permissions, much has changed with AppLovin, that the "sensitive" permissions are no longer required.

All my apps only use the standard permissions now:

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

Inman

Well-Known Member
Licensed User
Longtime User
That is great. I will switch to interstitials in the next update.
 

Inman

Well-Known Member
Licensed User
Longtime User
Have you seen the new targeting options for Applovin SDK? Any plans to add it to your library?
 

Inman

Well-Known Member
Licensed User
Longtime User

Attachments

  • AppLovin Ad Interface.jpeg
    AppLovin Ad Interface.jpeg
    33.2 KB · Views: 165

ssg

Well-Known Member
Licensed User
Longtime User
No plans for me to update with that I'm afraid.

I have not seen any improvement in ad revenues by adding, for example location permissions or any such, probably due to my apps being more globalised.

I don't think these extra options benefit us for now... too little really ads that use these features.

Maybe in the near future, or if I have some free time, I'll try to get them in... no promises :p
 

MaxApps

Active Member
Licensed User
Longtime User
Hi SSG

I tried your interstitial example, but cannot get it to work.
Even when I can see, that an ad is loaded, the activity closes down.
I found out, that it get the adhidden from the listener.

Any ideas?

Kind regards
Jakob
 

ssg

Well-Known Member
Licensed User
Longtime User
Hi Jakob,

That is strange. Are you able to create a new project with this and post it on the forum here?

Remove your AppLovin key from the generated manifest.

Cheers!
 

MaxApps

Active Member
Licensed User
Longtime User
Here is an example.
1st time you press the button, it will return "adhidden" and thereafter it will work, but once in a while it will again get "adhidden".

Kind regards
Jakob
 

Attachments

  • apltest.zip
    2.9 KB · Views: 165

ssg

Well-Known Member
Licensed User
Longtime User
Hi Jakob,

It looks like the applovin view is timing out or something, which causes the "hidden" logic to fire.

If you add a banner to your main activity, then the clicking of the button shows the view correctly.

You might need to bring this up with AppLovin's technical support if the addition of banner on main activity is not suitable for your approach. Hope they can give some suggestion on it.
 

MaxApps

Active Member
Licensed User
Longtime User
OK. Thanks.
I will ask them.
I am using their interstitial, between puzzles, in a jigsaw puzzle game, so a banner will not be sufficient.
Can you recommend interstitial from another ad provider?

Kind regards
Jakob
 

ssg

Well-Known Member
Licensed User
Longtime User
What about showing their banner once on your main menu screen? It looks like as long as the banner is called at least once, the following calls are fine.

I am not using any other interstitials for now. What about airpush smartwall? If your app is kids oriented though, then airpush ads won't be suitable.
 

MaxApps

Active Member
Licensed User
Longtime User
I will try 1 banner on main screen, for kid puzzles and Airpush for the others.
I have never tried Airpush. Maybe its time to compare them with Leadbolt. It just seems like their notification ads do not fully comply with Google Play rules. Some of their text lines are too long, so you cannot see which app the ad comes from.
But maybe their banners and walls can do wonders :)

Kind regards
Jakob
 

AppLovin

Member
Licensed User
Longtime User
No plans for me to update with that I'm afraid.

I have not seen any improvement in ad revenues by adding, for example location permissions or any such, probably due to my apps being more globalised.

I don't think these extra options benefit us for now... too little really ads that use these features.

Maybe in the near future, or if I have some free time, I'll try to get them in... no promises :p

Just wanted to give you a little additional color over here. Basically, we're asking for some of this detail so that over time we can bring in higher value campaigns from brands, agencies, etc.. So you may not see an immediate lift by adding them today. However, over time it will contribute to a significant lift in eCPM's. Any questions, please email me direct at [email protected].

Thanks!
 

Inman

Well-Known Member
Licensed User
Longtime User
Will it be possible to add Visible property to Applovin Adview? I want to toggle the visibility if the ad is not available for a user.
 

susu

Well-Known Member
Licensed User
Longtime User
Will it be possible to add Visible property to Applovin Adview? I want to toggle the visibility if the ad is not available for a user.

Why don't you add Adview to a Panel, if the ad is not available you can remove that Panel.
 

Inman

Well-Known Member
Licensed User
Longtime User
Why don't you add Adview to a Panel, if the ad is not available you can remove that Panel.

Yea that is what I am doing now, although I would prefer to avoid all extra views possible due to the memory intensive nature of the app I am working on.
 

ykucuk

Well-Known Member
Licensed User
Longtime User
hello,

it works with banner with below code;
ALAdView.InitBanner()
Activity.AddView(ALAdView, 0dip, 0dip, Activity.width, Activity.Height )
ALAdView.LoadNextAd()

unfortunally it doesnt work Interstitial mode with below code. Only black screen

ALAdView.ShowInterstitial()

any help ?
 

Stulish

Active Member
Licensed User
Longtime User
I use a seperate activity called MESap to show the interstitial:

B4X:
#Region  Activity Attributes
    #FullScreen: False
    #IncludeTitle: True
#End Region
#Region Module Attributes
    #FullScreen: True
    #IncludeTitle: False
#End Region
'Activity module
Sub Process_Globals
    'These global variables will be declared once when the application starts.
    'These variables can be accessed from all modules.
End Sub
Sub Globals
    Dim aps As MESAppLovin
End Sub
Sub Activity_Create(FirstTime As Boolean)
    'ToastMessageShow("please wait...", False)
    aps.initialise(True, "aps")
    Activity.AddView(aps, 0, 0, 100%x, 100%y)
    aps.loadNextAd  
End Sub
Sub aps_AdReceived
End Sub
Sub aps_FailedToReceiveAd
    Activity.Finish
End Sub
Sub aps_AdHidden
    Activity.Finish
End Sub

then call:

B4X:
StartActivity(MESap)

from the main activity for a full screen graphical interstitial

hope this helps

Stu
 
Top