Admob Vungle mediation - VungleManager: At least one placement should be specified

328 views
Skip to first unread message

Jason Tai

unread,
Nov 10, 2017, 4:04:41 PM11/10/17
to Google Mobile Ads SDK Developers
Hi there,
    Can seem to be able to load ads from Vungle. Log complains about placement id...

    Mediation from unity, chartboost, adlovin was fine though.

    What I did wrong?

* Android Log:
I/Ads: Instantiating mediation adapter: com.vungle.mediation.VungleInterstitialAdapter
W/Ads: Server parameters: {"appid":"5a04417911b281c604001602","gwhirl_share_location":"1","placementID":"NEXTGAM71067"}
E/VungleManager: At least one placement should be specified! 

     and...

W/Ads: Server parameters: {"appid":"5a04417911b281c604001602","gwhirl_share_location":"1","placementID":"TOPUPPO70720"}
11-11 04:44:16.177 14386-14386/com.reai.concraft.hongkong E/VungleManager: At least one placement should be specified!

* Gradle:

    implementation('com.vungle:publisher-sdk-android:5.3.0@aar') {
transitive=true
}
implementation 'com.google.ads.mediation:vungle:5.3.0.0'

* Java: (with or without => same problem)

String[] placements = new String[2];
placements[0] = "NEXTGAM71067";
placements[1] = "TOPUPPO70720";
Bundle extras = new VungleExtrasBuilder(placements).build();
AdRequest request =  new AdRequest.Builder()
   .addNetworkExtrasBundle(VungleAdapter.class, extras)
   .build();


Joshua Lagonera (Mobile Ads SDK Team)

unread,
Nov 13, 2017, 12:40:30 AM11/13/17
to Google Mobile Ads SDK Developers
Hi Jason,

Thanks for providing me your code snippets. It is very interesting to note that your implementation is correct since it is based on our official Mediation Guide for Vungle, and the logs clearly state that a placement ID was specified.

Would you be able to provide to us a sample project where this issue can be observed? Kindly provide it to us using the Reply Privately to Author option.

Regards,
Joshua Lagonera
Mobile Ads SDK Team

Joshua Lagonera (Mobile Ads SDK Team)

unread,
Nov 21, 2017, 11:03:50 PM11/21/17
to Google Mobile Ads SDK Developers
Hi Jason,

Thank you for your patience regarding this issue.

The team just got back to me with their feedback. When adding the Vungle Network Extras in your Ad Request via the AdRequest.Builder().addNetworkExtrasBundle() method, the VungleAdapter.class is actually the Rewarded Video Adapter and not the Interstitial Adapter. Seeing as your logs indicate that you are requesting for an Interstitial, you can use VungleInterstitialAdapter.class as shown below:

String[] placements = new String[2];
placements[0] = "PLACEMENT_1";
placements[1] = "PLACEMENT_2";
Bundle extras = new VungleExtrasBuilder(placements).build(); 
AdRequest request = new AdRequest.Builder()
          .addNetworkExtrasBundle(VungleInterstitialAdapter.class, extras)
          .build();

The team also mentioned that the documentation will be updated to add the clarification shown above. However, we are not able to say when this will be implemented.

Let me know if this works for you. 

Regards,
Joshua Lagonera
Mobile Ads SDK Team

On Saturday, November 11, 2017 at 5:04:41 AM UTC+8, Jason Tai wrote:

Jason Tai

unread,
Dec 7, 2017, 2:32:53 AM12/7/17
to Google Mobile Ads SDK Developers
Sorry for the late late reply...working on other stuff.

Yes it worked, both interstitials and rewarded videos.

Thanks for the help Josh.

BUT...

On rewarded videos, there is a null pointer exception shown on log although things look perfect from user's point of view.

Here's a snippet:

