我正在使用MoPub来展示AdMob广告,我需要了解如何正确配置SDK以将同意传递给适配器。
对于MoPub自己的广告,我使用了Mopub提供的同意屏幕,但他们声明不会收集AdMob广告的同意。 因此,我需要显示一个额外的同意屏幕(如果有可能,可以使用Google的同意SDK)以获得该同意。 到目前为止,一切都很难看,但或多或少都很清楚。
问题是如何在Mopub SDK中将同意传递给AdMob适配器。从AdMob阅读文档我需要遵循以下说明:
Google移动广告SDK的默认行为是提供个性化广告。如果用户同意仅接收非个性化广告,您可以使用以下代码配置AdRequest对象,以指定只返回非个性化广告:
Bundle extras = new Bundle();
extras.putString("npa", "1");
AdRequest request = new AdRequest.Builder()
.addNetworkExtrasBundle(AdMobAdapter.class, extras)
.build();
我不知道如何通过" npa = 1" NetworkExtrasBundle中的参数到Mopub SDK中的AdMob适配器。 SDK中的GooglePlayServicesBanner
类似乎无法配置这些额外内容。
修补适配器是传递参数的唯一方法吗?
修改 这在最近的适配器中已得到修复,现在可以实现。请参阅docs。
答案 0 :(得分:0)
如果您去这里:
您会发现您必须像下面那样初始化MoPub SDK才能将用户同意发送给MoPub。
HashMap<String, String> config = new HashMap<>();
config.put("npa", "1");
SdkConfiguration sdkConfiguration = new SdkConfiguration.Builder(adUnitId).withMediatedNetworkConfiguration(GooglePlayServicesAdapterConfiguration.class.getName(), config);
.build();
MoPub.initializeSdk(this, sdkConfiguration, initSdkListener());
这是一个很晚的答案,但是今天,当我面对同样的问题时,发现这个问题没有答案,做了一些挖掘并找到了答案。
附加说明:如果您要实施其他广告网络,请仔细阅读其针对其他网络的文档。