דף זה עוסק בהעברות של גרסאות נוכחיות וקודמות.
מעבר מגרסה 22 לגרסה 23
רמת ה-API המינימלית של Android היא 21
החל מגרסה 23.0.0, כל האפליקציות ב-Google Mobile Ads SDK חייבות
ברמה 21 לפחות של Android API. כדי להתאים את רמת ה-API, משנים את
של minSdkVersion
בקובץ build.gradle
ברמת האפליקציה ל-21 ומעלה.
שיטות שהוצאו משימוש הוסרו/הוחלפו
ממשק API של גרסה 22.0.0 | ממשק API של גרסה 23.0.0 |
---|---|
AdRequest.Builder.addTestDevice() | RequestConfiguration.Builder.setTestDeviceIds() |
AdRequest.Builder.tagForChildDirectedTreatment() | RequestConfiguration.Builder.setTagForChildDirectedTreatment() |
AdRequest.Builder.setIsDesignedForFamilies() | RequestConfiguration.Builder.setMaxAdContentRating() |
AdFormat.UNKNOWN | אין החלפה |
AdLoader.Builder.forUnifiedNativeAd() | AdLoader.Builder.forNativeAd() |
AdLoader.Builder.forCustomTemplateAd() | AdLoader.Builder.forCustomFormatAd() |
AdLoader.Builder.withNativeAdOptions(com.google.android.gms.ads.formats .NativeAdOptions)
|
AdLoader.Builder.withNativeAdOptions(com.google.android.gms.ads.nativead .NativeAdOptions)
|
ביטול MobileAds.setSameAppKeyEnabled() | boolean MobileAds.putPublisherFirstPartyIdEnabled() |
מעבר מגרסה 21 לגרסה 22
משתמשים ב-MobileAds.getVersion() כדי לקבל את הגרסה של Google Mobile Ads SDK
השיטה MobileAds.getVersionString()
הוסרה בגרסה 22.0.0 לטובתה
מתוך
MobileAds.getVersion()
.
ה-method החדש מחזירה את מספר הגרסה החיצונית הצפויה - לדוגמה,
22.0.0
מידע נוסף על השינוי זמין במאמר שימוש בממשק החדש של Google לנייד.
getVersion() של Ads SDK
.
שיטות שהוסרו או הוחלפו
בטבלה הבאה מפורטים השינויים הספציפיים בגרסה 22.0.0.
v21.0.0 | v22.0.0 |
---|---|
MobileAds.getVersionString() | MobileAds.getVersion() |
NativeCustomFormatAd.getVideoMediaView() | NativeCustomFormatAd.getMediaContent() |
NativeCustomFormatAd.getVideoController() | NativeCustomFormatAd.getMediaContent().getVideoController() |
AdRequest.Builder.setAdInfo() | AdRequest.Builder.setAdString() |
MediationRewardedVideoAdAdapter | מתאם |
MediationRewardedVideoAdListener | |
com.google.android.gms.ads.mediation.VersionInfo | com.google.android.gms.ads.VersionInfo |
com.google.android.gms.ads.doubleclick.AppEventListener | com.google.android.gms.ads.admanager.AppEventListener |
מעבר מ-v20 לגרסה 21
עדכון minSdkVersion ל-19 ואילך
החל מגרסה 21.0.0, כל האפליקציות ב-Google Mobile Ads SDK חייבות
ברמה 19 ומעלה של Android API. כדי להתאים את רמת ה-API, משנים את
של minSdkVersion
בקובץ ה-build של האפליקציה ל-19 ומעלה.
אכיפת יכולת אפס מחמירה
כהכנה לאכיפה של יכולת אפס מחמירה, הערות @NonNull
שנוספו לכל ממשקי ה-API שלא הגדירו קודם לכן באופן מפורש יכולת null.
השינוי הזה עלול לגרום לשיבושים באפליקציות ובאפליקציות של Kotlin שמשתמשות בבדיקת null של Java.
של frameworks אם יש הפרות בטיחות אפסיות ולא טיפלנו בעבר
null
ערכים באופן בטוח (ניתן לעיין במסמכי התיעוד של Kotlin בנושא?
אפס-בטיחות
).
הסרת שיטת addNetworkExtras()
השיטה addNetworkExtras()
שמעבירה פרמטרים נוספים בתור
מופע NetworkExtras
של מתאם רשת מודעות ספציפי הוצא משימוש ב-SDK
בגרסה 20.3.0 והיא תוסר בגרסה 21.0.0. משתמשים ב
addNetworkExtrasBundle()
מאותה המחלקה AdRequest.Builder
.
הסרה של שיטות למיקום
השיטות הבאות למיקום יוסרו בגרסה 21.0.0:
- השיטה
setLocation(Location location)
במחלקהAdRequest.Builder
שקובעת את המיקום של המשתמש למטרות טירגוט של תהליך בחירת הרשת (Mediation). - השיטה
getLocation()
במחלקהAdRequest
שמחזירה את פרטי טירגוט למיקום גיאוגרפי הועברו בעבר לשיטהsetLocation(Location location)
. - ה-method
getLocation()
במחלקהMediationAdConfiguration
, מחזירה את מיקום המשתמש, אם מוגדר על ידיAdRequest
.
Google לא משתמשת בנתוני המיקום לטירגוט מודעות. צריך להשתמש ממשקי API של צד שלישי כדי לספק את המידע לרשתות מודעות של צד שלישי, נדרש.
הוצאה משימוש של ממשקי אירועים בהתאמה אישית
אירועים מותאמים אישית מאפשרים לבעלי תוכן דיגיטלי להשתמש תהליך בחירת הרשת (Mediation) ב-AdMob כדי להגדיר מקור מודעות ב-Waterfall שלא אחד מ- AdMob מקורות מודעות נתמכים.
כל המודלים בהתאמה אישית
אירוע
והממשקים הוצאו משימוש לטובת
Adapter
כיתה
MediationAdLoadCallback
גרפי.
הטבלה הבאה מפרטת את המחלקה או הממשק המתאימים שבהם צריך להשתמש לכל ממשק של אירוע בהתאמה אישית החל מגרסה 21.0.0:
ממשקים בגרסה 20.0.0 | גרסה 21.0.0 מחלקה/ ממשק |
---|---|
CustomEvent | מתאם |
CustomEventBanner | |
CustomEventInterstitial | |
CustomEventNative | |
CustomEventBannerListener |
מתאם,
|
CustomEventInterstitialListener | |
CustomEventListener | |
CustomEventNativeListener |
מעבר מ-v19 לגרסה 20
בגרסה 20.0.0 בוצעו הרבה שינויי תוכנה שעלולים לגרום לכשלים. גרסה 19.7.0 הושקה הרבה ממשקי API חדשים, ומחלקות רבות הוצאו משימוש או שינו את השם שלהן כהכנה לגרסה 20.0.0. במדריך הזה נדגיש את השינויים העיקריים בגרסה 20.0.0.
עדכונים לגבי פורמט במסך מלא
החל מגרסה 20.0.0, מודעות מעברון, מודעות מעברון מתגמלות, מודעות מעברון מתגמלות הפורמטים של מודעות בפתיחת אפליקציה מתוקנים בהתאם לעיצוב API עקבי.
בכל ממשקי ה-API בפורמט מסך מלא פועלים לפי העקרונות הבאים:
- שיטת טעינה סטטית
- מנגנון דומה של קריאה חוזרת (callback) או handler של טעינה
- הסתמכות על
FullScreenContentCallback
שיעור להתקשרות חזרה למצגת
הסרה של RewardedVideoAd API מדור קודם
הגרסה החדשה יותר
RewardedAd
ממשק API הושק לראשונה במרץ 2019, והוא נבחר כמתוגמל המועדף
API למשך יותר מ-18 חודשים. יש בה יותר שיפורים בהשוואה לדור הקודם
API של RewardedVideoAd
, כולל היכולת לטעון יותר ממודעה מתגמלת אחת
בכל פעם.
ה-API הקודם של RewardedVideoAd
הוסר בגרסת ה-SDK בגרסה 20.0.0.
הוצאה משימוש של מודעות באנר חכמות לטובת מודעות באנר מותאמות
מודעות באנר חכם הוצאו משימוש לטובת מודעת באנר מותאמת מודעות. מודעות באנר מותאמות מספקות ביצועים מעולים וגמישות רבה יותר הגדרה של רוחב המודעה. אם מעדיפים להמשיך להשתמש במודעות באנר ברוחב מלא, ניתן עדיין להשתמש במודעות באנר מותאמות, כפי שמוצג בקטע הקוד הבא:
Java
public class MyActivity extends AppCompatActivity { ... private AdSize getFullWidthAdaptiveSize() { Display display = getWindowManager().getDefaultDisplay(); DisplayMetrics outMetrics = new DisplayMetrics(); display.getMetrics(outMetrics); float widthPixels = outMetrics.widthPixels; float density = outMetrics.density; int adWidth = (int) (widthPixels / density); return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth); } }
Kotlin
class MyActivity : AppCompatActivity() { ... private val adaptiveAdSize: AdSize get() { val display = windowManager.defaultDisplay val outMetrics = DisplayMetrics() display.getMetrics(outMetrics) val density = outMetrics.density var adWidthPixels = ad_view_container.width.toFloat() if (adWidthPixels == 0f) { adWidthPixels = outMetrics.widthPixels.toFloat() } val adWidth = (adWidthPixels / density).toInt() return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(this, adWidth) } }
יציאה מהסרת הקריאה החוזרת של האפליקציה
הקריאה החוזרת (callback) של onAdLeftApplication
לכל הפורמטים של המודעות הוסרה לטובתך
מתוך
ProcessLifecycleOwner
.
כשמשתמשים ב-API ברמת מערכת ההפעלה, מקבלים התראה בכל פעם שהמשתמשים עוזבים את האפליקציה,
בין אם כתוצאה מאינטראקציה עם מודעה ובין אם לא.
לתשומת ליבך: הקריאה החוזרת של onAdLeftApplication
אף פעם לא הייתה אמורה להיות מודעה
המטפל בקליקים, והסתמכות על קריאה חוזרת זו לדיווח על קליקים לא הניבה
מדד מדויק. לדוגמה, קליק על סמל AdChoices שהפעיל
דפדפן חיצוני הפעיל את הקריאה החוזרת, אבל לא נספר כקליק.
שינויי שמות של כיתה
בטבלה הבאה מפורטים שמות של כיתות ספציפיים שהשתנו או הוסרו. לחשבון סיכום:
- השם של רוב הכיתות שקשורות אל
UnifiedNativeAd
השתנה ל-NativeAd
. - הערכים
MobileAds.Settings
,NativeExpressAdView
,NativeAppInstallAd
NativeContentAd
ו-InstreamAd
כיתות ותצוגות הוסרו. - כל הכיתות עם הקידומת
Publisher
הוחלפו ב- קידומתAdManager
. - שם החבילה של
InterstitialAd
השתנה.
דרגה 19.5.0 | סיווג 20.0.0 |
---|---|
com.google.android.gms.ads. | com.google.android.gms.ads. |
reward.RewardedVideoAd | rewarded.RewardedAd |
reward.RewardedVideoAdListener | Rewards.RewardedAdLoadCallback ו-FullScreenContentCallback |
reward.RewardItem | rewarded.RewardItem |
rewarded.RewardedAdCallback | OnUserEarnedRewardListener |
formats.UnifiedNativeAdView | nativead.NativeAdView |
formats.UnifiedNativeAd | nativead.NativeAd |
formats.UnifiedNativeAdAssetNames | nativead.NativeAdAssetNames |
formats.UnifiedNativeAd.OnUnifiedNativeAdLoadedListener | nativead.NativeAd.OnNativeAdLoadedListener |
formats.AdChoicesView | nativead.AdChoicesView |
formats.NativeAd.AdChoicesInfo | nativead.NativeAd.AdChoicesInfo |
formats.MediaView | nativead.MediaView |
formats.NativeAdViewHolder | nativead.NativeAdViewHolder |
formats.NativeAdOptions | nativead.NativeAdOptions |
formats.NativeCustomTemplateAd | nativead.NativeCustomFormatAd |
formats.NativeCustomTemplateAd |
nativead.NativeCustomFormatAd |
MobileAds.Settings | הוסר |
doubleclick.PublisherAdRequest | admanager.AdManagerAdRequest |
doubleclick.PublisherAdView | admanager.AdManagerAdView |
formats.PublisherAdViewOptions | formats.AdManagerAdViewOptions |
doubleclick.PublisherInterstitialAd | admanager.AdManagerInterstitialAd |
InterstitialAd | interstitial.InterstitialAd |
NativeExpressAdView | הוסר |
instream.InstreamAd | הוסר |
mediation.admob.AdMobExtras | הוסר |
Correlator | הוסר |
search.SearchAdRequest | הוסר |
ממשק AdRequest.TagForByAgeOfConsent | הוסר |
ממשק AdRequest.MaxAdContentRating | הוסר |
formats.NativeAppInstallAd | native.NativeAd |
formats.NativeAppInstallAdView | native.NativeAdView |
mediation.NativeAppInstallAdMapper | mediation.UnifiedNativeAdMapper |
formats.NativeContentAd | native.NativeAd |
formats.NativeContentAdView | native.NativeAdView |
mediation.NativeContentAdMapper | mediation.UnifiedNativeAdMapper |
שיטות שהוסרו/הוחלפו
בטבלה הבאה מפורטים השינויים הספציפיים בגרסה 20.0.0. לסיכום:
- שיטות אתחול לא עדכניות הוסרו מהמחלקה MobileAds.
- חלק מהשיטות מהכיתה
AdRequest.Builder()
הוסרו או עברו לכיתהRequestConfiguration
. - ממשקי ה-API של מודעות מתגמלות ושל מודעות מעברון עודכנו כדי להתאים לכל בפורמטים של מסך מלא.
- תכונות הקורלציה הוסרו.
מחלקה | ממשק API של גרסה 19.5.0 | ממשק API של גרסה 20.0.0 | הערות |
---|---|---|---|
AdSize | getPortraitBanner |
getPortraitAnchored |
|
getLandscapeBanner |
getLandscapeAnchored |
||
getCurrentOrientation |
getCurrentOrientationAnchored |
||
MobileAds | newerize(Context, String) | MobileAds.initialize(Context, OnInitializationComplete |
מזהה האפליקציה מוגדר עכשיו בקובץ AndroidManifest.xml. |
segmentize(Context, String, MobileAds.Settings) | segmentize(Context, OnInitializationComplete |
הכיתה 'הגדרות' הוצאה משימוש. | |
getRewardedVideo |
הוסר | במקום זאת, צריך להשתמש ב-RewardedAd API. | |
AdListener | onAdFailedToLoad(int) | onAd |
|
onAdLeftApplication() | הוסר | פורמטים של מודעות במסך מלא משתמשים ב-FullscreenContentCallback במקום ב- AdListener, ואין שיטה מקבילה ב-FullscreenContentCallback. השיטה הוסרה מ-AdListener. | |
VideoController | getAspectRatio() | MediaContent.getAspectRatio() | |
AdRequest | getGender() | הוסר | |
getBirthday() | הוסר | ||
getNetworkExtras() | הוסר | ||
setManualImpressions |
הוסר | ||
updateCorrelator() | הוסר | צפייה סינון תוכן מודעות. | |
AdRequest.Builder | setBirthday() | הוסר | |
setGender() | הוסר | ||
setIsDesignedForFamilies() | הוסר | לעיון במדריך. | |
addTestDevice() | RequestConfiguration |
למידע נוסף, כדאי לעיין במאמר הפעלת מודעות בדיקה. | |
tagForChildDirectedTreatment() | RequestConfiguration |
צפייה סינון תוכן מודעות. | |
setTagFor |
RequestConfiguration |
||
setMaxAdContentRating() | RequestConfiguration |
||
AdView | getMediationAdapter |
ResponseInfo |
אובייקט ResponseInfo זמין עכשיו דרך שיטת AdView getResponseInfo(). |
NativeAdOptions | setImageOrientation() | setMediaAspectRatio() | |
getImageOrientation | getMediaAspectRatio() | ||
RewardedAd | loadAd(AdRequest, RewardedAdLoadCallback) | RewardedAd.load(Context, String, AdRequest, RewardedAdLoadCallback) | תוכנית המודעות המתגמלות משתמשת עכשיו באותה גישת טעינה סטטית כמו מודעות אחרות בפורמטים של מסך מלא. |
loadAd(PublisherAdRequest, RewardedAdLoadCallback) | RewardedAd.load(Context, String, AdManagerAdRequest, RewardedAdLoadCallback) | ||
isLoaded() | הוסר | הקריאה החוזרת (callback) משיטת הטעינה הסטטית מספקת מודעה שכבר נטענה. | |
show(פעילות, RewardedAdCallback) | show(Activity, OnUserRevenueedRewardListener) | שיטת ההצגה הזו פועלת בהתאם לגישה הרחבה יותר של פורמט מסך מלא. | |
RewardedAdLoadCallback | onRewardedAd |
onAd |
|
onRewardedAd |
onAd |
||
onRewardedAdLoaded() | onAdLoaded(RewardedAd) | ||
AppOpenAdLoadCallback | onAppOpenAd |
onAd |
|
onAppOpenAd |
onAd |
||
onAppOpenAd |
onAdLoaded(AppOpenAd) | ||
RewardedInterstitialAdLoad |
onRewardedInterstitialAd |
onAd |
|
onRewardedInterstitialAd |
onAd |
||
onRewardedInterstitialAd |
onAd |
||
InterstitialAd | new InterstitialAd() | מעברוןAd.load(Context, String, AdRequest, למספר מעברוןAdLoadCallback) | גישת הטעינה הסטטית של מודעת המעברון זהה לזו של בפורמטים אחרים של מסך מלא. |
setAdListener() | |||
DynamicHeightSearchAd |
getNetworkExtras() | הוסר | המחלקה NetworkExtras הוצאה משימוש. |
AdLoader | forContentAd() | הוסר | |
forAppInstallAd() | הוסר | ||
withCorrelator() | הוסר | ||
getMediationAdapter |
הוסר |