12-07 15:27:39.638 514-23747/? I/OMX-VDEC-1080P: component_init: OMX.qcom.video.decoder.avc : fd=51
12-07 15:27:39.638 514-23747/? I/OMX-VDEC-1080P: Capabilities: driver_name = msm_vidc_driver, card = msm_vdec_8974, bus_info = , version = 1, capabilities = 4003000
12-07 15:27:39.644 514-23747/? I/OMX-VDEC-1080P: Enabling default extradata for OMX.qcom.video.decoder.avc
12-07 15:27:39.652 514-23747/? I/OMX-VDEC-1080P: omx_vdec::component_init() success : fd=51
12-07 15:27:39.654 514-23746/? I/MediaCodec: [OMX.qcom.video.decoder.avc] setting surface generation to 526463
12-07 15:27:39.656 514-23747/? E/OMX-VDEC-1080P: Extension: OMX.google.android.index.storeANWBufferInMetadata not implemented
12-07 15:27:39.659 514-3027/? D/audio_hw_primary: out_set_parameters: enter: usecase(1: low-latency-playback) kvpairs: routing=2
12-07 15:27:39.659 514-23735/? D/NuPlayerDriver: notifyListener_l(0xf2eb61e0), (6, 0, 0)
12-07 15:27:39.667 514-23746/? I/MediaCodec: MediaCodec will operate in async mode
12-07 15:27:39.673 514-3027/? D/audio_hw_primary: select_devices: out_snd_device(2: speaker) in_snd_device(0: none)
12-07 15:27:39.673 514-3027/? D/msm8974_platform: platform_send_audio_calibration: sending audio calibration for snd_device(2) acdb_id(15)
12-07 15:27:39.673 514-3027/? I/soundtrigger: audio_extn_sound_trigger_update_device_status: device 0x2 of type 0 for Event 1
12-07 15:27:39.685 514-23747/? D/SurfaceUtils: set up nativeWindow 0xee187b08 for 720x1280, color 0x7fa30c04, rotation 0, usage 0x42002900
12-07 15:27:39.691 514-3027/? D/audio_hw_primary: enable_snd_device: snd_device(2: speaker)
12-07 15:27:39.693 514-3027/? D/audio_hw_primary: enable_audio_route: apply and update mixer path: low-latency-playback speaker
12-07 15:27:39.713 514-23747/? D/SurfaceUtils: set up nativeWindow 0xee187b08 for 720x1280, color 0x7fa30c04, rotation 0, usage 0x42002900
12-07 15:27:39.736 514-23735/? D/NuPlayerDriver: notifyListener_l(0xf2eb61e0), (5, 720, 1280)
12-07 15:27:39.736 514-23735/? D/NuPlayerDriver: notifyListener_l(0xf2eb61e0), (200, 3, 0)
12-07 15:27:39.736 23487-23499/? W/MediaPlayer: info/warning (3, 0)
12-07 15:27:39.944 23487-23755/? I/Ad Lifecycle: ad observable onNext
12-07 15:27:39.954 23487-23619/? E/VungleAsync: error executing {PriorityRunnable:: taskType: otherTask, repeatMillis: -1}
                                                java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.Boolean.booleanValue()' on a null object reference
                                                    at com.vungle.publisher.jm$a.a(vungle:309)
                                                    at com.vungle.publisher.jm$a.a(vungle:229)
                                                    at com.vungle.publisher.do$a.b(vungle:441)
                                                    at com.vungle.publisher.do$a.a(vungle:430)
                                                    at com.vungle.publisher.do$a.b(vungle:424)
                                                    at com.vungle.publisher.do$a.a(vungle:365)
                                                    at com.vungle.publisher.do$a.a(vungle:352)
                                                    at com.vungle.publisher.do$a.c(vungle:459)
                                                    at com.vungle.publisher.ea.b(vungle:141)
                                                    at com.vungle.publisher.ea$b$3.a(vungle:221)
                                                    at com.vungle.publisher.ea$b$a.a(vungle:309)
                                                    at com.vungle.publisher.ea$b.a(vungle:223)
                                                    at com.vungle.publisher.c.c(vungle:347)
                                                    at com.vungle.publisher.e.run(Unknown Source)
                                                    at com.vungle.publisher.bv$a$a.run(vungle:250)
                                                    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
                                                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
                                                    at java.lang.Thread.run(Thread.java:818)
12-07 15:27:39.959 23487-23755/? I/Ad Lifecycle: ad observable onComplete
12-07 15:27:41.330 916-3420/? D/ConnectivityService: updateNetworkScore for NetworkAgentInfo [WIFI () - 125] to 60
12-07 15:27:41.544 916-934/? I/art: Starting a blocking GC Explicit
12-07 15:27:41.732 916-934/? I/art: Explicit concurrent mark sweep GC freed 15503(1043KB) AllocSpace objects, 5(192KB) LOS objects, 26% free, 44MB/60MB, paused 1.109ms total 187.195ms
12-07 15:27:47.379 916-3420/? D/ConnectivityService: updateNetworkScore for NetworkAgentInfo [WIFI () - 125] to 56
12-07 15:27:48.669 22650-22650/? I/ServiceManager: Waiting for service AtCmdFwd...
12-07 15:27:49.669 22650-22650/? I/ServiceManager: Waiting for service AtCmdFwd...
12-07 15:27:50.401 916-3420/? D/ConnectivityService: notifyType CAP_CHANGED for NetworkAgentInfo [WIFI () - 125]
12-07 15:27:50.670 22650-22650/? I/ServiceManager: Waiting for service AtCmdFwd...
12-07 15:27:51.302 514-30119/? D/NuPlayerDriver: notifyListener_l(0xf2eb61e0), (7, 0, 0)

------ end log -------

Joshua Lagonera (Mobile Ads SDK Team)

unread,
Dec 7, 2017, 4:08:27 AM12/7/17
to Google Mobile Ads SDK Developers
Hi Jason,

I'm glad to hear that you were able to resolve the previous issue.

As for your new concern, the stack trace seems to be coming from the Vungle SDK and not from the Mobile Ads SDK. I would suggest that you contact Vungle's Support Team for further assistance on this.

Regards,
Joshua Lagonera
Mobile Ads SDK Team

Reply all
Reply to author
Forward
0 new messages