Java 不推荐使用MobileAds.initialize(上下文、字符串)

Java 不推荐使用MobileAds.initialize(上下文、字符串),java,android,admob,deprecation-warning,Java,Android,Admob,Deprecation Warning,在它看起来像这样之前(传递R.string.admob\u应用程序\u id): 方法.initialize(上下文、字符串应用程序代码) 现在是: 此方法已弃用。改用 内容如下: 初始化谷歌移动广告SDK。 尽早调用此方法以减少会话第一个ad请求的延迟。 如果未调用此方法,则第一个ad请求将自动初始化Google Mobile Ads SDK 也有人反对 到目前为止,我尝试的是获得每个适配器: MobileAds.initialize(this, initializationStatus

在它看起来像这样之前(传递
R.string.admob\u应用程序\u id
):


方法
.initialize(上下文、字符串应用程序代码)
现在是:

此方法已弃用。改用

内容如下:

初始化谷歌移动广告SDK。 尽早调用此方法以减少会话第一个ad请求的延迟。 如果未调用此方法,则第一个ad请求将自动初始化Google Mobile Ads SDK

也有人反对


到目前为止,我尝试的是获得每个适配器:

MobileAds.initialize(this, initializationStatus -> {

    /* get the adapter status */
    Map<String, AdapterStatus> map = initializationStatus.getAdapterStatusMap();
    for (Map.Entry<String, AdapterStatus> entry : map.entrySet()) {
        AdapterStatus adapterStatus = entry.getValue();
        AdapterStatus.State state = adapterStatus.getInitializationState();
        Log.d(LOG_TAG, "key = " + entry.getKey() + ", state = " + state.name() + ", desc = " + adapterStatus.getDescription());
    }
});
在具有internet连接的物理设备上,它还显示了四个适配器:

key = com.google.android.gms.ads.MobileAds, state = READY, desc = 
key = com.google.ads.mediation.vungle.VungleMediationAdapter, state = NOT_READY, desc = Failed to create Adapter.
key = com.google.ads.mediation.applovin.AppLovinMediationAdapter, state = NOT_READY, desc = Failed to create Adapter.
key = com.google.ads.mediation.adcolony.AdColonyMediationAdapter, state = NOT_READY, desc = Failed to create Adapter.
key = com.google.ads.mediation.tapjoy.TapjoyMediationAdapter, state = NOT_READY, desc = Failed to create Adapter.
om.google.android.gms.ads.MobileAds
reads
READY
,另一个
com.google.ads.mediation.
read
NOT\u READY
未能创建适配器(没有设置,但可以加载测试广告)

MobileAds.initialize(此)
也可以工作(
OnInitializationCompleteListener
是可选的)


它似乎在没有
R.string.admob\u应用程序id的情况下工作,因此我的实际问题是:

设置
R.string.admob\u publisher\u id
R.string.admob\u application\u id
仍然是必需的,还是现在只是广告单元id?大多数文档仍然使用不推荐的初始化方法(与上面显示的方法类似),因此这一点并不清楚

似乎回答了应用程序ID部分:

通过添加
标记,将AdMob应用程序ID添加到应用程序的
AndroidManifest.xml
文件中,如下所示

重要提示:从Google Mobile Ads SDK v17.0.0开始,此步骤是必需的。如果您不添加此
标记,您的应用程序将崩溃,并显示以下消息:
谷歌移动广告SDK初始化不正确。



.

使用以下内容初始化MobileAds:

MobileAds.initialize(this, initializationStatus -> { });
key = com.google.android.gms.ads.MobileAds, state = READY, desc = 
key = com.google.ads.mediation.vungle.VungleMediationAdapter, state = NOT_READY, desc = Failed to create Adapter.
key = com.google.ads.mediation.applovin.AppLovinMediationAdapter, state = NOT_READY, desc = Failed to create Adapter.
key = com.google.ads.mediation.adcolony.AdColonyMediationAdapter, state = NOT_READY, desc = Failed to create Adapter.
key = com.google.ads.mediation.tapjoy.TapjoyMediationAdapter, state = NOT_READY, desc = Failed to create Adapter.
<manifest>
    <application>
        <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="ADMOB_APP_ID"/>
    </application>
</manifest>
MobileAds.initialize(this, initializationStatus -> { });