Android Question Yodo1 MAS integration for monetization

Erel

B4X founder
Staff member
Licensed User
Longtime User
From a quick look, you need to follow FirebaseAdMob instructions and add something like:
B4X:
Dim ctxt As JavaObject
ctxt.InitializeContext
Dim Yodo As JavaObject
Yodi.InitializeStatic("com.yodo1.advert.Yodo1Advert").RunMethod("initSDK", Array(ctxt, "Your appkey"))
Get it working and we can continue with the next step.

You should also download the jar or aar and add it with #AdditionalJar.

 
Upvote 0

WebQuest

Active Member
Licensed User
Hi Erel I tried your code. The app compiles but I get an error on launch. I added my app in the playstore to MAS of yodo1 and obtained it by receiving the AppKey. I added the file.aar. I have enabled my test device in MAS. I think the code is missing in the ManifestEditor, I don't understand with which tag I have to add the code provided by the yodo1 guide.

java.lang.ClassNotFoundException: com$yodo1$advert$Yodo1Advert
at anywheresoftware.b4j.object.JavaObject.getCorrectClassName(JavaObject.java:288)
at anywheresoftware.b4j.object.JavaObject.InitializeStatic(JavaObject.java:74)...
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
I think the code is missing in the ManifestEditor
Not related to this error.

Based on the error the class name is incorrect (the full class name is missing from their documentation).

Try this:
B4X:
Yodi.InitializeStatic("com.yodo1.advert.open.Yodo1Advert").RunMethod("initSDK", Array(ctxt, "Your appkey"))
 
Upvote 0

WebQuest

Active Member
Licensed User
Sorry I'm late but I've been busy. I also tried the last solution it compiles but on startup I got this error:

java.lang.NullPointerException: Attempt to invoke virtual method 'javax.net.ssl.SSLSocketFactory com.yodo1.nohttp.h.l()' on a null object reference
at com.yodo1.nohttp.a.<init>(BasicRequest.java:29)
at com.yodo1.nohttp.rest.e.<init>(Request.java:1)
at com.yodo1.nohttp.rest.k.<init>(StringRequest.java:2)
at com.yodo1.nohttp.l.b(NoHttp.java:3)
at com.yodo1.android.ops.net.d.a(Yodo1HttpManage.java:16)
at com.yodo1.android.ops.net.d.a(Yodo1HttpManage.java:14)
at com.yodo1.onlineconfig.b$a.run(Yodo1OnlineConfig.java:14)
at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:784)
 
Upvote 0

WebQuest

Active Member
Licensed User
Hi, yes I have tried several solutions but it seems that for now we cannot interface with b4a. It seems that the SDK can only be integrated with AndroidStudio pertamente for java. I think we need someone experienced here like Erel etc .. who work on an internal library at b4a. I have little experience with libraries even if I know a bit of java I can't interface well with b4a.
 
Upvote 0

WebQuest

Active Member
Licensed User
I want to confess that currently my apps published on playstore currently no longer display banners with Admob and I don't know why. Even when I try to create a new app I can't integrate the banners anymore. I know the procedure of inserting by heart but for some time I have been receiving absurd errors. Later I was contacted by Yodo1 and here I am.
 
Upvote 0

TheRnker

Member
My admob is under review since more than a year now and Google just doesnt respond. I use AppBrain which is Ok but not as good as Admob. Tried AdColony as well but unless your installs in thousands everyday it is not great. Got contacted by Yodo1 and wanted to check out as well
 
Upvote 0

WebQuest

Active Member
Licensed User
We should open a new trend to talk about Admob but I end up like this, I believe that Google is limiting the banners due to the very influx of Apps. I think it is for an economic issue. They pay too many developers for banners and have little return. I had a meeting with a Yodo1 operator, their intention is to enter the European market as Yodo1 is a store that is widespread in China, Russia and India. We who use B4x products have to adapt to the standard (Java) otherwise we remain behind.
 
Upvote 0
Top