AdMob Android adapter 6.9.1.0 兼容 Vungle Android SDK 6.9.1 且与Google Android SDK 19.6.0测试通过。 请查看文档 Integrating Vungle with Mediation来获取更多信息。
下载 AdMob Android Adapter v6.9.1.0 和 Vungle Android SDK 6.9.1并手动集成到您的应用中。
implementation 'com.vungle:publisher-sdk-android:6.9.1'
有关Android Studio集成和手动集成的说明,请参见AdMob的集成指南“第3步:导入Vungle SDK和适配器”, https://developers.google.com/admob/android/mediation/vungle#step_3_import_the_vungle_sdk_and_adapter。
如果您使用的是Google Mobile Ads SDK且更新到Vungle Android SDK V6,则必须使用Google Play Services Ads 12.0.0或更高版本,因为我们已经加入了onRewardedVideoCompleted()
回调方法RewardedVideoAdListener
。有关更多信息,请参阅Google Mobile Ads SDK发行说明 。
CCPA
自2020年7月1日起,将执行《加利福尼亚消费者隐私法》(CCPA),发布者必须更新至Android SDK 6.7.0和AdMob适配器6.7.0.0,以符合CCPA。
要传递CCPA值,必须直接调用Vungle SDK API。这是应该通过Vungle SDK API直接访问的唯一功能。至于其他可选功能例如Android ID和内存设置应使用VungleNetworkSettings
。
请使用 Vungle.updateCCPAStatus
来设置用户选择。如果用户禁止,则传入 Vungle.CCPAStatus.OPTED_OUT
。请使用 Vungle.getCCPAStatus
来获取当前CCPA状态。
CCPA API
public static void updateCCPAStatus(@NonNull final Vungle.CCPAStatus status)
public static Vungle.CCPAStatus getCCPAStatus()
示例代码
// To set the user's CCPA status to opted out:
Vungle.updateCCPAStatus(Vungle.CCPAStatus.OPTED_OUT);
// To find out what the user's current consent status is:
Vungle.CCPAStatus currentCCPAStatus = Vungle.getCCPAStatus();
Banner广告
从v6.5.1版本之后,Vungle SDK支持AdMob的Banner 。 要在应用程序中显示Banner广告,请在Vungle Daahboard上创建MREC或Banner placementID,并将其配置为AdMob Dashboard上的Banner广告。
Supported banner sizes:
Size in dp (WxH) | 说明 | AdSize constant |
320x50 | Banner | BANNER |
728x90 | IAB Leaderboard | LEADERBOARD |
300x250 | IAB Medium Rectangle | MEDIUM_RECTANGLE |
Provided width x Adaptive height | Adaptive banner | N/A |
Screen width x 32|50|90 | Smart banner | SMART_BANNER |
示例代码:
AdView adView = new AdView(this);
adViews.add(adView);
adView.setAdSize(AdSize.MEDIUM_RECTANGLE);
adView.setAdUnitId(<AdUnit>);
Multiple Banner Load
Vungle Android SDK 6.5.x支持在任何给定时间为一个placementID加载一个Banner广告,并且将一个placementID映射到一个AdMob unitID。当Vungle SDK已加载Banner广告时,这限制了成功加载后续loadAd请求的能力。要克服此限制,您必须为每个Banner广告loadAd
传递唯一的标识符(可以是生成的随机数或简单的增量数字),以便当Vungle SDK已经加载Banner广告时,请求可以回退到瀑布中的下一个广告网络。
示例代码:
Bundle extras = new VungleExtrasBuilder(null).setBannerUniqueRequestID("12345").build();
AdRequest adRequest = new AdRequest.Builder().addNetworkExtrasBundle(VungleInterstitialAdapter.class, extras).build();
adViewBanner.loadAd(adRequest);
Network Specific Parameters
Vungle AdMob adapter 将继续支持network specific parameters。自从v6.5.1,开始用 setStartMuted
来设置静音。Adapter还支持 setAdOrientation
来设置播放方向。 AdConfig
包括 LANDSCAPE
, PORTRAIT
, AUTO_ROTATE
and MATCH_VIDEO
。 (setAutoRotate
有已经被废弃)
示例代码:
Bundle localExtras = new VungleExtrasBuilder(null)
.setAdOrientation(AdConfig.LANDSCAPE)
.setStartMuted(true)
.setUserId("vungle-test-user")
.build();
对于奖励广告,您可以传递 VungleAdapter.class
参数给 addNetworkExtrasBundle
。对于插屏广告,可以使用 VungleInterstitial.class
。
加载奖励广告的示例代码:
mRewardedAd.loadAd(new AdRequest.Builder()
.addNetworkExtrasBundle(VungleAdapter.class, localExtras)
.build(), adLoadCallback);
加载插屏广告的示例代码:
mInterstitialAd.loadAd(new AdRequest.Builder()
.addNetworkExtrasBundle(VungleInterstitialAdapter.class, localExtras)
.build());
内存设定
从Vungle SDK v6.4.11开始,如果iPhone的存储空间低于预定义的阈值,则可以阻止SDK下载,请求广告甚至进行初始化。如果发生这种情况,您将收到与以下类似的错误:
设备上的文件系统大小不足。
样例代码:
import com.vungle.mediation.VungleNetworkSettings;
//Integer value sets the required minimum available free storage space to be able to initialize the SDK
VungleNetworkSettings.setMinSpaceForInit(<INTEGER_VALUE>);
//Integer value sets the required minimum available free storage space to be able to request an ad
VungleNetworkSettings.setMinSpaceForAdLoad(<INTEGER_VALUE>);
Android ID
从6.4.11版开始,发布者现在可以限制将Android ID从设备传递到SDK。
示例代码
VungleNetworkSettings.setAndroidIdOptOut(true);
新的奖励API
在Admob集成文档 guide中, v17.2.0和更高版本支持多广告缓存。然而Vungle不支持该功能,第二次的请求将不会被Vungle填充广告,Admob会继续请求更低优先级的广告。
如果您要缓存多个广告,建议您使用缓存优化的placements,因为广告请求将在广告播放时自动发出,因此下一个广告很有可能在上一次广告体验时准备好播放结束。