Auf dieser Seite finden Sie Informationen zu Migrationen für die aktuelle und die vorherige Version des Google Mobile Ads SDK für iOS. Version 12.0.0 wird voraussichtlich im Februar 2025 veröffentlicht.
Von der SDK-Version 11 zur Version 12 migrieren
Upgrade auf Xcode 16.0
Die unterstützte Mindestversion von Xcode wurde auf 16.0 erhöht.
Unterstützung für Swift-Namenskonventionen
Version 12.0.0 enthält Änderungen, die den Benennungskonventionen in den API-Designrichtlinien von Swift entsprechen. Diese Änderungen betreffen nur Swift. An den Namen der Objective-C-APIs wurden keine Änderungen vorgenommen.
Änderungen am Kurspräfix
An den Klassenpräfixen wurden die folgenden Änderungen vorgenommen:
- Das Präfix
GAD
wurde aus den Namen aller Typen entfernt. - Das Präfix
GAM
wurde inAdManager
umbenannt. - Das Präfix
GADM
wurde inMediation
umbenannt.
Fehler beheben.
Die beste Möglichkeit, Fehler aufgrund dieser Änderungen zu beheben, ist eine Korrektur mit dem Tool „Problem beheben“.
Namenskonflikte lösen
Verwenden Sie den vom Modul bereitgestellten Namespace, um Namenskonflikte zu beheben. Beispiel: GADRequest
heißt jetzt Request
. Die folgenden Beispiel-Namespaces beziehen sich auf die Klasse Request
des Google Mobile Ads SDK:
import GoogleMobileAds
...
var request: GoogleMobileAds.Request?
Detaillierte Liste der Swift-Änderungen
In den folgenden Tabellen sind die Änderungen an den Swift APIs aufgeführt:
Version 11 | Version 12 |
---|---|
GADAdapterInitializationState |
AdapterInitializationState |
GADAdChoicesPosition |
AdChoicesPosition |
GADAdChoicesView |
AdChoicesView |
GADAdFormat |
AdFormat |
GADAdLoader |
AdLoader |
GADAdLoaderAdType |
AdLoaderAdType |
GADAdLoaderDelegate |
AdLoaderDelegate |
GADAdMetadataDelegate |
AdMetadataDelegate |
GADAdMetadataProvider |
AdMetadataProvider |
GADAdNetworkExtras |
AdNetworkExtras |
GADAdNetworkResponseInfo |
AdNetworkResponseInfo |
GADAdReward |
AdReward |
GADAdSize |
AdSize |
GADAdSizeDelegate |
AdSizeDelegate |
GADAdValue |
AdValue |
GADAdValuePrecision |
AdValuePrecision |
GADAppEventDelegate |
AppEventDelegate |
GADAppOpenAd |
AppOpenAd |
GADAppOpenSignalRequest |
AppOpenSignalRequest |
GADAudioVideoManager |
AudioVideoManager |
GADAudioVideoManagerDelegate |
AudioVideoManagerDelegate |
GADBannerSignalRequest |
BannerSignalRequest |
GADBannerView |
BannerView |
GADBannerViewDelegate |
BannerViewDelegate |
GADCustomEventExtras |
CustomEventExtras |
GADCustomEventRequest |
CustomEventRequest |
GADCustomNativeAd |
CustomNativeAd |
GADCustomNativeAdLoaderDelegate |
CustomNativeAdLoaderDelegate |
GADCustomNativeAdDelegate |
CustomNativeAdDelegate |
GADDebugOptionsViewControllerDelegate |
DebugOptionsViewControllerDelegate |
GADDebugOptionsViewController |
DebugOptionsViewController |
GADDisplayAdMeasurement |
DisplayAdMeasurement |
GADExtras |
Extras |
GADFullScreenPresentingAd |
FullScreenPresentingAd |
GADFullScreenContentDelegate |
FullScreenContentDelegate |
GADAdapterStatus |
AdapterStatus |
GADInitializationStatus |
InitializationStatus |
GADInterstitialAd |
InterstitialAd |
GADInterstitialSignalRequest |
InterstitialSignalRequest |
GADMediaAspectRatio |
MediaAspectRatio |
GADMediaContent |
MediaContent |
GADMediaView |
MediaView |
GADMobileAds |
MobileAds |
GADMultipleAdsAdLoaderOptions |
MultipleAdsAdLoaderOptions |
GADMuteThisAdReason |
MuteThisAdReason |
GADNativeAd |
NativeAd |
GADNativeAdLoaderDelegate |
NativeAdLoaderDelegate |
GADNativeAdView |
NativeAdView |
GADNativeAdCustomClickGestureOptions |
NativeAdCustomClickGestureOptions |
GADNativeAdDelegate |
NativeAdDelegate |
GADNativeAdImage |
NativeAdImage |
GADNativeAdImageAdLoaderOptions |
NativeAdImageAdLoaderOptions |
GADNativeAdInlineBehavior |
NativeAdInlineBehavior |
GADNativeAdInlineBehaviorOptions |
NativeAdInlineBehaviorOptions |
GADNativeAdMediaAdLoaderOptions |
NativeAdMediaAdLoaderOptions |
GADNativeAdUnconfirmedClickDelegate |
NativeAdUnconfirmedClickDelegate |
GADNativeAdViewAdOptions |
NativeAdViewAdOptions |
GADNativeMuteThisAdLoaderOptions |
NativeMuteThisAdLoaderOptions |
GADNativeSignalRequest |
NativeSignalRequest |
GADPresentationError |
PresentationError |
GADPublisherPrivacyPersonalizationState |
PublisherPrivacyPersonalizationState |
GADQueryInfo |
QueryInfo |
GADRequest |
Request |
GADRequestError |
RequestError |
GADRequestConfiguration |
RequestConfiguration |
GADResponseInfo |
ResponseInfo |
GADRewardedAd |
RewardedAd |
GADRewardedSignalRequest |
RewardedSignalRequest |
GADRewardedInterstitialAd |
RewardedInterstitialAd |
GADRewardedInterstitialSignalRequest |
RewardedInterstitialSignalRequest |
GADSearchBannerView |
SearchBannerView |
GADServerSideVerificationOptions |
ServerSideVerificationOptions |
GADSignal |
Signal |
GADSignalRequest |
SignalRequest |
GADVersionNumber |
VersionNumber |
GADVideoController |
VideoController |
GADVideoControllerDelegate |
VideoControllerDelegate |
Ad Manager | |
GAMBannerAdLoaderDelegate |
AdManagerBannerAdLoaderDelegate |
GAMBannerView |
AdManagerBannerView |
GAMBannerViewOptions |
AdManagerBannerViewOptions |
GAMInterstitialAd |
AdManagerInterstitialAd |
GAMRequest |
AdManagerRequest |
Vermittlung | |
GADMAdNetworkAdapter |
MediationAdNetworkAdapter |
GADMAdNetworkConnector |
MediationAdNetworkConnector |
GADMBannerAnimationType |
MediationBannerAnimationType |
GADMediatedUnifiedNativeAd |
MediationUnifiedNativeAd |
GADMediatedUnifiedNativeAdNotificationSource |
MediationUnifiedNativeAdNotificationSource |
GADMediationAd |
MediationAd |
GADMediationAdConfiguration |
MediationAdConfiguration |
GADMediationAdEventDelegate |
MediationAdEventDelegate |
GADMediationAdRequest |
MediationAdRequest |
GADMediationAdapter |
MediationAdapter |
GADMediationAppOpenAd |
MediationAppOpenAd |
GADMediationAppOpenAdEventDelegate |
MediationAppOpenAdEventDelegate |
GADMediationBannerAd |
MediationBannerAd |
GADMediationBannerAdConfiguration |
MediationBannerAdConfiguration |
GADMediationBannerAdEventDelegate |
MediationBannerAdEventDelegate |
GADMediationCredentials |
MediationCredentials |
GADMediationInterstitialAd |
MediationInterstitialAd |
GADMediationInterstitialAdConfiguration |
MediationInterstitialAdConfiguration |
GADMediationInterstitialAdEventDelegate |
MediationInterstitialAdEventDelegate |
GADMediationNativeAd |
MediationNativeAd |
GADMediationNativeAdConfiguration |
MediationNativeAdConfiguration |
GADMediationNativeAdEventDelegate |
MediationNativeAdEventDelegate |
GADMediationRewardedAd |
MediationRewardedAd |
GADMediationRewardedAdConfiguration |
MediationRewardedAdConfiguration |
GADMediationRewardedAdEventDelegate |
MediationRewardedAdEventDelegate |
GADMediationServerConfiguration |
MediationServerConfiguration |
Echtzeitgebote | |
GADRTBAdapter |
RTBAdapter |
GADRTBMediationSignalsConfiguration |
RTBMediationSignalsConfiguration |
GADRTBRequestParameters |
RTBRequestParameters |
Konstanten
Version 11 | Version 12 |
---|---|
GADAdLoaderAdType.gamBanner |
AdLoaderAdType.adManagerBanner |
GADAdSizeBanner |
AdSizeBanner |
GADAdSizeFluid |
AdSizeFluid |
GADAdSizeFullBanner |
AdSizeFullBanner |
GADAdSizeInvalid |
AdSizeInvalid |
GADAdSizeLargeBanner |
AdSizeLargeBanner |
GADAdSizeLeaderboard |
AdSizeLeaderboard |
GADAdSizeMediumRectangle |
AdSizeMediumRectangle |
GADAdSizeSkyscraper |
AdSizeSkyscraper |
GoogleMobileAdsVersionString |
GoogleMobileAdsVersion |
Attribute
Typ | Version 11 | Version 12 |
---|---|---|
GADAdLoader | loading |
isLoading |
GADAudioVideoManager | audioSessionApplicationManaged |
isAudioSessionApplicationManaged |
GADBannerView | autoloadEnabled |
isAutoloadEnabled |
GADMobileAds | sharedInstance |
shared |
applicationMuted |
isApplicationMuted |
|
GADMuteThisAdReason | reasonDescription |
reason |
GADNativeAd | customMuteThisAdAvailable |
isCustomMuteThisAdAvailable |
GADNativeAdCustomClickGestureOptions | tapsAllowed |
areTapsAllowed |
GADNativeAdImageAdLoaderOptions | imageLoadingDisabled |
isImageLoadingDisabled |
GADNativeMuteThisAdLoaderOptions | customMuteThisAdRequested |
isCustomMuteThisAdRequested |
GADNativeSignalRequest | imageLoadingDisabled |
isImageLoadingDisabled |
customMuteThisAdRequested |
isCustomMuteThisAdRequested |
|
GADRequest | neighboringContentURLStrings |
neighboringContentURLs |
GADResponseInfo | extrasDictionary |
extras |
GADServerSideVerificationOptions | customRewardString |
customRewardText |
GADSignal | signalString |
signal |
GADSignalRequest | neighboringContentURLStrings |
neighboringContentURLs |
GADVideoController | customControlsRequested |
areCustomControlsRequested |
clickToExpandEnabled |
isClickToExpandEnabled |
|
GADVideoOptions | startMuted |
shouldStartMuted |
customControlsRequested |
areCustomControlsRequested |
|
clickToExpandRequested |
isClickToExpandRequested |
Funktionen
Typ | Version 11 | Version 12 |
---|---|---|
GADAdSize | GADPortraitInlineAdaptiveBannerAdSizeWithWidth(_:) |
portraitInlineAdaptiveBanner(width:) |
GADLandscapeInlineAdaptiveBannerAdSizeWithWidth(_:) |
landscapeInlineAdaptiveBanner(width:) |
|
GADCurrentOrientationInlineAdaptiveBannerAdSizeWithWidth(_:) |
currentOrientationInlineAdaptiveBanner(width:) |
|
GADInlineAdaptiveBannerAdSizeWithWidthAndMaxHeight(_:, _:) |
inlineAdaptiveBanner(width:maxHeight:) |
|
GADPortraitAnchoredAdaptiveBannerAdSizeWithWidth(_:) |
portraitAnchoredAdaptiveBanner(width:) |
|
GADLandscapeAnchoredAdaptiveBannerAdSizeWithWidth(_:) |
landscapeAnchoredAdaptiveBanner(width:) |
|
GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(_:) |
currentOrientationAnchoredAdaptiveBanner(width:) |
|
GADAdSizeFromCGSize(_:) |
adSizeFor(cgSize:) |
|
GADAdSizeFullWidthPortraitWithHeight(_:) |
fullWidthPortrait(height:) |
|
GADAdSizeFullWidthLandscapeWithHeight(_:) |
fullWidthLandscape(height:) |
|
GADAdSizeEqualToSize(_:, _:) |
isAdSizeEqualToSize(size1:size2:) |
|
IsGADAdSizeValid(_:) |
isAdSizeValid(size:) |
|
GADAdSizeIsFluid(_:) |
isAdSizeFluid(size:) |
|
CGSizeFromGADAdSize(_:) |
cgSize(for:) |
|
NSStringFromGADAdSize(_:) |
string(for:) |
|
NSValueFromGADAdSize(_:) |
nsValue(for:) |
|
GADAdSizeFromNSValue(_:) |
adSizeFor(nsValue:) |
|
GADClosestValidSizeForAdSizes(_:_:) |
closestValidSizeForAdSizes(original:possibleAdSizes:) |
|
GADAppEventDelegate | adView(_:didReceiveAppEvent:withInfo:) |
adView(_:didReceiveAppEvent:with:) |
interstitialAd(_:didReceiveAppEvent:withInfo:) |
adView(_:didReceiveAppEvent:with:) |
|
GADAppOpenAd | load(withAdResponseString:) |
load(with:) |
load(withAdUnitID:request:completionHandler:) |
load(with:request:completionHandler:) |
|
canPresent(fromRootViewController:) |
canPresent(from:) |
|
present(fromRootViewController:) |
present(from:) |
|
GADBannerView | load(withAdResponseString:) |
load(with:) |
GADInterstitial | load(withAdResponseString:) |
load(with:) |
load(withAdUnitID:request:completionHandler:) |
load(with:request:completionHandler:) |
|
canPresent(fromRootViewController:) |
canPresent(from:) |
|
present(fromRootViewController:) |
present(from:) |
|
GADRewardedAd | load(withAdResponseString:) |
load(with:) |
load(withAdUnitID:request:completionHandler:) |
load(with:request:completionHandler:) |
|
canPresent(fromRootViewController:) |
canPresent(from:) |
|
present(fromRootViewController:userDidEarnRewardHandler:) |
present(from:userDidEarnRewardHandler:) |
|
GADRewardedInterstitialAd | load(withAdResponseString:) |
load(with:) |
load(withAdUnitID:request:completionHandler:) |
load(with:request:completionHandler:) |
|
canPresent(fromRootViewController:) |
canPresent(from:) |
|
present(fromRootViewController:userDidEarnRewardHandler:) |
present(from:userDidEarnRewardHandler:) |
|
GADVersionNumber | GADGetStringFromVersionNumber(_ version: GADVersionNumber) |
string(for:) |
Vermittlung | ||
GADMAdNetworkAdapter | getBannerWith(_:) |
getBanner(with:) |
presentInterstitial(fromRootViewController:) |
presentInterstitial(from:) |
|
getNativeAd(withAdTypes:options:) |
getNativeAd(with:options:) |
|
GADMediatedUnifiedNativeAd | didRecordClickOnAsset(withName:view:viewController:) |
didRecordClickOnAsset(with:view:viewController:) |
GADMediationAdapter | setUpWith(_:completionHandler:) |
setUp(with:completionHandler:) |
GADMediationAdSize | present(fromRootViewController:) |
present(from:) |
GADMediationAppOpenAd | present(fromRootViewController:) |
present(from:) |
GADMediationInterstitialAd | present(fromRootViewController:) |
present(from:) |
GADMediationRewardedAd | present(fromRootViewController:) |
present(from:) |
GAMInterstitialAd | load(withAdManagerAdUnitID:request:completionHandler:) |
load(with:request:completionHandler:) |
API-Änderungen zur Steuerung des Stummschaltungsstatus von Videos
Die Property isMuted
und die Methode setMute:
von GADVideoController
werden durch die Property muted
ersetzt.
Änderungen an Inline-Adaptive-Anzeigen
Um die Platzausnutzung zu optimieren, nehmen Inline-adaptive Anzeigen anfangs keinen Platz im Frame ein. Wenn Sie CGSizeFromGADAdSize(_:)
mit einer Inline-adaptiven Anzeigengröße aufrufen, wird jetzt die Höhe 0
zurückgegeben, bis das Google Mobile Ads SDK eine Anzeige zurückgibt.
Benutzerdefinierte Suchanzeigen wurden entfernt
Die folgenden Klassen werden ohne Ersatz entfernt:
GADDynamicHeightSearchBannerView
GADDynamicHeightSearchRequest
GADSearchBannerView
Änderungen an Fehlercodes
Die folgenden Fehlercodes wurden geändert:
Klasse | Hinweise |
---|---|
GADErrorMediationNoFill |
Fehler werden jetzt als GADErrorNoFill zurückgegeben. |
GADErrorReceivedInvalidResponse |
wurde durch GADErrorReceivedInvalidAdString ersetzt. |
GADSimulatorID entfernt
GADSimulatorID
wurde entfernt. Simulatoren befinden sich standardmäßig bereits im Testmodus.
Änderungen am benutzerdefinierten Targeting
Im customTargeting
-Wörterbuch auf GADRequest
wird jetzt Any
anstelle von String
als Werttyp verwendet. So können Sie numerische Werte an die API übergeben.
Änderungen an den Parametern für Extras
- Das Übergeben des
max_ad_content_rating
-Schlüssels anadditionalParameters
wird nicht mehr unterstützt. Informationen zum Festlegen einer höchsten Altersfreigabe für Anzeigeninhalte finden Sie unter Filterung von Anzeigeninhalten.
Von Version 10 zu Version 11 migrieren
Minimales Bereitstellungsziel
Das Mindestbereitstellungsziel wurde auf iOS 12 erhöht.
Xcode-Mindestversion
Die Mindestversion von Xcode wurde auf 15.1 erhöht.
Anzeigen werden unter iOS 12 nicht mehr ausgeliefert
Mit der Google Mobile Ads SDK-Version 11.0.0 werden Anzeigen nur auf Geräten mit iOS 13 und höher ausgeliefert.
Abhängigkeit von GoogleAppMeasurement entfernt
In Version 11.0.0 wurde die Abhängigkeit von GoogleAppMeasurement
entfernt. Diese Abhängigkeit, die die Ein/Aus-Schaltfläche für Nutzermesswerte in AdMob unterstützt, wird Anfang 2024 eingestellt. Wenn Sie weiterhin Nutzermesswerte in AdMob erfassen möchten, verknüpfen Sie Ihre AdMob-App mit Firebase und binden Sie das Google Analytics for Firebase SDK in Ihre App ein.
Änderungen bei der Präsentation von Vollbildanzeigen
Die folgenden Änderungen betreffen die verschiedenen Anzeigenformate:
- App-Start
- Interstitial
- Verfügbar
- Interstitial mit Prämie
Der View-Controller-Parameter in -canPresentFromRootViewController:error:
und -presentFromRootViewController:
ist nullable. Wenn „nil“ übergeben wird, wird die Anzeige vom obersten View Controller in der View Controller-Hierarchie präsentiert.
Entfernte Methoden
Die folgenden Methoden wurden entfernt:
Typ von Version 11.0.0 | Methode | Hinweise |
---|---|---|
GADAppOpenAd | load(withAdUnitID adUnitID: String, request: GADRequest?, orientation: UIInterfaceOrientation) |
Verwenden Sie stattdessen load(withAdUnitID adUnitID: String, request: GADRequest?) . |
GADMediationBannerAdEventDelegate | willBackgroundApplication() |
Kein Ersatz. |
GADMediationInterstitialAdEventDelegate | willBackgroundApplication() |
Kein Ersatz. |
GADMediationNativeAdEventDelegate | willBackgroundApplication() |
Kein Ersatz. |
GADMediationRewardedAdEventDelegate | didRewardUser(with reward: GADAdReward) |
Verwenden Sie stattdessen didRewardUser() . |
GADMediatedUnifiedNativeAdNotificationSource | mediatedNativeAdWillLeaveApplication(_ mediatedNativeAd: GADMediatedUnifiedNativeAd) |
Kein Ersatz. |
GADRequestConfiguration | setSameAppKeyEnabled(_ enabled: Bool) |
Verwenden Sie stattdessen setPublisherFirstPartyIDEnabled(_ enabled: Bool) . |
tagForUnderAge(ofConsent underAgeOfConsent: Bool) |
Verwenden Sie stattdessen die Property tagForUnderAgeOfConsent . |
|
tag(forChildDirectedTreatment childDirectedTreatment: Bool) |
Verwenden Sie stattdessen die Property tagForChildDirectedTreatment . |
Entfernte Unterkünfte
Die folgenden Properties werden entfernt.
Version 11.0.0 | Attribut | Hinweise |
---|---|---|
GADMediationAdConfiguration | hasUserLocation | Kein Ersatz. |
userLatitude | ||
userLongitude | ||
userLocationAccuracyInMeters | ||
childDirectedTreatment | Verwenden Sie stattdessen GADMobileAds.sharedInstance.requestConfiguration.tagForChildDirectedTreatment . |
|
GADResponseInfo | adNetworkClassName | Verwenden Sie stattdessen adNetworkClassName aus loadedAdNetworkResponseInfo . |
GADAdFormatUnknown entfernt
GADAdFormatUnknown
wurde ohne Ersatz entfernt.
Änderungen an der SDK-Version für die Protokollierung
In Version 11.0.0 wird sdkVersion
entfernt. Verwenden Sie stattdessen versionNumber
, um die Version des Google Mobile Ads SDK zu erfassen.
Version 10.0.0
GADMobileAds.sharedInstance().sdkVersion
Version 11.0.0
GADGetStringFromVersionNumber(GADMobileAds.sharedInstance().versionNumber)
Änderungen an der Fehlerbehandlung von GADAdLoader
Ab Version 11.0.0 sendet GADAdLoader
keine Anzeigenanfrage, wenn sein delegate
nicht dem Delegate-Protokoll der angeforderten Anzeigentypen entspricht. Bisher ist der Vorgang nach der Anzeigenanfrage fehlgeschlagen.
Änderungen am Testverhalten
In der folgenden Tabelle sind die aktualisierten Bedingungen aufgeführt, unter denen die folgenden Properties true
zurückgeben.
Klasse | Attribut |
---|---|
GADMediationAdConfiguration | isTestRequest |
GADCustomEventRequest | isTesting |
v10.0.0 | v11.0.0 |
|
|
Von Version 9 zu Version 10 migrieren
Anzeigen werden unter iOS 11 nicht mehr ausgeliefert
Mit der Version 10.0.0 des Google Mobile Ads SDK werden Anzeigen nur auf Geräten mit iOS 12 oder höher ausgeliefert.
Das Upgrade auf die Version 10.0.0 des Google Mobile Ads SDK führt nicht zu Problemen mit Ihrer App auf Geräten mit iOS 11 und iOS 10. Es werden jedoch keine Anzeigen auf diesen Geräten ausgeliefert.
Erstellen mit Bitcode wird nicht mehr unterstützt
Um das Google Mobile Ads SDK zu integrieren, müssen Sie den Bitcode in Ihren mobilen Apps jetzt deaktivieren.
Entfernte Typen
Typ | Hinweise |
---|---|
GADGender | Kein Ersatz. |
GADMRewardBasedVideoAdNetworkAdapterProtocol | Alle auf Choose Networks aufgeführten Adapter für die Vermittlung von Anzeigen mit Prämie verwenden diese Protokolle seit über einem Jahr nicht mehr. Verwenden Sie GADMediationAdapter für die Vermittlung und benutzerdefinierte Ereignisse. |
GADMRewardBasedVideoAdNetworkConnectorProtocol |
Entfernte Unterkünfte
Die folgenden Properties werden ohne Ersatz entfernt.
Version 10.0.0 | Attribut |
---|---|
GADMediationAdRequest | userBirthday |
userGender | |
userHasLocation | |
userLatitude | |
userLongitude | |
userLocationAccuracyInMeters | |
userLocationDescription | |
GADCustomEventRequest | userHasLocation |
userLatitude | |
userLongitude | |
userLocationAccuracyInMeters | |
userLocationDescription |
Von Version 8 zu Version 9 migrieren
Anzeigen werden unter iOS 10 nicht mehr ausgeliefert
Die Mindestversion von iOS, die vom Google Mobile Ads SDK 9.0.0 unterstützt wird, ist iOS 11.
Das Upgrade auf die Version 9.0.0 des Google Mobile Ads SDK führt nicht zu Problemen mit Ihrer App auf iOS 10-Geräten. Auf diesen Geräten werden jedoch keine Anzeigen ausgeliefert.
Strengere Durchsetzung der Steuerelemente in der Statusleiste
Ab Version 9.0.0 muss Ihre App dafür sorgen, dass die Anzeigen die Darstellung der Statusleiste steuern können, wenn Sie Vollbildanzeigen präsentieren. Andernfalls wird in den Protokollen eine Fehlermeldung angezeigt.
Je nach Layout der View Controller in Ihrer App müssen Sie möglicherweise keine Änderungen vornehmen. Überlegen Sie, ob Sie die Property childViewControllerForStatusBarHidden
für das rootViewController
Ihrer Anzeige festlegen müssen.
Benennen Sie „adDidPresentFullScreenContent:“ in „adWillPresentFullScreenContent:“ um.
Das Verhalten ändert sich nicht. Die Delegating-Methode wird direkt vor der Präsentation der Anzeige aufgerufen. Der neue Methodenname spiegelt daher ihre Funktion besser wider.
API für Standorteinstellungen in GADRequest entfernen
- (void)setLocationWithLatitude:longitude:accuracy:
wurde aus GADRequest
gelöscht, da Standortdaten von Google nicht für das Targeting von Anzeigen verwendet werden. Verwenden Sie Drittanbieter-APIs, um die Informationen bei Bedarf an Werbenetzwerke von Drittanbietern weiterzugeben.
Einstellung der Benutzeroberflächen für benutzerdefinierte Ereignisse
Mit benutzerdefinierten Ereignissen können Publisher, die AdMob Mediation verwenden, die abfolgebasierte Vermittlung für ein Werbenetzwerk hinzufügen, das nicht zu den unterstützten Werbenetzwerken gehört.
Alle benutzerdefinierten Ereignisprotokolle werden eingestellt. Verwenden Sie stattdessen die vorhandenen Protokolle GADMediationAdapter
und GADMediationAdEventDelegate
, um dieselben Funktionen zu nutzen. Durch diese Änderung wird die Übersichtlichkeit verbessert und Sie können benutzerdefinierte Ereignisse für Anzeigen mit Prämie und Interscroller-Anzeigen erstellen, die zuvor nicht verfügbar waren.
APIs
In der folgenden Tabelle sind die entsprechenden Mediation-Adapter-APIs für APIs für benutzerdefinierte Ereignisse aufgeführt, die ab Version 9.0.0 verwendet werden sollten.
v8 | v9 | |
---|---|---|
GADCustomEventBanner GADCustomEventInterstitial GADCustomEventNativeAd |
GADMediationAdapter | GADMediationBannerAd GADMediationInterstitialAd GADMediationInterscrollerAd GADMediationRewardedAd GADMediationNativeAd |
delegate
|
„Delegate“ wird vom Ladeabschluss-Handler jeder Ladefunktion der Klasse GADMediationAdapter zurückgegeben.
|
|
-init |
-init |
|
-requestBannerAd:parameter: |
-loadBannerForAdConfiguration: |
|
-requestInterstitialAdWith |
-loadInterstitialFor |
|
-requestNativeAdWithParameter:
|
-loadNativeAdFor |
|
– | -loadInterscrollerAdFor |
|
– | -loadRewardedAdFor |
|
-presentFromRootViewController:
|
-presentFromViewController: |
|
-handlesUserClicks |
-handlesUserClicks |
|
-handlesUserImpressions |
-handlesUserImpressions |
Delegierte Methoden
In der folgenden Tabelle sind die entsprechenden Methoden für die delegierten Vermittlungsereignisse aufgeführt, die mit benutzerdefinierten Methoden für delegierte Ereignisse ab Version 9.0.0 verwendet werden sollten.
v8 | v9 | |
---|---|---|
GADCustomEventBannerDelegate GADCustomEventInterstitialDelegate GADCustomEventNativeAdDelegate |
GADMediationAdEventDelegate | GADMediationAd |
-customEventBanner:didReceiveAd: -customEventInterstitialDidReceiveAd:
|
Der Anzeigenladestatus ist im Load Completion Handler jeder Ladefunktion in der GADMediationAdapter -Klasse enthalten.
|
|
-customEventBanner:didFailAd: -customEventInterstitial:didFailAd:
|
||
-customEventBannerWasClicked: -customEventInterstitialWasClicked:
|
-reportClick |
|
-customEventBannerWill -customEventInterstitialWill
|
-willPresentFullScreenView |
|
-customEventBannerWill -customEventInterstitialWill
|
-willDismissFullScreenView |
|
-customEventBannerDid -customEventInterstitialDid
|
-didDismissFullScreenView |
|
-customEventBannerWill -customEventInterstitialWill
|
-willBackgroundApplication |
|
viewControllerFor |
-[GADMediationBannerAd view] |
Andere entfernte/ersetzte Methoden und Konstanten
Änderungen an einer Methode, Konstante oder Eigenschaft | |
---|---|
kGAD- Konstanten mit Präfix
|
Entfernt. Konstanten mit dem Präfix GAD- verwenden
|
GADAdNetworkResponseInfo
|
credentials wurden entfernt. Verwenden Sie stattdessen adUnitMapping .
|
GADCustomNativeAd
|
mediaView in GADCustomNativeAd wurde eingestellt.
Verwenden Sie stattdessen mediaContent .
|
In-App-Kauf-APIs in GoogleMobileAds |
inAppPurchase APIs wurden in GoogleMobileAds entfernt.
|
Von Version 7 zu Version 8 migrieren
Version 8.0.0 des Google Mobile Ads SDK bringt einige wichtige Änderungen mit APIs umbenannt und entfernt werden.
Aktualisierungen der API für das Vollbildformat
Ab Version 8.0.0 haben Interstitial-Anzeigen und Anzeigen mit Prämie eine allgemeine, vollständige für mehr Konsistenz. Diese neuen APIs für Vollbildanzeigen haben zwei Hauptunterschiede zu den APIs für Vollbildanzeigen der Version 7:
Methode
load
der statischen Klasse.Die bisherige Vorgehensweise zum Laden/Einblenden einer Vollbildanzeige lautet wie folgt:
- Erstellen Sie eine Anzeigenobjektinstanz und speichern Sie einen Verweis darauf.
- Weisen Sie einen Bevollmächtigten zu, der Last- und Anzeigerückrufe verarbeitet.
- Laden Sie eine Anzeige.
- Prüfen Sie mit
isReady
, ob die Anzeige geladen wird. - Anzeige einblenden
In Version 8 ändert sich der Ansatz geringfügig. Lade-Callbacks werden nicht mehr Teil eines Bevollmächtigten ist. Stattdessen werden sie an die Methode
load
Abschluss-Handler:- Rufen Sie eine statische Lademethode für die Anzeigenklasse auf und stellen Sie einen Abschluss des Ladevorgangs bereit. -Handler.
- Behalten Sie im Rückruf für den Abschluss des Ladevorgangs einen Verweis auf die geladene Anzeige bei, die zurückgegeben.
- Weisen Sie einen Bevollmächtigten zu, der Callbacks für die Show verarbeitet.
- Anzeige einblenden
Der neue Ansatz bietet folgende Vorteile:
- Sie haben niemals einen Verweis auf eine Anzeige, die nicht geladen ist.
- Sie müssen sich nicht an einem Anzeigenobjekt festhalten, während es geladen wird.
Einheitliche Anzeigenereignisse:
Ereignistyp Vorhandene API Version 8 API Ladeereignisse GADInterstitialDelegate
oderGADRewardedAdDelegate
GADInterstitialAdLoadCompletionHandler
oderGADRewardedAdLoadCompletionHandler
Präsentationsveranstaltungen GADFullScreenContentDelegate
Um auf Anzeigenereignisse zu warten, mussten Sie bisher eine Klasse registrieren, die implementiert die
GADInterstitialDelegate
an die Delegat-Property eines Interstitials übergeben oder eine Klasse registrieren, implementiert dieGADRewardedAdDelegate
Protokoll an die delegierte Property einer Anzeige mit Prämie, je nachdem, die Sie verwenden. Derselbe Bevollmächtigte verfügte über Methoden, die sich sowohl auf das Laden als Lebenszyklus der Präsentation einer Anzeige.In Version 8 sind Lade- und Präsentationsereignisse getrennt. Sie können jetzt registrieren
GADFullScreenContentDelegate
vor der Anzeigenschaltung erfolgen, anstatt einen einzelnen vor dem Laden der Anzeige delegieren. Ladeereignisse von Anzeigen, die für das jeweilige Format, wechseln Sie zu einem einzelnen Ladeabschluss-Handler, der an die Lademethode übergeben wird.
Interstitial
Anzeige laden
Die Code-Snippets unten zeigen, wie Sie eine Interstitial-Anzeige laden und auf Ereignisse ausgelöst, wenn die Anzeige erfolgreich oder nicht geladen werden kann.
v7
Swift
import GoogleMobileAds import UIKit class ViewController: UIViewController, GADInterstitialDelegate { var interstitial: GADInterstitial! override func viewDidLoad() { super.viewDidLoad() interstitial = GADInterstitial(adUnitID: "ca-app-pub-3940256099942544/4411468910") interstitial.delegate = self let request = GADRequest() interstitial.load(request) } /// Tells the delegate an ad request succeeded. func interstitialDidReceiveAd(_ ad: GADInterstitial) { print("Interstitial ad loaded.") } /// Tells the delegate an ad request failed. func interstitial(_ ad: GADInterstitial, didFailToReceiveAdWithError error: GADRequestError) { print("Interstitial ad failed to load with error: \(error.localizedDescription)") } }
Objective-C
@import GoogleMobileAds; @import UIKit; @interface ViewController ()@property(nonatomic, strong) GADInterstitial *interstitial; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.interstitial = [[GADInterstitial alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910"]; self.interstitial.delegate = self; GADRequest *request = [GADRequest request]; [self.interstitial loadRequest:request]; } /// Tells the delegate an ad request succeeded. - (void)interstitialDidReceiveAd:(GADInterstitial *)ad { NSLog(@"Insterstitial ad loaded."); } /// Tells the delegate an ad request failed. - (void)interstitial:(GADInterstitial *)ad didFailToReceiveAdWithError:(GADRequestError *)error { NSLog(@"Interstitial ad failed to load with error: %@", [error localizedDescription]); }
v8
Swift
import GoogleMobileAds import UIKit class ViewController: UIViewController, GADFullScreenContentDelegate { var interstitial: GADInterstitialAd? override func viewDidLoad() { super.viewDidLoad() let request = GADRequest() GADInterstitialAd.load(withAdUnitID:"ca-app-pub-8123415297019784/4985798738", request: request, completionHandler: { (ad, error) in if let error = error { print("Failed to load interstitial ad with error: \(error.localizedDescription)") return } self.interstitial = ad self.interstitial.fullScreenContentDelegate = self } ) } }
Objective-C
@import GoogleMobileAds; @import UIKit; @interface ViewController ()@property(nonatomic, strong) GADInterstitialAd *interstitial; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; GADRequest *request = [GADRequest request]; [GADInterstitialAd loadWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910" request:request completionHandler:^(GADInterstitialAd *ad, NSError *error) { if (error) { NSLog(@"Failed to load interstitial ad with error: %@", [error localizedDescription]); return; } self.interstitial = ad; self.interstitial.fullScreenContentDelegate = self; }]; }
Displayanzeige
v7
Swift
func showInterstitial() { ... if interstitial.isReady { interstitial.present(fromRootViewController: self) } else { print("Ad wasn't ready") } }
Objective-C
- (void)showInterstitial: { ... if (self.interstitial.isReady) { [self.interstitial presentFromRootViewController:self]; } else { NSLog(@"Ad wasn't ready"); } }
v8
Swift
func showInterstitial() { ... if let ad = interstitial { ad.present(fromRootViewController: self) } else { print("Ad wasn't ready") } }
Objective-C
- (void)showInterstitial: { ... if (self.interstitial) { [self.interstitial presentFromRootViewController:self]; } else { NSLog(@"Ad wasn't ready"); } }
Ereignisse für Präsentationen
Die Code-Snippets unten zeigen, wie Rückrufe gehandhabt werden, wenn die Anzeige präsentiert (erfolgreich oder erfolglos) und wenn sie geschlossen wird.
v7
Swift
override func viewDidLoad() { super.viewDidLoad() interstitial = GADInterstitial(adUnitID: "ca-app-pub-3940256099942544/4411468910") interstitial.delegate = self ... } /// Tells the delegate that an interstitial will be presented. func interstitialWillPresentScreen(_ ad: GADInterstitial) { print("Interstitial ad will be presented.") } /// Tells the delegate the interstitial is to be animated off the screen. func interstitialWillDismissScreen(_ ad: GADInterstitial) { print("Interstitial ad will be dismissed.") } /// Tells the delegate the interstitial had been animated off the screen. func interstitialDidDismissScreen(_ ad: GADInterstitial) { print("Interstitial ad dismissed.") } /// Tells the delegate that a user click will open another app /// (such as the App Store), backgrounding the current app. /// /// This is not a reliable callback for an ad click event and is removed in /// version 8. If you wish to listen to an ad causing a user to leave the app, /// use applicationWillResignActive: or sceneWillResignActive: instead. func interstitialWillLeaveApplication(_ ad: GADInterstitial) { print("Interstitial ad will leave application.") }
Objective-C
- (void)viewDidLoad { [super viewDidLoad]; self.interstitial = [[GADInterstitial alloc] initWithAdUnitID:"ca-app-pub-3940256099942544/4411468910"]; self.interstitial.delegate = self; ... } /// Tells the delegate that an interstitial will be presented. - (void)interstitialWillPresentScreen:(GADInterstitial *)ad { NSLog(@"Interstitial ad will be presented."); } /// Tells the delegate the interstitial is to be animated off the screen. - (void)interstitialWillDismissScreen:(GADInterstitial *)ad { NSLog(@"Interstitial ad will be dismissed."); } /// Tells the delegate the interstitial had been animated off the screen. - (void)interstitialDidDismissScreen:(GADInterstitial *)ad { NSLog(@"Interstitial ad dismissed."); } /// Tells the delegate that a user click will open another app /// (such as the App Store), backgrounding the current app. /// /// This is not a reliable callback for an ad click event and is removed in /// version 8. If you wish to listen to an ad causing a user to leave the app, /// use applicationWillResignActive: or sceneWillResignActive: instead. - (void)interstitialWillLeaveApplication:(GADInterstitial *)ad { NSLog(@"Interstitial ad will leave application."); }
v8
Swift
override func viewDidLoad() { super.viewDidLoad() let request = GADRequest() GADInterstitialAd.load(withAdUnitID:"ca-app-pub-8123415297019784/4985798738", request: request, completionHandler: { (ad, error) in if let error = error { print(error.localizedDescription) return } self.interstitial = ad self.interstitial.fullScreenContentDelegate = self } ) } func adDidPresentFullScreenContent(_ ad: GADFullScreenPresentingAd) { print("Ad did present full screen content.") } func ad(_ ad: GADFullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) { print("Ad failed to present full screen content with error \(error.localizedDescription).") } func adDidDismissFullScreenContent(_ ad: GADFullScreenPresentingAd) { print("Ad did dismiss full screen content.") }
Objective-C
- (void)viewDidLoad { [super viewDidLoad]; GADRequest *request = [GADRequest request]; [GADInterstitialAd loadWithAdUnitID:@"ca-app-pub-3940256099942544/4411468910" request:request completionHandler:^(GADInterstitialAd *ad, NSError *error) { if (error) { NSLog(@"interstitial:didFailToReceiveAdWithError: %@", [error localizedDescription]) return; } self.interstitial = ad; self.interstitial.fullScreenContentDelegate = self; }]; } - (void)adDidPresentFullScreenContent:(id)ad { NSLog(@"Ad did present full screen content."); } - (void)ad:(id )ad didFailToPresentFullScreenContentWithError:(NSError *)error { NSLog(@"Ad failed to present full screen content with error %@.", [error localizedDescription]); } - (void)adDidDismissFullScreenContent:(id )ad { NSLog(@"Ad did dismiss full screen content."); }
Verfügbar
Anzeige laden
v7
Swift
import GoogleMobileAds import UIKit class ViewController: UIViewController, GADRewardedAdDelegate { /// The rewarded ad. var rewardedAd: GADRewardedAd? override func viewDidLoad() { super.viewDidLoad() rewardedAd = GADRewardedAd(adUnitID: "ca-app-pub-3940256099942544/1712485313") rewardedAd.delegate = self rewardedAd?.load(GADRequest()) { error in if let error = error { print("Rewarded ad failed to load with error: \(error.localizedDescription)") } else { print("Rewarded ad loaded.") } } } }
Objective-C
@import GoogleMobileAds; @import UIKit; @interface ViewController ()@property(nonatomic, strong) GADRewardedAd *rewardedAd; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.rewardedAd = [[GADRewardedAd alloc] initWithAdUnitID:@"ca-app-pub-3940256099942544/1712485313"]; self.rewardedAd.delegate = self; GADRequest *request = [GADRequest request]; [self.rewardedAd loadRequest:request completionHandler:^(GADRequestError * _Nullable error) { if (error) { NSLog(@"Rewarded ad failed to load with error: %@", [error localizedDescription]); } else { NSLog(@"Rewarded ad loaded."); } }]; }
v8
Swift
import GoogleMobileAds import UIKit class ViewController: UIViewController, GADFullScreenContentDelegate { /// The rewarded ad. var rewardedAd: GADRewardedAd? override func viewDidLoad() { super.viewDidLoad() let request = GADRequest() GADRewardedAd.load(withAdUnitID: "ca-app-pub-8123415297019784/9501821136", request: request, completionHandler: { (ad, error) in if let error = error { print("Rewarded ad failed to load with error: \(error.localizedDescription)") return } self.rewardedAd = ad self.rewardedAd?.fullScreenContentDelegate = self } ) } }
Objective-C
@import GoogleMobileAds; @import UIKit; @interface ViewController ()@property(nonatomic, strong) GADRewardedAd *rewardedAd; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; GADRequest *request = [GADRequest request]; [GADRewardedAd loadWithAdUnitID:@"ca-app-pub-3940256099942544/1712485313" request:request completionHandler:^(GADRewardedAd *ad, NSError *error) { if (error) { NSLog(@"Rewarded ad failed to load with error: %@", [error localizedDescription]); return; } self.rewardedAd = ad; NSLog(@"Rewarded ad loaded."); self.rewardedAd.fullScreenContentDelegate = self; }
Displayanzeige und Prämie erstellen
Bei Anzeigen mit Prämie müssen Sie das Ereignis bearbeiten, wenn ein Nutzer eine Prämie erhält. Mit
Version 7 der GADRewardedAd
API, die Sie implementieren,
rewardedAd:userDidEarnReward:
als Teil des GADRewardedAdDelegate
-Protokolls.
Bei Version 8 implementieren Sie GADUserDidEarnRewardHandler
, um
um die Anzeige zu präsentieren.
v7
Swift
func showRewardedAd() { ... if rewardedAd.isReady { rewardedAd.present(fromRootViewController: self delegate:self) } else { print("Ad wasn't ready") } } /// Tells the delegate that the user earned a reward. func rewardedAd(_ rewardedAd: GADRewardedAd, userDidEarnReward: GADAdReward) { // TODO: Reward the user. }
Objective-C
- (void)showRewardedAd: { ... if (self.rewardedAd.isReady) { [self.rewardedAd presentFromRootViewController:self delegate:self]; } else { NSLog(@"Ad wasn't ready"); } } /// Tells the delegate that the user earned a reward. - (void)rewardedAd:(GADRewardedAd *)rewardedAd userDidEarnReward:(GADAdReward *)reward { // TODO: Reward the user. }
v8
Swift
func showRewardedAd() { ... if let ad = rewardedAd { ad.present(fromRootViewController: self, userDidEarnRewardHandler: { let reward = ad.adReward // TODO: Reward the user. } ) } else { print("Ad wasn't ready") } }
Objective-C
- (void)showRewardedAd: { ... if (self.rewardedAd) { [self.rewardedAd presentFromRootViewController:self userDidEarnRewardHandler:^ { GADAdReward *reward = self.rewardedAd.adReward; // TODO: Reward the user. }]; } else { NSLog(@"Ad wasn't ready"); } }
Ereignisse für Präsentationen
Mit der GADRewardedAd
API übergeben Sie eine GADRewardedAdDelegate
an die Methode
der die Anzeige präsentiert. Mit der GADRewardedAd
API legen Sie Folgendes fest:
„GADFullscreenContentDelegate
“ als Property in der Anzeige zu verwenden, bevor die
Anzeige.
v7
Swift
func showRewardedAd() { ... if rewardedAd.isReady { rewardedAd.present(fromRootViewController: self delegate:self) } else { print("Ad wasn't ready") } } /// Tells the delegate that the rewarded ad was presented. func rewardedAdDidPresent(_ rewardedAd: GADRewardedAd) { print("Rewarded ad presented.") } /// Tells the delegate that the rewarded ad was dismissed. func rewardedAdDidDismiss(_ rewardedAd: GADRewardedAd) { print("Rewarded ad dismissed.") } /// Tells the delegate that the rewarded ad failed to present. func rewardedAd(_ rewardedAd: GADRewardedAd, didFailToPresentWithError error: Error) { print("Rewarded ad failed to present with error: \(error.localizedDescription).") }
Objective-C
- (void)showRewardedAd: { ... if (self.rewardedAd.isReady) { [self.rewardedAd presentFromRootViewController:self delegate:self]; } else { NSLog(@"Ad wasn't ready"); } } /// Tells the delegate that the rewarded ad was presented. - (void)rewardedAdDidPresent:(GADRewardedAd *)rewardedAd { NSLog(@"Rewarded ad presented."); } /// Tells the delegate that the rewarded ad failed to present. - (void)rewardedAd:(GADRewardedAd *)rewardedAd didFailToPresentWithError:(NSError *)error { NSLog(@"Rewarded ad failed to present with error: %@", [error localizedDescription]); } /// Tells the delegate that the rewarded ad was dismissed. - (void)rewardedAdDidDismiss:(GADRewardedAd *)rewardedAd { NSLog(@"Rewarded ad dismissed."); }
v8
Swift
override func viewDidLoad() { super.viewDidLoad() let request = GADRequest() GADRewardedAd.load(withAdUnitID: "ca-app-pub-8123415297019784/9501821136", request: request, completionHandler: { (ad, error) in if let error = error { print(error.localizedDescription) return } self.rewardedAd = ad self.rewardedAd?.fullScreenContentDelegate = self } ) } /// Tells the delegate that the rewarded ad was presented. func adDidPresentFullScreenContent(_ ad: GADFullScreenPresentingAd) { print("Rewarded ad presented.") } /// Tells the delegate that the rewarded ad was dismissed. func adDidDismissFullScreenContent(_ ad: GADFullScreenPresentingAd) { print("Rewarded ad dismissed.") } /// Tells the delegate that the rewarded ad failed to present. func ad(_ ad: GADFullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) { print("Rewarded ad failed to present with error: \(error.localizedDescription).") }
Objective-C
- (void)viewDidLoad { [super viewDidLoad]; GADRequest *request = [GADRequest request]; [GADRewardedAd loadWithAdUnitID:@"ca-app-pub-3940256099942544/1712485313" request:request completionHandler:^(GADRewardedAd *ad, NSError *error) { if (error) { NSLog(@"Rewarded ad failed to load with error: %@", [error localizedDescription]); return; } self.rewardedAd = ad; NSLog(@"Rewarded ad loaded."); self.rewardedAd.fullScreenContentDelegate = self; } /// Tells the delegate that the rewarded ad was presented. - (void)adDidPresentFullScreenContent:(id)ad { NSLog(@"Rewarded ad presented."); } /// Tells the delegate that the rewarded ad failed to present. - (void)ad:(id )ad didFailToPresentFullScreenContentWithError:(NSError *)error { NSLog(@"Rewarded ad failed to present with error: %@", [error localizedDescription]); } /// Tells the delegate that the rewarded ad was dismissed. - (void)adDidDismissFullScreenContent:(id )ad { NSLog(@"Rewarded ad dismissed."); }
Entfernung der alten GADRewardBasedVideoAd API
Das neuere
GADRewardedAd
Die API wurde im März 2019 eingeführt und ist die bevorzugte Version mit Prämie
API seit über 18 Monaten. Es wurde im Vergleich zur Legacy-Version besser verbessert.
GADRewardedBasedVideoAd
API, einschließlich der Möglichkeit, mehrere
jeweils eine Anzeige mit Prämie.
Die alte GADRewardedBasedVideoAd
API wurde in der SDK-Version 8.0.0 entfernt.
Einstellung von Smart-Bannern durch adaptive Banner
Smart-Banneranzeigen wurden eingestellt zugunsten eines adaptiven Banners Anzeigen. Adaptive Banner bieten eine bessere Leistung und mehr Flexibilität bei die Anzeigenbreite festlegen. Wenn Sie weiterhin Banner mit voller Breite verwenden möchten, kann dennoch mit adaptiven Bannern erfolgen, wie im folgenden Code-Snippet gezeigt:
Swift
class ViewController: UIViewController { override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) // Note: The safe area is not known until viewWillAppear. let adSize = getFullWidthAdaptiveAdSize() } func getFullWidthAdaptiveAdSize() -> GADAdSize { // Here safe area is taken into account, hence the view frame is used after the // view has been laid out. let frame = { () -> CGRect in if #available(iOS 11.0, *) { return view.frame.inset(by: view.safeAreaInsets) } else { return view.frame } }() return GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(frame.size.width) } }
Objective-C
@implementation ViewController - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; // Note: The safe area is not known until viewWillAppear. GADAdSize adSize = [self getFullWidthAdaptiveAdSize]; } - (GADAdSize)getFullWidthAdaptiveAdSize { CGRect frame = self.view.frame; // Here safe area is taken into account, hence the view frame is used after // the view has been laid out. if (@available(iOS 11.0, *)) { frame = UIEdgeInsetsInsetRect(self.view.frame, self.view.safeAreaInsets); } return GADCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(frame.size.width); } @end
Entfernung des App-Callbacks verlassen
Der willLeaveApplication
-Callback für alle Anzeigenformate wurde
zugunsten der
applicationDidEnterBackground:
und
sceneDidEnterBackground:
. Durch die Verwendung von APIs auf Betriebssystemebene wirst du jedes Mal benachrichtigt, wenn Nutzer deine App verlassen, unabhängig von
ob auf eine Anzeigeninteraktion zurückzuführen ist oder nicht.
Beachte, dass der willLeaveApplication
-Callback nie dazu gedacht war,
einen Anzeigenklick-Handler. Durch die Verwendung dieses Callbacks zum Melden von Klicks konnten keine
eine genaue Metrik erzeugen. Ein Klick auf das Symbol „Datenschutzinfo“
Symbol, das einen externen Browser startet, um den Callback aufzurufen, aber keinen
klicken.
Klassen umbenennen
In der folgenden Tabelle sind bestimmte Klassennamen aufgeführt, die in Version 8. Zusammenfassung:
- Alle zu
GADUnifiedNativeAd
verwandten Kurse wurden umbenannt inGADNativeAd
. GADRewardBasedVideoAd
,GADNativeExpressAdView
undGADInstreamAd
haben entfernt wurden.- Alle Klassen mit dem Präfix
DFP
wurden durch das PräfixGAM
ersetzt.
v7.68.0-Klasse | v8.0.0-Klasse |
---|---|
DFPBannerView | GAMBannerView |
DFPBannerViewOptions | GAMBannerViewOptions |
DFPInterstitial | GAMInterstitialAd |
DFPRequest | GAMRequest |
GADRequestError | NSError |
GADUnifiedNativeAdView | GADNativeAdView |
GADUnifiedNativeAd | GADNativeAd |
GADUnifiedNativeAdAssetIdentifiers | GADNativeAdAssetIdentifiers |
GADUnifiedNativeAdDelegate | GADNativeAdDelegate |
GADUnifiedNativeAdUnconfirmedClickDelegate | GADNativeAdUnconfirmedClickDelegate |
GADNativeCustomTemplateAd | GADCustomNativeAd |
GADNativeCustomTemplateAdLoaderDelegate | GADCustomNativeAdLoaderDelegate |
GADNativeAdDelegate | GADCustomNativeAdDelegate |
GADInAppPurchase | Entfernt |
GADInterstitial | GADInterstitialAd |
GADNativeExpressAdView | Entfernt |
GADRewardBasedVideoAd | Entfernt |
GADInstreamAd | Entfernt |
GADInstreamAdView | Entfernt |
Entfernte/ersetzte Methoden
In der folgenden Tabelle sind die spezifischen Änderungen in Version 8 aufgeführt. Zusammenfassung:
- Zuvor eingestellte Methoden und Attribute wurden entfernt.
-willLeaveApplication:
Delegierte-Methoden wurden für alle Formate entfernt.- Der Name der Werbenetzwerkklasse wurde in das Attribut
GADResponseInfo
verschoben. - Die Testgeräte-ID wurde in den
GADRequestConfiguration
verschoben Property.
v7.68.0-Klasse | Version 7.68.0 API | API-Version 8.0.0 | Hinweise |
---|---|---|---|
GADMobileAds | +configureWithApplicationID: | -startWithCompletionHandler: | Die App-ID wird jetzt in der Info.plist-Datei festgelegt. |
+disableAutomatedInApp |
-disableAutomatedInApp |
||
+disableSDKCrashReporting | -disableSDKCrashReporting | ||
GADRequest | testDevices | GADRequestConfiguration |
Die Eigenschaft testDeviceIdentifiers wird auf alle Anzeigenanfragen angewendet, während die Eigenschaft alte testdevices-Property wurde pro Anfrage festgelegt. |
gender | Entfernt | ||
Geburtstag | Entfernt | ||
+sdkVersion | GADMobileAds.sharedInstance |
||
-setBirthday |
Entfernt | ||
-setLocationWithDescription: | -setLocationWith |
||
-tagForChildDirectedTreatment: | [GADMobileAds.sharedInstance.requestConfiguration tagForChildDirectedTreatment] | ||
GADErrorCode | kGADError* | GADError* | Das Präfix k wird aus allen Fehlercodekonstanten gelöscht.
|
GADBannerView | hasAutoRefreshed | autoloadEnabled | |
inAppPurchaseDelegate | Entfernt | ||
mediatedAdView | Entfernt | ||
adNetworkClassName | responseInfo |
||
DFPBannerView | -setValidAdSizesWithSizes: | -setValidAdSizes: | |
DFPBannerViewOptions | -adSizeDelegate | Entfernt | |
GADBannerViewDelegate | -adViewDidReceiveAd: | -bannerViewDidReceiveAd: | |
-adView:didFailToReceive |
-bannerView:didFailToReceive |
||
-adViewWillPresentScreen: | -bannerViewWillPresentScreen: | ||
-adViewWillDismissScreen: | -bannerViewWillDismissScreen: | ||
-adViewDidDismissScreen: | -bannerViewDidDismissScreen: | ||
-adViewWillLeaveApplication: | Entfernt | ||
GADNativeCustomTemplateAd | templateID | GADCustomNativeAd.formatID | |
-performClickOnAssetWithKey: |
-performClickOnAssetWithKey: | ||
GADNativeAdImageAd |
preferredImageOrientation | GADNativeAdMediaAdOptions |
|
GADInterstitial | inAppPurchaseDelegate | Entfernt | |
isReady | Entfernt | Verwenden Sie stattdessen canPresentFrom |
|
hasBeenUsed | Entfernt | ||
-init | -initWithAdUnitID: | ||
-setAdUnitID: | -initWithAdUnitID: | ||
adNetworkClassName | responseInfo |
||
-interstitialWill |
Entfernt | ||
GADUnifiedNativeAd | videoController | mediaContent.videoController | |
adNetworkClassName | responseInfo |