Could not instantiate mediation adapter: com.google.ads.mediation.appfireworks.AppfireworksAdapter

2,697 views
Skip to first unread message

Adam J

unread,
Mar 23, 2015, 12:35:29 PM3/23/15
to google-adm...@googlegroups.com
I am trying to set up Admob mediation with Leadbolt. I have imported the jars and made the addition in manifest but I get the the following logs when trying to load an ad.

 I/Ads(10080): Trying mediation network: 2xxxxxxxxxxxxxxxxx5
 I/Ads(10080): Instantiating mediation adapter: com.google.ads.mediation.appfireworks.AppfireworksAdapter
 W/Ads(10080): Could not instantiate mediation adapter: com.google.ads.mediation.appfireworks.AppfireworksAdapter. com.google.ads.mediation.appfireworks.AppfireworksAdapter
 I/Ads(10080): Trying mediation network: 5xxxxxxxxxxxxxxxxx5
 I/Ads(10080): Instantiating mediation adapter: com.google.ads.mediation.admob.AdMobAdapter
...
And then the Admob ad loads successfully.

Any ideas?

Andrew Brogdon (Mobile Ads SDK Team)

unread,
Mar 23, 2015, 3:00:40 PM3/23/15
to google-adm...@googlegroups.com
The "Could not instantiate..." message is generated by the SDK when it is unable to create a new instance of the mediation adapter.  This is almost always due to the class not being accessible to the SDK.  I would double check that both the adapter and SDK for the mediation network have been included in the project correctly. If that checks out, I would use something like dexdump to make sure that the classes definitely made it into the final APK file.

-Andrew

Adam J

unread,
Mar 23, 2015, 4:16:42 PM3/23/15
to google-adm...@googlegroups.com
The SDK (package com.appfireworks.android) and the adaptor (package com.appfireworks.admob) are indeed added correctly and present in the final APK (I decompiled and checked). Also com.leadbolt.admob and com.<random-string> are present as I added those jars as well, just in case. The logs however, does not mention these package names but com.google.ads.mediation.appfireworks.AppfireworksAdapter. I have the Google Play Services library referenced by the project.

Andrew Brogdon (Mobile Ads SDK Team)

unread,
Mar 23, 2015, 5:08:40 PM3/23/15
to google-adm...@googlegroups.com
After talking things over with one of the engineers who's worked with Leadbolt before, I have a handle on what's going on. 

There are two different ways for AdMob to mediate to third-party networks.  One is used by companies that haven't yet become official mediation partners, and another is used by those who have.  Leadbolt recently became a partner, which means their adapter needed to change from one architecture to the other.  It's not a big alteration, but it does affect the package names.

It looks like the adapter you have is built for the old architecture, which means it's not going to work going forward. Leadbolt should have a new one available for download (look for their entry on our mediation networks page). I believe that once you have the correct version of the adapter, you can simply import it and be good to go.

I did a little poking around their site, and I can see that some of the documentation is still steering people to the old adapter (http://help.leadbolt.com/frameworks-using-admob/, for instance), so I'm going to contact our mediation support team and let them know.

-Andrew

Adam J

unread,
Mar 23, 2015, 5:50:32 PM3/23/15
to google-adm...@googlegroups.com
I am aware of the two ways of mediation and that Leadbolt recently became a partner. My account manager at Leadbolt told me to follow this guide. I believe I am using the new adapter with file name AdmobAppfirework.jar which I found on their site. I have also tried the other (older?) adapter with the file name LeadBoltAdMob.jar. I have mentioned the package names of both of these in my previous post. I have tried them individually and together, but to no avail. Also, I found two different versions of the the SDK Appfireworks.jar (different file size) and I tried them both. I cannot find any other adapter so can something else be wrong here?

Andrew Brogdon (Mobile Ads SDK Team)

unread,
Mar 23, 2015, 8:24:12 PM3/23/15
to google-adm...@googlegroups.com
Hmm. Those instructions look correct. I double-checked our stuff to make sure, and "com.google.ads.mediation.appfireworks.AppfireworksAdapter" is definitely the correct current adapter class.  Do you see that package and class nameanywhere in the jars with which you've been provided?

SuperSonic Apps

unread,
Mar 24, 2015, 10:33:06 AM3/24/15
to google-adm...@googlegroups.com
No, I do not see that package name anywhere in the provided jars. I have already mentioned the package names found in those jars.

I could find "com.google.ads.mediation" in the Google Play Services jar (in Google Play Services library project). However, there is no appfireworks.AppfireworksAdapter in there.

I am attaching the jars, so that you can have a look.


--

---
You received this message because you are subscribed to a topic in the Google Groups "Google Mobile Ads SDK Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-admob-ads-sdk/Xph21Z5SRZQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-admob-ads...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

AdmobAppfirework.jar
AppFireworks.jar

Andrew Brogdon (Mobile Ads SDK Team)

unread,
Mar 24, 2015, 2:19:38 PM3/24/15
to google-adm...@googlegroups.com
You're right -- the correct package name does not appear anywhere in those jar files. You must have received an out of date copy of the adapter, and there isn't a way to get mediation working with that file. I know that Leadbolt has a newer version of the adapter that contains the correct classes, so they should be able to provide it to you. I would imagine the account manager you mentioned above can take care of it.

If they have any questions, they're free to contact our mediation partner support.  I know that our team spoke with them yesterday and brought up your situation.

-Andrew


On Tuesday, March 24, 2015 at 7:33:06 AM UTC-7, Adam J wrote:
No, I do not see that package name anywhere in the provided jars. I have already mentioned the package names found in those jars.

I could find "com.google.ads.mediation" in the Google Play Services jar (in Google Play Services library project). However, there is no appfireworks.AppfireworksAdapter in there.

I am attaching the jars, so that you can have a look.

To unsubscribe from this group and all its topics, send an email to google-admob-ads-sdk+unsub...@googlegroups.com.

Adam J

unread,
Mar 26, 2015, 8:37:03 AM3/26/15
to google-adm...@googlegroups.com
Thank you for all the help. Got the correct adapter from my account manager and it seems to be working now.

Unfortunately, most of the times, I get no fill from leadbolt. I've managed to get leadbolt ads only 3 times out of many tries at different times. There are no logs indicating the reason, it simply tries admob network after instantiating leadbolt adapter ("once" got a log stating timeout while instantiating). What are the possible reasons (i can see that leadbolt does have inventory to serve thanks to direct deals) and why is nothing logged? Shouldn't there be a log indicating the reason for failover so that I can be sure that it is due to "no fill from the ad server" and not any other issue?

Andrew Brogdon (Mobile Ads SDK Team)

unread,
Mar 26, 2015, 1:18:23 PM3/26/15
to google-adm...@googlegroups.com
"What are the possible reasons (i can see that leadbolt does have inventory to serve thanks to direct deals) and why is nothing logged? Shouldn't there be a log indicating the reason for failover so that I can be sure that it is due to "no fill from the ad server" and not any other issue?"

I'm glad we were able to help get you to the right adapter. Unfortunately, though, I'm not able to answer either of these questions for you.

Our SDK tries to provide as much flexibility as possible to the adapters. We ask them to make a request with certain parameters defined in your mediation settings, and then just sit back and wait for the adapter to tell use how things went. This gives the mediation networks the freedom needed to make the code work to their specifics, but it also means that they have the responsibility for handling all the steps between receiving the parameters and returning a result, logging included.

I hate to just point you back to Leadbolt, but this is an issue you'll need to take up with them. The logging would have to come either from their SDK or their adapter. Our SDK just doesn't receive that level of detail.

-Andrew

SuperSonic Apps

unread,
Mar 27, 2015, 3:32:36 AM3/27/15
to google-adm...@googlegroups.com
Asking them to modify their SDK or adapter to print logs is something that will take a while provided that they are willing in the first place. Nevertheless, I have conveyed the issue to them.

Meanwhile, I was able to capture timeout log.
I/Ads(18644): Trying mediation network: 2xxxxxxxxxxxxxxxxx5
I/Ads(18644): Instantiating mediation adapter: com.google.ads.mediation.appfireworks.AppfireworksAdapter
I/Ads(18644): Timed out waiting for adapter.
I/Ads(18644): Trying mediation network: 5xxxxxxxxxxxxxxxxx5
I/Ads(18644): Instantiating mediation adapter: com.google.ads.mediation.admob.AdMobAdapter
What could this mean?

--

Andrew Brogdon (Mobile Ads SDK Team)

unread,
Mar 27, 2015, 1:20:01 PM3/27/15
to google-adm...@googlegroups.com
That's the message we print when we ask an adapter for an ad and it doesn't respond to us in time. Adapters are instantiated and invoked serially by our SDK, based on the mediation stack you set up for your ad unit. Each one is given a set length of time to respond before we give up and move on to the next one.

If you're seeing that message, it means our async call into the adapter to fetch an ad failed to return within the allotted time. It's expected to happen every now and then due to network issues or what have you, but if it's firing every time, something's definitely off. Without knowing much about how Loadbolt's endpoints work, I'm not sure what the problem might be, but you could fire up a proxy like Charles Proxy or Fiddler and take a look at what's going out from your device. There should, at the very least, be some kind of request going from their SDK to their servers.

-Andrew


On Friday, March 27, 2015 at 12:32:36 AM UTC-7, Adam J wrote:
Asking them to modify their SDK or adapter to print logs is something that will take a while provided that they are willing in the first place. Nevertheless, I have conveyed the issue to them.

Meanwhile, I was able to capture timeout log.
I/Ads(18644): Trying mediation network: 2xxxxxxxxxxxxxxxxx5
I/Ads(18644): Instantiating mediation adapter: com.google.ads.mediation.appfireworks.AppfireworksAdapter
I/Ads(18644): Timed out waiting for adapter.
I/Ads(18644): Trying mediation network: 5xxxxxxxxxxxxxxxxx5
I/Ads(18644): Instantiating mediation adapter: com.google.ads.mediation.admob.AdMobAdapter
What could this mean?

Abhishek Verma

unread,
Apr 3, 2015, 2:54:05 AM4/3/15
to google-adm...@googlegroups.com
@Adam J. Can you please share the Correct Adapter.

Abhishek Verma

unread,
Apr 3, 2015, 2:59:42 AM4/3/15
to google-adm...@googlegroups.com
Did Anybody Find Any solution regarding this.
Also, i have integrated Leadbolt with Admob Mediation.
i have attached leadboltadmob.jar , appfireworks.jar, Appfireworkdsadmob.jar , None of them contains  com.google.ads.mediation.appfireworks.AppfireworksAdapter.
Please provide a solution.
Screen Shot 2015-04-03 at 12.25.14 pm.png

SuperSonic Apps

unread,
Apr 3, 2015, 6:04:03 AM4/3/15
to google-adm...@googlegroups.com
Find the working adapter attached. My experience with leadbolt was not great. They told me to test by clicking the ad once and on their instruction I actually installed an CPI app. But their dashboard reported no install or revenue. They have since assured me that they are looking into that matter and cannot think of how this could have happened. They said that they are taking it seriously and that a guy will be conducting an investigation, I gave them them details they asked. I haven't heard from them since. Nevertheless, I have set to it at number two in my mediation stack after admob and it is giving very low fill rate (that's when the admob fails to fill so I don't blame them much). Not a cent earned yet. I think it might work better if some real traffic is allocated to it but I won't be doing that unless they restore my broken trust in them.
Let me know how it goes for you.

@Andrew, Admob did not report any click for Leadbolt in the Ad Mediation report while leadbolt did report them. And I know for sure that those two clicks were made. Something is not working right here...

--

---

appfireworks_android_sdk_admob_v1.0.zip
Message has been deleted

Adam J

unread,
Apr 5, 2015, 5:55:41 AM4/5/15
to google-adm...@googlegroups.com
I confirm that admob cannot count the number of click for leadbolt. Hence, the ad mediation report of admob will never show any clicks for leadbolt. I tested will significant traffic.

I also confirm that leadbolt does not count any installs(atleast when used with admob mediation), again I have tested with significant traffic. I have wrote to leadbolt regarding this and await their response.

I request anybody reading this to share their experience.
Reply all
Reply to author
Forward
0 new messages