From b01d668402932e850052685ff8b96438d2420e6a Mon Sep 17 00:00:00 2001 From: Olena Stepaniuk Date: Wed, 2 Apr 2025 15:44:20 +0300 Subject: [PATCH 01/52] docs: add page for updates in v3.0 in iOS --- _data/sidebar.yml | 8 + .../updates-3.0/android/updates-3.0.md | 0 prebid-mobile/updates-3.0/ios/updates-3.0.md | 219 ++++++++++++++++++ 3 files changed, 227 insertions(+) create mode 100644 prebid-mobile/updates-3.0/android/updates-3.0.md create mode 100644 prebid-mobile/updates-3.0/ios/updates-3.0.md diff --git a/_data/sidebar.yml b/_data/sidebar.yml index 98a4e60a74..802c6ae2bd 100644 --- a/_data/sidebar.yml +++ b/_data/sidebar.yml @@ -831,6 +831,14 @@ sectionTitle: subgroup: 2 +- sbSecId: 2 + title: Prebid Mobile 3.0 + link: /prebid-mobile/updates-3.0/ios/updates-3.0.html + isHeader: 0 + isSectionHeader: 0 + sectionTitle: + subgroup: 2 + - sbSecId: 2 title: API Reference link: /prebid-mobile-ios/index.html diff --git a/prebid-mobile/updates-3.0/android/updates-3.0.md b/prebid-mobile/updates-3.0/android/updates-3.0.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/prebid-mobile/updates-3.0/ios/updates-3.0.md b/prebid-mobile/updates-3.0/ios/updates-3.0.md new file mode 100644 index 0000000000..250cd1871f --- /dev/null +++ b/prebid-mobile/updates-3.0/ios/updates-3.0.md @@ -0,0 +1,219 @@ +--- +layout: page_v2 +title: Prebid Mobile 3.0 Updates +description: Prebid Mobile 3.0 Updates +pid: 1 +top_nav_section: prebid-mobile +nav_section: prebid-mobile-ios +sidebarType: 2 +--- + +# Prebid Mobile 3.0 + +{:.no_toc} + +This page provides a detailed list of removed APIs in PrebidMobile SDK 3.0, along with their corresponding recommended replacements. + +- TOC + {:toc} + +## Elimination of Deprecated Functionality + +PrebidMobile 3.0 introduces significant changes and removes several deprecated features. Below is a detailed breakdown of these removals, and how users should migrate to the new alternatives. + +### Targeting + +| Removed | Alternative | +| -------------------------------------- | --------------------------------- | +| buyerUID | Arbitrary ORTB API | +| userCustomData | Arbitrary ORTB API | +| locationPrecision | None, removed | +| setLocationPrecision(\_:) | None, removed | +| getLocationPrecision() | None, removed | +| setCustomParams(\_:) | None, removed | +| addCustomParam(\_:withName:) | None, removed | +| addUserData(key:value:) | userExt, Arbitrary ORTB API | +| updateUserData(key:value:) | None, removed | +| removeUserData(for:) | None, removed | +| clearUserData() | None, removed | +| getUserData() | None, removed | +| userDataDictionary | None, removed | +| userKeywords | getUserKeywords() | +| addContextData(key:value:) | addAppExtData(key:value:) | +| updateContextData(key:value:) | updateAppExtData(key:value:) | +| removeContextData(for:) | removeAppExtData(for:) | +| clearContextData() | clearAppExtData() | +| getContextData() | getAppExtData() | +| contextDataDictionary | getAppExtData() | +| addContextKeyword(\_:) | addAppKeyword(\_:) | +| addContextKeywords(\_:) | addAppKeywords(\_:) | +| removeContextKeyword(\_:) | removeAppKeyword(\_:) | +| clearContextKeywords() | clearAppKeywords() | +| getContextKeywords() | getAppKeywords() | +| contextKeywords | getAppKeywords() | +| yearOfBirth | None, deprecated by ORTB. | +| setYearOfBirth(yob:) | None, deprecated by ORTB. | +| getYearOfBirth() | None, deprecated by ORTB. | +| clearYearOfBirth() | None, deprecated by ORTB. | +| userGender | None, deprecated by ORTB. | +| userGenderDescription() | None, deprecated by ORTB. | +| userID | Arbitrary ORTB API | +| eids | Targeting.setExternalUserIds(\_:) | +| storeExternalUserId(\_:) | None, removed | +| fetchStoredExternalUserIds() | None, removed | +| fetchStoredExternalUserId(\_ source:) | None, removed | +| removeStoredExternalUserId(\_ source:) | None, removed | +| removeStoredExternalUserIds() | None, removed | + +### Prebid + +| Removed | Alternative | +| -------------------------------------- | ------------------------------------------------ | +| bidderNameAppNexus | None, removed | +| bidderNameRubiconProject | None, removed | +| externalUserIdArray | Targeting.setExternalUserIds(\_:) | +| prebidServerHost | initializeSDK(serverURL:) | +| useExternalClickthroughBrowser | None, removed | +| impClickbrowserType | None, removed | +| setCustomPrebidServer(url:) | initializeSDK(serverURL:) | +| initializeSDK(_:_:) | initializeSDK(serverURL:_:_) | +| initializeSDK(gadMobileAdsVersion:\_:) | initializeSDK(serverURL:gadMobileAdsVersion:\_:) | +| initializeSDK(\_:) | initializeSDK(serverURL:\_:) | + +### AdUnit + +| Removed | Alternative | +| ----------------------------- | ------------------------------- | +| addContextData(key:value:) | Arbitrary ORTB API | +| updateContextData(key:value:) | None, removed | +| removeContextData(forKey:) | None, removed | +| clearContextData() | None, removed | +| addContextKeyword(\_:) | Arbitrary ORTB API | +| addContextKeywords(\_:) | Arbitrary ORTB API | +| removeContextKeyword(\_:) | None, removed | +| clearContextKeywords() | None, removed | +| addExtKeyword(\_:) | Arbitrary ORTB API | +| addExtKeywords(\_:) | Arbitrary ORTB API | +| removeExtKeyword(\_:) | None, removed | +| clearExtKeywords() | None, removed | +| addExtData(key:value:) | Arbitrary ORTB API | +| updateExtData(key:value:) | None, removed | +| removeExtData(forKey:) | None, removed | +| clearExtData() | None, removed | +| setAppContent(\_:) | Arbitrary ORTB API | +| getAppContent() | None, removed | +| clearAppContent() | None, removed | +| addAppContentData(\_:) | Arbitrary ORTB API | +| removeAppContentData(\_:) | None, removed | +| clearAppContentData() | None, removed | +| getUserData() | None, removed | +| addUserData(\_:) | Arbitrary ORTB API | +| removeUserData(\_:) | None, removed | +| clearUserData() | None, removed | +| setOrtbConfig(\_:) | setImpORTBConfig(\_:) | +| getOrtbConfig() | getImpORTBConfig() | +| fetchDemand(completion:, \_:) | fetchDemand(completionBidInfo:) | + +### PrebidRequest + +| Removed | Alternative | +| ------------------------------- | ------------------ | +| addExtData(key:value:) | Arbitrary ORTB API | +| updateExtData(key:value:) | None, removed | +| removeExtData(forKey:) | None, removed | +| clearExtData() | None, removed | +| addExtKeyword(\_:) | Arbitrary ORTB API | +| addExtKeywords(\_:) | Arbitrary ORTB API | +| removeExtKeyword(\_:) | None, removed | +| clearExtKeywords() | None, removed | +| setAppContent(\_:) | Arbitrary ORTB API | +| clearAppContent() | None, removed | +| addAppContentData(\_:) | Arbitrary ORTB API | +| removeAppContentDataObject(\_:) | None, removed | +| clearAppContentDataObjects() | None, removed | +| addUserData(\_:) | Arbitrary ORTB API | +| removeUserData(\_:) | None, removed | +| clearUserData() | None, removed | + +### ExternalUserId + +| Removed | Alternative | +| ---------------------------------- | ---------------------- | +| identifier | uids[].id | +| atype | uids[].atype | +| init(source:identifier:atype:ext:) | init(source:uids:ext:) | + +### BannerAdUnit + +| Removed | Alternative | +| ---------- | ---------------- | +| parameters | bannerParameters | + +### InterstitialAdUnit + +| Removed | Alternative | +| ---------- | ---------------- | +| parameters | bannerParameters | + +### RewardedVideoAdUnit + +| Removed | Alternative | +| ---------- | --------------- | +| parameters | videoParameters | + +### BannerView, InterstitialRenderingAdUnit, RewardedAdUnit, MediationBannerAdUnit, MediationBaseInterstitialAdUnit, MediationNativeAdUnit + +| Removed | Alternative | +| ------------------------------- | ------------------------- | +| ortbConfig | setImpORTBConfig(\_:) | +| addExtKeyword(\_:) | Arbitrary ORTB API | +| addExtKeywords(\_:) | Arbitrary ORTB API | +| removeExtKeyword(\_:) | None, removed | +| clearExtKeywords() | None, removed | +| addContextData(\_:forKey:) | addExtData(\_:forKey:) | +| updateContextData(\_:forKey:) | updateExtData(\_:forKey:) | +| removeContextDate(forKey:) | removeExtDate(forKey:) | +| clearContextData() | clearExtData() | +| addContextKeyword(\_:) | addExtKeyword(\_:) | +| addContextKeywords(\_:) | addExtKeywords(\_:) | +| removeContextKeyword(\_:) | removeExtKeyword(\_:) | +| clearContextKeywords() | clearExtKeywords() | +| addExtData(key:value:) | Arbitrary ORTB API | +| updateExtData(key:value:) | None, removed | +| removeExtData(forKey:) | None, removed | +| clearExtData() | None, removed | +| setAppContent(\_:) | Arbitrary ORTB API | +| clearAppContent() | None, removed | +| addAppContentData(\_:) | Arbitrary ORTB API | +| removeAppContentDataObject(\_:) | None, removed | +| clearAppContentDataObjects() | None, removed | +| addUserData(\_:) | Arbitrary ORTB API | +| removeUserData(\_:) | None, removed | +| clearUserData() | None, removed | + +### AdFormat + +| Removed | Alternative | +| ------- | ----------- | +| display | banner | + +### Utils + +| Removed | Alternative | +| --------------------------------- | -------------- | +| convertDictToMoPubKeywords(dict:) | None, removed. | + +### Host + +| Removed | Alternative | +| --------------------- | ------------------------------------ | +| setCustomHostURL(\_:) | setHostURL(\_:nonTrackingURLString:) | +| getHostURL(host:) | getHostURL() | + +### Other SDK Changes + +- `imp[].ext.data.adslot` is no longer sent in the request; +- Removed `VideoAdUnit`, alternative - `BannerAdUnit` with video ad format; +- Removed `VideoInterstitialAdUnit`, alternative - `InterstitialAdUnit` with video ad format; +- Removed `PrebidHost` without replacement; +- Removed `PrebidAdMobRewardedVideoAdapter`, alternative - `PrebidAdMobRewardedAdapter`; \ No newline at end of file From 7a0bfd7035731444cc9f1d6c4c0f5a47cc96fea2 Mon Sep 17 00:00:00 2001 From: Olena Stepaniuk Date: Wed, 2 Apr 2025 15:48:01 +0300 Subject: [PATCH 02/52] docs: small enhancement --- prebid-mobile/updates-3.0/ios/updates-3.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/prebid-mobile/updates-3.0/ios/updates-3.0.md b/prebid-mobile/updates-3.0/ios/updates-3.0.md index 250cd1871f..229a08c103 100644 --- a/prebid-mobile/updates-3.0/ios/updates-3.0.md +++ b/prebid-mobile/updates-3.0/ios/updates-3.0.md @@ -19,7 +19,7 @@ This page provides a detailed list of removed APIs in PrebidMobile SDK 3.0, alon ## Elimination of Deprecated Functionality -PrebidMobile 3.0 introduces significant changes and removes several deprecated features. Below is a detailed breakdown of these removals, and how users should migrate to the new alternatives. +PrebidMobile 3.0 introduces significant changes and removes several deprecated features. Below is a detailed breakdown of these removals, and how publishers should migrate to the new alternatives. ### Targeting @@ -201,7 +201,7 @@ PrebidMobile 3.0 introduces significant changes and removes several deprecated f | Removed | Alternative | | --------------------------------- | -------------- | -| convertDictToMoPubKeywords(dict:) | None, removed. | +| convertDictToMoPubKeywords(dict:) | None, removed | ### Host @@ -216,4 +216,4 @@ PrebidMobile 3.0 introduces significant changes and removes several deprecated f - Removed `VideoAdUnit`, alternative - `BannerAdUnit` with video ad format; - Removed `VideoInterstitialAdUnit`, alternative - `InterstitialAdUnit` with video ad format; - Removed `PrebidHost` without replacement; -- Removed `PrebidAdMobRewardedVideoAdapter`, alternative - `PrebidAdMobRewardedAdapter`; \ No newline at end of file +- Removed `PrebidAdMobRewardedVideoAdapter`, alternative - `PrebidAdMobRewardedAdapter`. From 22b20c7e1ab5337ed82d28a36475966af574d539 Mon Sep 17 00:00:00 2001 From: Olena Stepaniuk Date: Wed, 2 Apr 2025 15:54:31 +0300 Subject: [PATCH 03/52] docs: add formatting to table --- prebid-mobile/updates-3.0/ios/updates-3.0.md | 28 +++++++++++++++----- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/prebid-mobile/updates-3.0/ios/updates-3.0.md b/prebid-mobile/updates-3.0/ios/updates-3.0.md index 229a08c103..087fba5814 100644 --- a/prebid-mobile/updates-3.0/ios/updates-3.0.md +++ b/prebid-mobile/updates-3.0/ios/updates-3.0.md @@ -23,6 +23,8 @@ PrebidMobile 3.0 introduces significant changes and removes several deprecated f ### Targeting +{: .table .table-bordered .table-striped } + | Removed | Alternative | | -------------------------------------- | --------------------------------- | | buyerUID | Arbitrary ORTB API | @@ -67,6 +69,8 @@ PrebidMobile 3.0 introduces significant changes and removes several deprecated f ### Prebid +{: .table .table-bordered .table-striped } + | Removed | Alternative | | -------------------------------------- | ------------------------------------------------ | | bidderNameAppNexus | None, removed | @@ -82,6 +86,8 @@ PrebidMobile 3.0 introduces significant changes and removes several deprecated f ### AdUnit +{: .table .table-bordered .table-striped } + | Removed | Alternative | | ----------------------------- | ------------------------------- | | addContextData(key:value:) | Arbitrary ORTB API | @@ -116,6 +122,8 @@ PrebidMobile 3.0 introduces significant changes and removes several deprecated f ### PrebidRequest +{: .table .table-bordered .table-striped } + | Removed | Alternative | | ------------------------------- | ------------------ | | addExtData(key:value:) | Arbitrary ORTB API | @@ -137,19 +145,17 @@ PrebidMobile 3.0 introduces significant changes and removes several deprecated f ### ExternalUserId +{: .table .table-bordered .table-striped } + | Removed | Alternative | | ---------------------------------- | ---------------------- | | identifier | uids[].id | | atype | uids[].atype | | init(source:identifier:atype:ext:) | init(source:uids:ext:) | -### BannerAdUnit - -| Removed | Alternative | -| ---------- | ---------------- | -| parameters | bannerParameters | +### BannerAdUnit, InterstitialAdUnit -### InterstitialAdUnit +{: .table .table-bordered .table-striped } | Removed | Alternative | | ---------- | ---------------- | @@ -157,12 +163,16 @@ PrebidMobile 3.0 introduces significant changes and removes several deprecated f ### RewardedVideoAdUnit +{: .table .table-bordered .table-striped } + | Removed | Alternative | | ---------- | --------------- | | parameters | videoParameters | ### BannerView, InterstitialRenderingAdUnit, RewardedAdUnit, MediationBannerAdUnit, MediationBaseInterstitialAdUnit, MediationNativeAdUnit +{: .table .table-bordered .table-striped } + | Removed | Alternative | | ------------------------------- | ------------------------- | | ortbConfig | setImpORTBConfig(\_:) | @@ -193,18 +203,24 @@ PrebidMobile 3.0 introduces significant changes and removes several deprecated f ### AdFormat +{: .table .table-bordered .table-striped } + | Removed | Alternative | | ------- | ----------- | | display | banner | ### Utils +{: .table .table-bordered .table-striped } + | Removed | Alternative | | --------------------------------- | -------------- | | convertDictToMoPubKeywords(dict:) | None, removed | ### Host +{: .table .table-bordered .table-striped } + | Removed | Alternative | | --------------------- | ------------------------------------ | | setCustomHostURL(\_:) | setHostURL(\_:nonTrackingURLString:) | From 0d75691b803fbcbf5916eafe6942ec9e60e5fdf1 Mon Sep 17 00:00:00 2001 From: Olena Stepaniuk Date: Wed, 2 Apr 2025 16:05:42 +0300 Subject: [PATCH 04/52] docs: minor changes --- prebid-mobile/updates-3.0/ios/updates-3.0.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/prebid-mobile/updates-3.0/ios/updates-3.0.md b/prebid-mobile/updates-3.0/ios/updates-3.0.md index 087fba5814..571524684d 100644 --- a/prebid-mobile/updates-3.0/ios/updates-3.0.md +++ b/prebid-mobile/updates-3.0/ios/updates-3.0.md @@ -9,13 +9,12 @@ sidebarType: 2 --- # Prebid Mobile 3.0 - {:.no_toc} This page provides a detailed list of removed APIs in PrebidMobile SDK 3.0, along with their corresponding recommended replacements. - TOC - {:toc} +{:toc} ## Elimination of Deprecated Functionality From 8b01a19e897e9672a88b688a6b90482dd9df92df Mon Sep 17 00:00:00 2001 From: Valentin Petrovich Date: Wed, 2 Apr 2025 15:24:35 +0200 Subject: [PATCH 05/52] docs: android doc --- _data/sidebar.yml | 8 + .../updates-3.0/android/updates-3.0.md | 193 ++++++++++++++++++ 2 files changed, 201 insertions(+) diff --git a/_data/sidebar.yml b/_data/sidebar.yml index 802c6ae2bd..a484688280 100644 --- a/_data/sidebar.yml +++ b/_data/sidebar.yml @@ -936,6 +936,14 @@ sectionTitle: subgroup: 3 +- sbSecId: 2 + title: Prebid Mobile 3.0 + link: /prebid-mobile/updates-3.0/android/updates-3.0.html + isHeader: 0 + isSectionHeader: 0 + sectionTitle: + subgroup: 2 + - sbSecId: 2 title: API Reference link: /prebid-mobile-android/index.html diff --git a/prebid-mobile/updates-3.0/android/updates-3.0.md b/prebid-mobile/updates-3.0/android/updates-3.0.md index e69de29bb2..e3658aec36 100644 --- a/prebid-mobile/updates-3.0/android/updates-3.0.md +++ b/prebid-mobile/updates-3.0/android/updates-3.0.md @@ -0,0 +1,193 @@ +--- +layout: page_v2 +title: Prebid Mobile 3.0 Updates +description: Prebid Mobile 3.0 Updates +pid: 1 +top_nav_section: prebid-mobile +nav_section: prebid-mobile-android +sidebarType: 2 +--- + +# Prebid Mobile 3.0 + +{:.no_toc} + +This page provides a detailed list of removed APIs in PrebidMobile SDK 3.0, along with their corresponding recommended +replacements. + +- TOC + {:toc} + +## Elimination of Deprecated Functionality + +PrebidMobile 3.0 introduces significant changes and removes several deprecated features. Below is a detailed breakdown +of these removals, and how publishers should migrate to the new alternatives. + +### PrebidMobile + +{: .table .table-bordered .table-striped } + +| Removed | Alternative | +|----------------------------------|----------------------------------------| +| isCoppaEnabled | None, removed. | +| useExternalBrowser | None, removed. | +| sendMraidSupportParams | None, by default true. | +| logLevel | setLogLevel() | +| setPrebidServerHost() | initializeSdk() with host parameter | +| setExternalUserIds() | TargetingParams.setExternalUserIds() | +| initializeSdk(context, listener) | initializeSdk(context, host, listener) | +| getApplicationContext() | None, removed. | + +--- + +### Ad units + +All classes with ad unit data: AdUnit, BannerView, InterstitialAdUnit, RewardedAdUnit, MediationBannerAdUnit, +MediationBaseInterstitialAdUnit, MediationNativeAdUnit, PrebidRequest, TargetingParams. + +{: .table .table-bordered .table-striped } + +| Removed | Alternative | +|----------------------------|-------------------------------------------------------------| +| addContextData() | None, removed. Can be replaced with OpenRTB config. | +| updateContextData() | None, removed. Can be replaced with OpenRTB config. | +| removeContextData() | None, removed. Can be replaced with OpenRTB config. | +| clearContextData() | None, removed. | +| getContextDataDictionary() | None, removed. Can be replaced with OpenRTB config. | +| addContextKeyword() | None, removed. Can be replaced with OpenRTB config. | +| addContextKeywords() | None, removed. Can be replaced with OpenRTB config. | +| removeContextKeyword() | None, removed. Can be replaced with OpenRTB config. | +| clearContextKeywords() | None, removed. Can be replaced with OpenRTB config. | +| getContextKeywordsSet() | None, removed. Can be replaced with OpenRTB config. | +| addExtKeyword() | None, removed. Can be replaced with OpenRTB config. | +| addExtKeywords() | None, removed. Can be replaced with OpenRTB config. | +| removeExtKeyword() | None, removed. Can be replaced with OpenRTB config. | +| clearExtKeywords() | None, removed. Can be replaced with OpenRTB config. | +| getExtKeywordsSet() | None, removed. Can be replaced with OpenRTB config. | +| setAppContent() | None, removed. Can be replaced with OpenRTB config. | +| getAppContent() | None, removed. Can be replaced with OpenRTB config. | +| addUserData() | None, removed. Can be replaced with OpenRTB config. | +| getUserData() | None, removed. Can be replaced with OpenRTB config. | +| clearUserData() | None, removed. Can be replaced with OpenRTB config. | +| setOrtbConfig() | setImpOrtbConfig() or TargetingParams.setGlobalOrtbConfig() | + +### AdUnit + +{: .table .table-bordered .table-striped } + +| Removed | Alternative | +|----------------------------------|----------------------------------| +| setAutoRefreshPeriodMillis() | setAutoRefreshInterval() | +| fetchDemand(OnCompleteListener2) | fetchDemand(OnFetchDemandResult) | + +### BannerAdUnit + +{: .table .table-bordered .table-striped } + +| Removed | Alternative | +|-----------------------|------------------| +| setParameters() | Parameters class | +| getParameters() | Parameters class | +| setBannerParameters() | BannerParameters | +| getBannerParameters() | BannerParameters | + +--- + +### InterstitialAdUnit + +{: .table .table-bordered .table-striped } + +| Removed | Alternative | +|----------------------|------------------| +| setParameters() | Parameters class | +| getParameters() | Parameters class | +| setVideoParameters() | VideoParameters | +| getVideoParameters() | VideoParameters | + +--- + +### VideoAdUnit + +The class was removed. Alternative - BannerAdUnit with video ad format. + +### VideoInterstitialAdUnit + +The class was removed. Alternative - InterstitialAdUnit with video ad format. + +### Support Classes - TargetingParams + +{: .table .table-bordered .table-striped } + +| Removed | Alternative | +|------------------------------|-----------------------------------------------| +| setUserAge() | None, removed. | +| getUserAge() | None, removed. | +| getYearOfBirth() | Deprecated in OpenRTB. Removed. | +| setYearOfBirth() | Deprecated in OpenRTB. Removed. | +| GENDER | Deprecated in OpenRTB. Removed. | +| getGender() | Deprecated in OpenRTB. Removed. | +| setGender() | Deprecated in OpenRTB. Removed. | +| setUserId() | None, removed. | +| getUserId() | None, removed. | +| setBuyerId() | None, removed. | +| getBuyerId() | None, removed. | +| getUserCustomData() | None, removed. | +| setUserCustomData() | None, removed. | +| storeExternalUserId() | None, removed. | +| fetchStoredExternalUserId() | None, removed. | +| fetchStoredExternalUserIds() | None, removed. | +| removeStoredExternalUserId() | None, removed. | +| clearStoredExternalUserIds() | setExternalUserIds() and getExternalUserIds() | + +### ExternalUserId + +{: .table .table-bordered .table-striped } + +| Removed | Alternative | +|------------------------------------------------|------------------------------| +| ExternalUserId(source, identifier, atype, ext) | ExternalUserId(source, uids) | +| getAtype() | Use UniqueId class. | +| setAtype() | Use UniqueId class. | +| getIdentifier() | Use UniqueId class. | +| setIdentifier() | Use UniqueId class. | + +### PrebidNativeAd + +{: .table .table-bordered .table-striped } + +| Removed | Alternative | +|-------------------------------------------------|------------------------------------| +| registerView(view, listener) | registerView(view, list, listener) | +| registerViewList(container, viewList, listener) | registerView(view, list, listener) | + +### AdFormat + +{: .table .table-bordered .table-striped } + +| Removed | Alternative | +|---------|-------------| +| DISPLAY | BANNER | + +### Host + +{: .table .table-bordered .table-striped } + +| Removed | Alternative | +|----------|-------------------------------------------------------------| +| APPNEXUS | "https://ib.adnxs.com/openrtb2/prebid" | +| RUBICON | "https://prebid-server.rubiconproject.com/openrtb2/auction" | + +### NativeImageAsset + +{: .table .table-bordered .table-striped } + +| Removed | Alternative | +|--------------------|------------------------------------| +| NativeImageAsset() | NativeImageAsset(w, h, minw, minh) | + +### Other Changes + +- Removed deprecated `InitError` class. +- Removed deprecated `SdkInitListener` interface. +- Removed deprecated `OnCompleteListener` interface. +- Introduced `SdkInitialization` listener without deprecated callbacks. From 1add664a58bce16ab29dc45f4b4b258c1a95a72b Mon Sep 17 00:00:00 2001 From: Valentin Petrovich Date: Wed, 2 Apr 2025 15:29:32 +0200 Subject: [PATCH 06/52] docs: lint fix --- prebid-mobile/updates-3.0/android/updates-3.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prebid-mobile/updates-3.0/android/updates-3.0.md b/prebid-mobile/updates-3.0/android/updates-3.0.md index e3658aec36..c22262db2f 100644 --- a/prebid-mobile/updates-3.0/android/updates-3.0.md +++ b/prebid-mobile/updates-3.0/android/updates-3.0.md @@ -174,8 +174,8 @@ The class was removed. Alternative - InterstitialAdUnit with video ad format. | Removed | Alternative | |----------|-------------------------------------------------------------| -| APPNEXUS | "https://ib.adnxs.com/openrtb2/prebid" | -| RUBICON | "https://prebid-server.rubiconproject.com/openrtb2/auction" | +| APPNEXUS | "" | +| RUBICON | "" | ### NativeImageAsset From c6aa31f959a58fef73785b7d31b8a972b810b457 Mon Sep 17 00:00:00 2001 From: Valentin Petrovich Date: Wed, 2 Apr 2025 15:40:55 +0200 Subject: [PATCH 07/52] docs: remove TOC --- prebid-mobile/updates-3.0/android/updates-3.0.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/prebid-mobile/updates-3.0/android/updates-3.0.md b/prebid-mobile/updates-3.0/android/updates-3.0.md index c22262db2f..cee0cafe4f 100644 --- a/prebid-mobile/updates-3.0/android/updates-3.0.md +++ b/prebid-mobile/updates-3.0/android/updates-3.0.md @@ -15,9 +15,6 @@ sidebarType: 2 This page provides a detailed list of removed APIs in PrebidMobile SDK 3.0, along with their corresponding recommended replacements. -- TOC - {:toc} - ## Elimination of Deprecated Functionality PrebidMobile 3.0 introduces significant changes and removes several deprecated features. Below is a detailed breakdown From da510e72bf7af42bf1ea0b4ad07d88d938dac518 Mon Sep 17 00:00:00 2001 From: Valentin Petrovich Date: Wed, 2 Apr 2025 15:45:28 +0200 Subject: [PATCH 08/52] docs: add ext data --- prebid-mobile/updates-3.0/android/updates-3.0.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/prebid-mobile/updates-3.0/android/updates-3.0.md b/prebid-mobile/updates-3.0/android/updates-3.0.md index cee0cafe4f..782d4ad3ed 100644 --- a/prebid-mobile/updates-3.0/android/updates-3.0.md +++ b/prebid-mobile/updates-3.0/android/updates-3.0.md @@ -49,7 +49,7 @@ MediationBaseInterstitialAdUnit, MediationNativeAdUnit, PrebidRequest, Targeting | addContextData() | None, removed. Can be replaced with OpenRTB config. | | updateContextData() | None, removed. Can be replaced with OpenRTB config. | | removeContextData() | None, removed. Can be replaced with OpenRTB config. | -| clearContextData() | None, removed. | +| clearContextData() | None, removed. Can be replaced with OpenRTB config. | | getContextDataDictionary() | None, removed. Can be replaced with OpenRTB config. | | addContextKeyword() | None, removed. Can be replaced with OpenRTB config. | | addContextKeywords() | None, removed. Can be replaced with OpenRTB config. | @@ -61,6 +61,11 @@ MediationBaseInterstitialAdUnit, MediationNativeAdUnit, PrebidRequest, Targeting | removeExtKeyword() | None, removed. Can be replaced with OpenRTB config. | | clearExtKeywords() | None, removed. Can be replaced with OpenRTB config. | | getExtKeywordsSet() | None, removed. Can be replaced with OpenRTB config. | +| addExtData() | None, removed. Can be replaced with OpenRTB config. | +| updateExtData() | None, removed. Can be replaced with OpenRTB config. | +| removeExtData(String key) | None, removed. Can be replaced with OpenRTB config. | +| clearExtData() | None, removed. Can be replaced with OpenRTB config. | +| getExtDataDictionary() | None, removed. Can be replaced with OpenRTB config. | | setAppContent() | None, removed. Can be replaced with OpenRTB config. | | getAppContent() | None, removed. Can be replaced with OpenRTB config. | | addUserData() | None, removed. Can be replaced with OpenRTB config. | @@ -169,8 +174,8 @@ The class was removed. Alternative - InterstitialAdUnit with video ad format. {: .table .table-bordered .table-striped } -| Removed | Alternative | -|----------|-------------------------------------------------------------| +| Removed | Alternative | +|----------|---------------------------------------------------------------| | APPNEXUS | "" | | RUBICON | "" | From 090a082589bbd2ddc49bcf126948b7f207ad4781 Mon Sep 17 00:00:00 2001 From: Valentin Petrovich Date: Wed, 2 Apr 2025 17:41:45 +0200 Subject: [PATCH 09/52] docs: fix subgroup --- _data/sidebar.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_data/sidebar.yml b/_data/sidebar.yml index a484688280..6373d940bb 100644 --- a/_data/sidebar.yml +++ b/_data/sidebar.yml @@ -942,7 +942,7 @@ isHeader: 0 isSectionHeader: 0 sectionTitle: - subgroup: 2 + subgroup: 3 - sbSecId: 2 title: API Reference From f3689e2f29c126c973a298bd434bafc523f704be Mon Sep 17 00:00:00 2001 From: Olena Stepaniuk Date: Thu, 3 Apr 2025 10:45:09 +0300 Subject: [PATCH 10/52] docs: try to add style for table in ios doc --- prebid-mobile/updates-3.0/ios/updates-3.0.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/prebid-mobile/updates-3.0/ios/updates-3.0.md b/prebid-mobile/updates-3.0/ios/updates-3.0.md index 571524684d..03623ecc54 100644 --- a/prebid-mobile/updates-3.0/ios/updates-3.0.md +++ b/prebid-mobile/updates-3.0/ios/updates-3.0.md @@ -8,6 +8,16 @@ nav_section: prebid-mobile-ios sidebarType: 2 --- + + + # Prebid Mobile 3.0 {:.no_toc} From c09ce239023efc541659d578744f7c56451dc7c7 Mon Sep 17 00:00:00 2001 From: Olena Stepaniuk Date: Thu, 3 Apr 2025 10:46:11 +0300 Subject: [PATCH 11/52] docs: fix linting issue --- prebid-mobile/updates-3.0/ios/updates-3.0.md | 1 - 1 file changed, 1 deletion(-) diff --git a/prebid-mobile/updates-3.0/ios/updates-3.0.md b/prebid-mobile/updates-3.0/ios/updates-3.0.md index 03623ecc54..8c41c25ff9 100644 --- a/prebid-mobile/updates-3.0/ios/updates-3.0.md +++ b/prebid-mobile/updates-3.0/ios/updates-3.0.md @@ -17,7 +17,6 @@ table th:nth-of-type(2) { } - # Prebid Mobile 3.0 {:.no_toc} From c57d49502760920de2bed91f3509614007f95279 Mon Sep 17 00:00:00 2001 From: Olena Stepaniuk Date: Thu, 3 Apr 2025 10:49:06 +0300 Subject: [PATCH 12/52] docs: add style to table in android doc --- prebid-mobile/updates-3.0/android/updates-3.0.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/prebid-mobile/updates-3.0/android/updates-3.0.md b/prebid-mobile/updates-3.0/android/updates-3.0.md index 782d4ad3ed..546b27b69b 100644 --- a/prebid-mobile/updates-3.0/android/updates-3.0.md +++ b/prebid-mobile/updates-3.0/android/updates-3.0.md @@ -8,6 +8,15 @@ nav_section: prebid-mobile-android sidebarType: 2 --- + + # Prebid Mobile 3.0 {:.no_toc} From 5260c08595730367cb34aedd0aadf0a6d1332dcf Mon Sep 17 00:00:00 2001 From: Olena Stepaniuk Date: Thu, 3 Apr 2025 10:57:00 +0300 Subject: [PATCH 13/52] docs: change sidebar titles for 3.0 page --- _data/sidebar.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_data/sidebar.yml b/_data/sidebar.yml index 6373d940bb..71f7f7b92f 100644 --- a/_data/sidebar.yml +++ b/_data/sidebar.yml @@ -832,7 +832,7 @@ subgroup: 2 - sbSecId: 2 - title: Prebid Mobile 3.0 + title: SDK 3.0 link: /prebid-mobile/updates-3.0/ios/updates-3.0.html isHeader: 0 isSectionHeader: 0 @@ -937,7 +937,7 @@ subgroup: 3 - sbSecId: 2 - title: Prebid Mobile 3.0 + title: SDK 3.0 link: /prebid-mobile/updates-3.0/android/updates-3.0.html isHeader: 0 isSectionHeader: 0 From 000636be5a97e6729b04185a972e9fcceb14c78c Mon Sep 17 00:00:00 2001 From: Olena Stepaniuk Date: Thu, 3 Apr 2025 15:24:59 +0300 Subject: [PATCH 14/52] docs: add 3.0 key features page --- _data/sidebar.yml | 16 +++- .../{updates-3.0.md => api-changes.md} | 0 .../ios/{updates-3.0.md => api-changes.md} | 0 prebid-mobile/updates-3.0/sdk-key-features.md | 94 +++++++++++++++++++ 4 files changed, 106 insertions(+), 4 deletions(-) rename prebid-mobile/updates-3.0/android/{updates-3.0.md => api-changes.md} (100%) rename prebid-mobile/updates-3.0/ios/{updates-3.0.md => api-changes.md} (100%) create mode 100644 prebid-mobile/updates-3.0/sdk-key-features.md diff --git a/_data/sidebar.yml b/_data/sidebar.yml index 71f7f7b92f..05e47dea79 100644 --- a/_data/sidebar.yml +++ b/_data/sidebar.yml @@ -675,6 +675,14 @@ sectionTitle: subgroup: 0 +- sbSecId: 2 + title: Prebid Mobile 3.0 + link: /prebid-mobile/updates-3.0/sdk-key-features.html + isHeader: 0 + isSectionHeader: 0 + sectionTitle: + subgroup: 0 + - sbSecId: 2 title: Prebid AMP link: /dev-docs/show-prebid-ads-on-amp-pages.html @@ -832,8 +840,8 @@ subgroup: 2 - sbSecId: 2 - title: SDK 3.0 - link: /prebid-mobile/updates-3.0/ios/updates-3.0.html + title: SDK 3.0 API changes + link: /prebid-mobile/updates-3.0/ios/api-changes.html isHeader: 0 isSectionHeader: 0 sectionTitle: @@ -937,8 +945,8 @@ subgroup: 3 - sbSecId: 2 - title: SDK 3.0 - link: /prebid-mobile/updates-3.0/android/updates-3.0.html + title: SDK 3.0 API changes + link: /prebid-mobile/updates-3.0/android/api-changes.html isHeader: 0 isSectionHeader: 0 sectionTitle: diff --git a/prebid-mobile/updates-3.0/android/updates-3.0.md b/prebid-mobile/updates-3.0/android/api-changes.md similarity index 100% rename from prebid-mobile/updates-3.0/android/updates-3.0.md rename to prebid-mobile/updates-3.0/android/api-changes.md diff --git a/prebid-mobile/updates-3.0/ios/updates-3.0.md b/prebid-mobile/updates-3.0/ios/api-changes.md similarity index 100% rename from prebid-mobile/updates-3.0/ios/updates-3.0.md rename to prebid-mobile/updates-3.0/ios/api-changes.md diff --git a/prebid-mobile/updates-3.0/sdk-key-features.md b/prebid-mobile/updates-3.0/sdk-key-features.md new file mode 100644 index 0000000000..cd6e93cc9e --- /dev/null +++ b/prebid-mobile/updates-3.0/sdk-key-features.md @@ -0,0 +1,94 @@ +--- +layout: page_v2 +title: Prebid Mobile 3.0 Key Features +description: Prebid Mobile 3.0 Key Features +pid: 1 +top_nav_section: prebid-mobile +nav_section: prebid-mobile-ios +sidebarType: 2 +--- + +# Prebid Mobile 3.0 Key Features +{:.no_toc} + +PrebidMobile 3.0 offers a robust and versatile set of features tailored to help publishers improve their ad delivery efficiency. Below, you will find a concise overview of each feature and its capabilities. + +- TOC +{:toc} + +## Arbitrary OpenRTB + +The SDK enables publishers to customize the OpenRTB request according to their specific requirements. This customization can be done at two levels: the global and the impression level. + +For more information about global configuration, check out these pages: + +- iOS: [Global Arbitrary OpenRTB](/prebid-mobile/pbm-api/ios/pbm-targeting-ios.html#arbitrary-openrtb); +- Android: [Global Arbitrary OpenRTB](/prebid-mobile/pbm-api/android/pbm-targeting-android.html#arbitrary-openrtb). + +The information about impression-level configuration is available here: + +- iOS: [Impression-level Arbitrary OpenRTB](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.md#arbitrary-openrtb); +- Android: [Impression-level Arbitrary OpenRTB](/prebid-mobile/pbm-api/android/android-sdk-integration-gam-original-api.html#arbitrary-openrtb). + +## Multiformat Ad Unit in Bidding-only Scenario + +This feature enables publishers to generate multiformat bid requests, specifically within a bidding-only setup. By leveraging this functionality, publishers can request bids that support any combination of ad formats, including banner, video, and native ads, within a single unified request. The Original API was extended with `PrebidAdUnit` and `PrebidRequest` classes that are responsible for managing the bid-requesting process by incapsulating the existing `AdUnit` class to perform all needed work. + +Further details could be found on the pages below: + +- iOS: [Prebid Mobile - GAM Bidding-only Multiformat](/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-multiformat.html); +- Android: [Prebid Mobile - GAM Bidding-only Multiformat](/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-multiformat.html). + +## Native Impression Tracking + +The SDK offers a native impression tracking API that enables publishers to track and record ad impressions by firing a billing notice URL (burl) whenever an impression is served. + +Refer to these articles for more information: + +- iOS: [Native Impression Tracking](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.html#native-impression-tracking); +- Android: [Native Impression Tracking](/prebid-mobile/pbm-api/android/android-sdk-integration-gam-original-api.html#native-impression-tracking). + +## Rendering Delegation + +The SDK offers a standardized way for developers to implement custom ad rendering solutions, enabling publishers to integrate their own custom rendering SDK. This layer provides the flexibility to move away from default solutions like Prebid Universal Creative, Google Ad Manager (GAM), or other rendering options, allowing publishers to take full control of the rendering process with their preferred solution. + +For the implementation details, refer to these articles: + +- iOS: [Create your implementation of the `PrebidMobilePluginRenderer`](/prebid-mobile/pbm-api/ios/pbm-plugin-renderer.html#create-your-implementation-of-the-prebidmobilepluginrenderer); +- Android: [Create your implementation of the `PrebidMobilePluginRenderer`](/prebid-mobile/pbm-api/android/pbm-plugin-renderer.md#create-your-implementation-of-the-prebidmobilepluginrenderer). + +## Rewarded Ad Unit + +The SDK provides an enhanced and more publisher-oriented `RewardedAdUnit`, allowing for greater customization, flexibility, and control over the rewarded ad experience, tailored to the specific needs of the publisher. The `RewardedAdUnit` assumes special behavior that should be configurable by the platform or publisher according to the application or ad experience guides. + +Refer to these pages for the implementation details: + +- iOS: [Rewarded](/prebid-mobile/modules/rendering/ios-sdk-integration-pb.html); +- Android: [Rewarded](/prebid-mobile/modules/rendering/android-sdk-integration-pb.html). + +## SKAdNetwork in Bidding-only scenario + +Apple offers SKAdNetwork as a privacy-focused solution that allows ad networks to track app installs while protecting user data. In line with this, the SDK supports two SKAdNetwork methods that enable ad networks to deliver ads in a bidding-only context, specifically for **banner** and **native** ad formats. These methods include view-through and StoreKit-rendered ads. + +Refer to this article for more information: [SKAdNetwork](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.html#skadnetwork). + +## SKOverlay + +The SDK also provides support of SKOverlay for interstitials. SKOverlay enables developers to present additional content or calls to action as an overlay on top of interstitial ads, without interrupting the overall flow of the ad experience. + +Refer to this article for more information: [SKAdNetwork](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.html#skoverlay). + +## Shared ID + +The SDK provides a way for publishers to opt into having the Prebid SDK generate a Shared ID. Shared ID is a randomly generated first-party identifier managed by Prebid. It remains the same throughout the current app session unless reset. If local storage access is permitted, the same ID may persist across multiple app sessions indefinitely. However, Shared ID values do not remain consistent across different apps on the same device. + +For further information, read these articles: + +- iOS: [Shared ID](/prebid-mobile/pbm-api/ios/pbm-targeting-ios.html#shared-id); +- Android: [Shared ID](/prebid-mobile/pbm-api/android/pbm-targeting-android.html#shared-id). + +## Video UX + +When utilizing the Prebid SDK to render the winning bid, you have the ability to customize its behavior. The configuration values can either be initialized based on the bid response or explicitly defined by the publisher, providing flexibility in managing the user experience. + +Refer to this page for the implementation details: [Ad Experience Controls](/prebid-mobile/modules/rendering/combined-ad-experience-controls.html#ad-experience-controls). \ No newline at end of file From 1633cce0128320d9d4ede094d4ee48dff45b82e8 Mon Sep 17 00:00:00 2001 From: Olena Stepaniuk Date: Thu, 3 Apr 2025 15:26:37 +0300 Subject: [PATCH 15/52] docs: fix linting error --- prebid-mobile/updates-3.0/sdk-key-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prebid-mobile/updates-3.0/sdk-key-features.md b/prebid-mobile/updates-3.0/sdk-key-features.md index cd6e93cc9e..0207194164 100644 --- a/prebid-mobile/updates-3.0/sdk-key-features.md +++ b/prebid-mobile/updates-3.0/sdk-key-features.md @@ -91,4 +91,4 @@ For further information, read these articles: When utilizing the Prebid SDK to render the winning bid, you have the ability to customize its behavior. The configuration values can either be initialized based on the bid response or explicitly defined by the publisher, providing flexibility in managing the user experience. -Refer to this page for the implementation details: [Ad Experience Controls](/prebid-mobile/modules/rendering/combined-ad-experience-controls.html#ad-experience-controls). \ No newline at end of file +Refer to this page for the implementation details: [Ad Experience Controls](/prebid-mobile/modules/rendering/combined-ad-experience-controls.html#ad-experience-controls). From a8c0a68431d69e07de41baf600a1d2da4287d131 Mon Sep 17 00:00:00 2001 From: Olena Stepaniuk Date: Thu, 3 Apr 2025 15:31:12 +0300 Subject: [PATCH 16/52] docs: small change in key features article --- prebid-mobile/updates-3.0/sdk-key-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prebid-mobile/updates-3.0/sdk-key-features.md b/prebid-mobile/updates-3.0/sdk-key-features.md index 0207194164..f3db01e1d0 100644 --- a/prebid-mobile/updates-3.0/sdk-key-features.md +++ b/prebid-mobile/updates-3.0/sdk-key-features.md @@ -76,7 +76,7 @@ Refer to this article for more information: [SKAdNetwork](/prebid-mobile/pbm-api The SDK also provides support of SKOverlay for interstitials. SKOverlay enables developers to present additional content or calls to action as an overlay on top of interstitial ads, without interrupting the overall flow of the ad experience. -Refer to this article for more information: [SKAdNetwork](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.html#skoverlay). +Refer to this article for more information: [SKOverlay](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.html#skoverlay). ## Shared ID From 1ea3647cf61b58666d729f793198e8ad94622b9e Mon Sep 17 00:00:00 2001 From: Olena Stepaniuk Date: Thu, 3 Apr 2025 16:19:57 +0300 Subject: [PATCH 17/52] docs: ios - add links to api doc --- _data/sidebar.yml | 4 +- prebid-mobile/updates-3.0/ios/api-changes.md | 130 +++++++++---------- 2 files changed, 67 insertions(+), 67 deletions(-) diff --git a/_data/sidebar.yml b/_data/sidebar.yml index 05e47dea79..6302ec4419 100644 --- a/_data/sidebar.yml +++ b/_data/sidebar.yml @@ -840,7 +840,7 @@ subgroup: 2 - sbSecId: 2 - title: SDK 3.0 API changes + title: Prebid Mobile 3.0 API changes link: /prebid-mobile/updates-3.0/ios/api-changes.html isHeader: 0 isSectionHeader: 0 @@ -945,7 +945,7 @@ subgroup: 3 - sbSecId: 2 - title: SDK 3.0 API changes + title: Prebid Mobile 3.0 API changes link: /prebid-mobile/updates-3.0/android/api-changes.html isHeader: 0 isSectionHeader: 0 diff --git a/prebid-mobile/updates-3.0/ios/api-changes.md b/prebid-mobile/updates-3.0/ios/api-changes.md index 8c41c25ff9..a8f9a33015 100644 --- a/prebid-mobile/updates-3.0/ios/api-changes.md +++ b/prebid-mobile/updates-3.0/ios/api-changes.md @@ -35,40 +35,40 @@ PrebidMobile 3.0 introduces significant changes and removes several deprecated f | Removed | Alternative | | -------------------------------------- | --------------------------------- | -| buyerUID | Arbitrary ORTB API | -| userCustomData | Arbitrary ORTB API | +| buyerUID | [setGlobalORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)setGlobalORTBConfig:) | +| userCustomData | [setGlobalORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)setGlobalORTBConfig:) | | locationPrecision | None, removed | | setLocationPrecision(\_:) | None, removed | | getLocationPrecision() | None, removed | | setCustomParams(\_:) | None, removed | | addCustomParam(\_:withName:) | None, removed | -| addUserData(key:value:) | userExt, Arbitrary ORTB API | +| addUserData(key:value:) | [userExt](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(py)userExt), [setGlobalORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)setGlobalORTBConfig:) | | updateUserData(key:value:) | None, removed | | removeUserData(for:) | None, removed | | clearUserData() | None, removed | | getUserData() | None, removed | | userDataDictionary | None, removed | -| userKeywords | getUserKeywords() | -| addContextData(key:value:) | addAppExtData(key:value:) | -| updateContextData(key:value:) | updateAppExtData(key:value:) | -| removeContextData(for:) | removeAppExtData(for:) | -| clearContextData() | clearAppExtData() | -| getContextData() | getAppExtData() | -| contextDataDictionary | getAppExtData() | -| addContextKeyword(\_:) | addAppKeyword(\_:) | -| addContextKeywords(\_:) | addAppKeywords(\_:) | -| removeContextKeyword(\_:) | removeAppKeyword(\_:) | -| clearContextKeywords() | clearAppKeywords() | -| getContextKeywords() | getAppKeywords() | -| contextKeywords | getAppKeywords() | +| userKeywords | [getUserKeywords()](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)getUserKeywords) | +| addContextData(key:value:) | [addAppExtData(key:value:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)addAppExtDataWithKey:value:) | +| updateContextData(key:value:) | [updateAppExtData(key:value:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)updateAppExtDataWithKey:value:) | +| removeContextData(for:) | [removeAppExtData(for:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)removeAppExtDataFor:) | +| clearContextData() | [clearAppExtData()](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)clearAppExtData) | +| getContextData() | [getAppExtData()](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)getAppExtData) | +| contextDataDictionary | [getAppExtData()](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)getAppExtData) | +| addContextKeyword(\_:) | [addAppKeyword(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)addAppKeyword:) | +| addContextKeywords(\_:) | [addAppKeywords(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)addAppKeywords:) | +| removeContextKeyword(\_:) | [removeAppKeyword(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)removeAppKeyword:) | +| clearContextKeywords() | [clearAppKeywords()](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)clearAppKeywords) | +| getContextKeywords() | [getAppKeywords()](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)getAppKeywords) | +| contextKeywords | [getAppKeywords()](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)getAppKeywords) | | yearOfBirth | None, deprecated by ORTB. | | setYearOfBirth(yob:) | None, deprecated by ORTB. | | getYearOfBirth() | None, deprecated by ORTB. | | clearYearOfBirth() | None, deprecated by ORTB. | | userGender | None, deprecated by ORTB. | | userGenderDescription() | None, deprecated by ORTB. | -| userID | Arbitrary ORTB API | -| eids | Targeting.setExternalUserIds(\_:) | +| userID | [setGlobalORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)setGlobalORTBConfig:) | +| eids | [Targeting.shared.setExternalUserIds(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)setExternalUserIds:) | | storeExternalUserId(\_:) | None, removed | | fetchStoredExternalUserIds() | None, removed | | fetchStoredExternalUserId(\_ source:) | None, removed | @@ -83,14 +83,14 @@ PrebidMobile 3.0 introduces significant changes and removes several deprecated f | -------------------------------------- | ------------------------------------------------ | | bidderNameAppNexus | None, removed | | bidderNameRubiconProject | None, removed | -| externalUserIdArray | Targeting.setExternalUserIds(\_:) | -| prebidServerHost | initializeSDK(serverURL:) | +| externalUserIdArray | [Targeting.shared.setExternalUserIds(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)setExternalUserIds:) | +| prebidServerHost | [initializeSDK(serverURL:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Prebid.html#/c:@M@PrebidMobile@objc(cs)Prebid(cm)initializeSDKWithServerURL:error::) | | useExternalClickthroughBrowser | None, removed | | impClickbrowserType | None, removed | -| setCustomPrebidServer(url:) | initializeSDK(serverURL:) | -| initializeSDK(_:_:) | initializeSDK(serverURL:_:_) | -| initializeSDK(gadMobileAdsVersion:\_:) | initializeSDK(serverURL:gadMobileAdsVersion:\_:) | -| initializeSDK(\_:) | initializeSDK(serverURL:\_:) | +| setCustomPrebidServer(url:) | [initializeSDK(serverURL:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Prebid.html#/c:@M@PrebidMobile@objc(cs)Prebid(cm)initializeSDKWithServerURL:error::) | +| initializeSDK(_:_:) | [initializeSDK(serverURL:_:_)](https://docs.prebid.org/prebid-mobile-ios/Classes/Prebid.html#/c:@M@PrebidMobile@objc(cs)Prebid(cm)initializeSDKWithServerURL::error::) | +| initializeSDK(gadMobileAdsVersion:\_:) | [initializeSDK(serverURL:gadMobileAdsVersion:\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Prebid.html#/c:@M@PrebidMobile@objc(cs)Prebid(cm)initializeSDKWithServerURL:gadMobileAdsVersion:error::) | +| initializeSDK(\_:) | [initializeSDK(serverURL:\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Prebid.html#/c:@M@PrebidMobile@objc(cs)Prebid(cm)initializeSDK::) | ### AdUnit @@ -98,35 +98,35 @@ PrebidMobile 3.0 introduces significant changes and removes several deprecated f | Removed | Alternative | | ----------------------------- | ------------------------------- | -| addContextData(key:value:) | Arbitrary ORTB API | +| addContextData(key:value:) | [setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/AdUnit.html#/c:@M@PrebidMobile@objc(cs)AdUnit(im)setImpORTBConfig:) | | updateContextData(key:value:) | None, removed | | removeContextData(forKey:) | None, removed | | clearContextData() | None, removed | -| addContextKeyword(\_:) | Arbitrary ORTB API | -| addContextKeywords(\_:) | Arbitrary ORTB API | +| addContextKeyword(\_:) | [setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/AdUnit.html#/c:@M@PrebidMobile@objc(cs)AdUnit(im)setImpORTBConfig:) | +| addContextKeywords(\_:) | [setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/AdUnit.html#/c:@M@PrebidMobile@objc(cs)AdUnit(im)setImpORTBConfig:) | | removeContextKeyword(\_:) | None, removed | | clearContextKeywords() | None, removed | -| addExtKeyword(\_:) | Arbitrary ORTB API | -| addExtKeywords(\_:) | Arbitrary ORTB API | +| addExtKeyword(\_:) | [setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/AdUnit.html#/c:@M@PrebidMobile@objc(cs)AdUnit(im)setImpORTBConfig:) | +| addExtKeywords(\_:) | [setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/AdUnit.html#/c:@M@PrebidMobile@objc(cs)AdUnit(im)setImpORTBConfig:) | | removeExtKeyword(\_:) | None, removed | | clearExtKeywords() | None, removed | -| addExtData(key:value:) | Arbitrary ORTB API | +| addExtData(key:value:) | [setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/AdUnit.html#/c:@M@PrebidMobile@objc(cs)AdUnit(im)setImpORTBConfig:) | | updateExtData(key:value:) | None, removed | | removeExtData(forKey:) | None, removed | | clearExtData() | None, removed | -| setAppContent(\_:) | Arbitrary ORTB API | +| setAppContent(\_:) | [Targeting.shared.setGlobalORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)setGlobalORTBConfig:) | | getAppContent() | None, removed | | clearAppContent() | None, removed | -| addAppContentData(\_:) | Arbitrary ORTB API | +| addAppContentData(\_:) | [Targeting.shared.setGlobalORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)setGlobalORTBConfig:) | | removeAppContentData(\_:) | None, removed | | clearAppContentData() | None, removed | | getUserData() | None, removed | -| addUserData(\_:) | Arbitrary ORTB API | +| addUserData(\_:) | [Targeting.shared.setGlobalORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)setGlobalORTBConfig:) | | removeUserData(\_:) | None, removed | | clearUserData() | None, removed | -| setOrtbConfig(\_:) | setImpORTBConfig(\_:) | -| getOrtbConfig() | getImpORTBConfig() | -| fetchDemand(completion:, \_:) | fetchDemand(completionBidInfo:) | +| setOrtbConfig(\_:) | [setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/AdUnit.html#/c:@M@PrebidMobile@objc(cs)AdUnit(im)setImpORTBConfig:) | +| getOrtbConfig() | [getImpORTBConfig()](https://docs.prebid.org/prebid-mobile-ios/Classes/AdUnit.html#/c:@M@PrebidMobile@objc(cs)AdUnit(im)getImpORTBConfig) | +| fetchDemand(completion:, \_:) | [fetchDemand(completionBidInfo:)](https://docs.prebid.org/prebid-mobile-ios/Classes/AdUnit.html#/c:@M@PrebidMobile@objc(cs)AdUnit(im)fetchDemandWithCompletionBidInfo:) | ### PrebidRequest @@ -134,20 +134,20 @@ PrebidMobile 3.0 introduces significant changes and removes several deprecated f | Removed | Alternative | | ------------------------------- | ------------------ | -| addExtData(key:value:) | Arbitrary ORTB API | +| addExtData(key:value:) | [setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/PrebidRequest.html#/c:@M@PrebidMobile@objc(cs)PrebidRequest(im)setImpORTBConfig:) | | updateExtData(key:value:) | None, removed | | removeExtData(forKey:) | None, removed | | clearExtData() | None, removed | -| addExtKeyword(\_:) | Arbitrary ORTB API | -| addExtKeywords(\_:) | Arbitrary ORTB API | +| addExtKeyword(\_:) | [setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/PrebidRequest.html#/c:@M@PrebidMobile@objc(cs)PrebidRequest(im)setImpORTBConfig:) | +| addExtKeywords(\_:) | [setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/PrebidRequest.html#/c:@M@PrebidMobile@objc(cs)PrebidRequest(im)setImpORTBConfig:) | | removeExtKeyword(\_:) | None, removed | | clearExtKeywords() | None, removed | -| setAppContent(\_:) | Arbitrary ORTB API | +| setAppContent(\_:) | [setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/PrebidRequest.html#/c:@M@PrebidMobile@objc(cs)PrebidRequest(im)setImpORTBConfig:) | | clearAppContent() | None, removed | -| addAppContentData(\_:) | Arbitrary ORTB API | +| addAppContentData(\_:) | [setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/PrebidRequest.html#/c:@M@PrebidMobile@objc(cs)PrebidRequest(im)setImpORTBConfig:) | | removeAppContentDataObject(\_:) | None, removed | | clearAppContentDataObjects() | None, removed | -| addUserData(\_:) | Arbitrary ORTB API | +| addUserData(\_:) | [setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/PrebidRequest.html#/c:@M@PrebidMobile@objc(cs)PrebidRequest(im)setImpORTBConfig:) | | removeUserData(\_:) | None, removed | | clearUserData() | None, removed | @@ -157,9 +157,9 @@ PrebidMobile 3.0 introduces significant changes and removes several deprecated f | Removed | Alternative | | ---------------------------------- | ---------------------- | -| identifier | uids[].id | -| atype | uids[].atype | -| init(source:identifier:atype:ext:) | init(source:uids:ext:) | +| identifier | [uids[].id](https://docs.prebid.org/prebid-mobile-ios/Classes/ExternalUserId.html#/c:@M@PrebidMobile@objc(cs)ExternalUserId(py)uids) | +| atype | [uids[].atype](https://docs.prebid.org/prebid-mobile-ios/Classes/ExternalUserId.html#/c:@M@PrebidMobile@objc(cs)ExternalUserId(py)uids) | +| init(source:identifier:atype:ext:) | [init(source:uids:ext:)](https://docs.prebid.org/prebid-mobile-ios/Classes/ExternalUserId.html#/c:@M@PrebidMobile@objc(cs)ExternalUserId(im)initWithSource:uids:ext:) | ### BannerAdUnit, InterstitialAdUnit @@ -167,7 +167,7 @@ PrebidMobile 3.0 introduces significant changes and removes several deprecated f | Removed | Alternative | | ---------- | ---------------- | -| parameters | bannerParameters | +| parameters | [BannerAdUnit.bannerParamters](https://docs.prebid.org/prebid-mobile-ios/Classes/BannerAdUnit.html#/c:@M@PrebidMobile@objc(cs)BannerAdUnit(py)bannerParameters), [InterstitialAdUnit.bannerParamters](https://docs.prebid.org/prebid-mobile-ios/Classes/InterstitialAdUnit.html#/c:@M@PrebidMobile@objc(cs)InterstitialAdUnit(py)bannerParameters) | ### RewardedVideoAdUnit @@ -175,7 +175,7 @@ PrebidMobile 3.0 introduces significant changes and removes several deprecated f | Removed | Alternative | | ---------- | --------------- | -| parameters | videoParameters | +| parameters | [videoParameters](https://docs.prebid.org/prebid-mobile-ios/Classes/RewardedVideoAdUnit.html#/c:@M@PrebidMobile@objc(cs)RewardedVideoAdUnit(py)videoParameters) | ### BannerView, InterstitialRenderingAdUnit, RewardedAdUnit, MediationBannerAdUnit, MediationBaseInterstitialAdUnit, MediationNativeAdUnit @@ -183,29 +183,29 @@ PrebidMobile 3.0 introduces significant changes and removes several deprecated f | Removed | Alternative | | ------------------------------- | ------------------------- | -| ortbConfig | setImpORTBConfig(\_:) | -| addExtKeyword(\_:) | Arbitrary ORTB API | -| addExtKeywords(\_:) | Arbitrary ORTB API | +| ortbConfig | [BannerView.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/BannerView.html#/c:@M@PrebidMobile@objc(cs)BannerView(im)setImpORTBConfig:), [InterstitialRenderingAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/InterstitialRenderingAdUnit.html#/c:@M@PrebidMobile@objc(cs)InterstitialRenderingAdUnit(im)setImpORTBConfig:), [RewardedAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/RewardedAdUnit.html#/c:@M@PrebidMobile@objc(cs)RewardedAdUnit(im)setImpORTBConfig:), [MediationBannerAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/MediationBannerAdUnit.html#/c:@M@PrebidMobile@objc(cs)MediationBannerAdUnit(im)setImpORTBConfig:), [MediationBaseInterstitialAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/MediationBaseInterstitialAdUnit.html#/c:@M@PrebidMobile@objc(cs)MediationBaseInterstitialAdUnit(im)setImpORTBConfig:), [MediationNativeAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/MediationNativeAdUnit.html#/c:@M@PrebidMobile@objc(cs)MediationNativeAdUnit(im)setImpORTBConfig:) | +| addExtKeyword(\_:) | [BannerView.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/BannerView.html#/c:@M@PrebidMobile@objc(cs)BannerView(im)setImpORTBConfig:), [InterstitialRenderingAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/InterstitialRenderingAdUnit.html#/c:@M@PrebidMobile@objc(cs)InterstitialRenderingAdUnit(im)setImpORTBConfig:), [RewardedAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/RewardedAdUnit.html#/c:@M@PrebidMobile@objc(cs)RewardedAdUnit(im)setImpORTBConfig:), [MediationBannerAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/MediationBannerAdUnit.html#/c:@M@PrebidMobile@objc(cs)MediationBannerAdUnit(im)setImpORTBConfig:), [MediationBaseInterstitialAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/MediationBaseInterstitialAdUnit.html#/c:@M@PrebidMobile@objc(cs)MediationBaseInterstitialAdUnit(im)setImpORTBConfig:), [MediationNativeAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/MediationNativeAdUnit.html#/c:@M@PrebidMobile@objc(cs)MediationNativeAdUnit(im)setImpORTBConfig:) | +| addExtKeywords(\_:) | [BannerView.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/BannerView.html#/c:@M@PrebidMobile@objc(cs)BannerView(im)setImpORTBConfig:), [InterstitialRenderingAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/InterstitialRenderingAdUnit.html#/c:@M@PrebidMobile@objc(cs)InterstitialRenderingAdUnit(im)setImpORTBConfig:), [RewardedAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/RewardedAdUnit.html#/c:@M@PrebidMobile@objc(cs)RewardedAdUnit(im)setImpORTBConfig:), [MediationBannerAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/MediationBannerAdUnit.html#/c:@M@PrebidMobile@objc(cs)MediationBannerAdUnit(im)setImpORTBConfig:), [MediationBaseInterstitialAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/MediationBaseInterstitialAdUnit.html#/c:@M@PrebidMobile@objc(cs)MediationBaseInterstitialAdUnit(im)setImpORTBConfig:), [MediationNativeAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/MediationNativeAdUnit.html#/c:@M@PrebidMobile@objc(cs)MediationNativeAdUnit(im)setImpORTBConfig:) | | removeExtKeyword(\_:) | None, removed | | clearExtKeywords() | None, removed | -| addContextData(\_:forKey:) | addExtData(\_:forKey:) | -| updateContextData(\_:forKey:) | updateExtData(\_:forKey:) | -| removeContextDate(forKey:) | removeExtDate(forKey:) | -| clearContextData() | clearExtData() | -| addContextKeyword(\_:) | addExtKeyword(\_:) | -| addContextKeywords(\_:) | addExtKeywords(\_:) | -| removeContextKeyword(\_:) | removeExtKeyword(\_:) | -| clearContextKeywords() | clearExtKeywords() | -| addExtData(key:value:) | Arbitrary ORTB API | +| addContextData(\_:forKey:) | [BannerView.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/BannerView.html#/c:@M@PrebidMobile@objc(cs)BannerView(im)setImpORTBConfig:), [InterstitialRenderingAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/InterstitialRenderingAdUnit.html#/c:@M@PrebidMobile@objc(cs)InterstitialRenderingAdUnit(im)setImpORTBConfig:), [RewardedAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/RewardedAdUnit.html#/c:@M@PrebidMobile@objc(cs)RewardedAdUnit(im)setImpORTBConfig:), [MediationBannerAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/MediationBannerAdUnit.html#/c:@M@PrebidMobile@objc(cs)MediationBannerAdUnit(im)setImpORTBConfig:), [MediationBaseInterstitialAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/MediationBaseInterstitialAdUnit.html#/c:@M@PrebidMobile@objc(cs)MediationBaseInterstitialAdUnit(im)setImpORTBConfig:), [MediationNativeAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/MediationNativeAdUnit.html#/c:@M@PrebidMobile@objc(cs)MediationNativeAdUnit(im)setImpORTBConfig:) | +| updateContextData(\_:forKey:) | None, removed | +| removeContextDate(forKey:) | None, removed | +| clearContextData() | None, removed | +| addContextKeyword(\_:) | [BannerView.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/BannerView.html#/c:@M@PrebidMobile@objc(cs)BannerView(im)setImpORTBConfig:), [InterstitialRenderingAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/InterstitialRenderingAdUnit.html#/c:@M@PrebidMobile@objc(cs)InterstitialRenderingAdUnit(im)setImpORTBConfig:), [RewardedAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/RewardedAdUnit.html#/c:@M@PrebidMobile@objc(cs)RewardedAdUnit(im)setImpORTBConfig:), [MediationBannerAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/MediationBannerAdUnit.html#/c:@M@PrebidMobile@objc(cs)MediationBannerAdUnit(im)setImpORTBConfig:), [MediationBaseInterstitialAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/MediationBaseInterstitialAdUnit.html#/c:@M@PrebidMobile@objc(cs)MediationBaseInterstitialAdUnit(im)setImpORTBConfig:), [MediationNativeAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/MediationNativeAdUnit.html#/c:@M@PrebidMobile@objc(cs)MediationNativeAdUnit(im)setImpORTBConfig:) | +| addContextKeywords(\_:) | [BannerView.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/BannerView.html#/c:@M@PrebidMobile@objc(cs)BannerView(im)setImpORTBConfig:), [InterstitialRenderingAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/InterstitialRenderingAdUnit.html#/c:@M@PrebidMobile@objc(cs)InterstitialRenderingAdUnit(im)setImpORTBConfig:), [RewardedAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/RewardedAdUnit.html#/c:@M@PrebidMobile@objc(cs)RewardedAdUnit(im)setImpORTBConfig:), [MediationBannerAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/MediationBannerAdUnit.html#/c:@M@PrebidMobile@objc(cs)MediationBannerAdUnit(im)setImpORTBConfig:), [MediationBaseInterstitialAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/MediationBaseInterstitialAdUnit.html#/c:@M@PrebidMobile@objc(cs)MediationBaseInterstitialAdUnit(im)setImpORTBConfig:), [MediationNativeAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/MediationNativeAdUnit.html#/c:@M@PrebidMobile@objc(cs)MediationNativeAdUnit(im)setImpORTBConfig:) | +| removeContextKeyword(\_:) | None, removed | +| clearContextKeywords() | None, removed | +| addExtData(key:value:) | [BannerView.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/BannerView.html#/c:@M@PrebidMobile@objc(cs)BannerView(im)setImpORTBConfig:), [InterstitialRenderingAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/InterstitialRenderingAdUnit.html#/c:@M@PrebidMobile@objc(cs)InterstitialRenderingAdUnit(im)setImpORTBConfig:), [RewardedAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/RewardedAdUnit.html#/c:@M@PrebidMobile@objc(cs)RewardedAdUnit(im)setImpORTBConfig:), [MediationBannerAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/MediationBannerAdUnit.html#/c:@M@PrebidMobile@objc(cs)MediationBannerAdUnit(im)setImpORTBConfig:), [MediationBaseInterstitialAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/MediationBaseInterstitialAdUnit.html#/c:@M@PrebidMobile@objc(cs)MediationBaseInterstitialAdUnit(im)setImpORTBConfig:), [MediationNativeAdUnit.setImpORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/MediationNativeAdUnit.html#/c:@M@PrebidMobile@objc(cs)MediationNativeAdUnit(im)setImpORTBConfig:), | | updateExtData(key:value:) | None, removed | | removeExtData(forKey:) | None, removed | | clearExtData() | None, removed | -| setAppContent(\_:) | Arbitrary ORTB API | +| setAppContent(\_:) | [Targeting.shared.setGlobalORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)setGlobalORTBConfig:) | | clearAppContent() | None, removed | -| addAppContentData(\_:) | Arbitrary ORTB API | +| addAppContentData(\_:) | [Targeting.shared.setGlobalORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)setGlobalORTBConfig:) | | removeAppContentDataObject(\_:) | None, removed | | clearAppContentDataObjects() | None, removed | -| addUserData(\_:) | Arbitrary ORTB API | +| addUserData(\_:) | [Targeting.shared.setGlobalORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)setGlobalORTBConfig:) | | removeUserData(\_:) | None, removed | | clearUserData() | None, removed | @@ -215,7 +215,7 @@ PrebidMobile 3.0 introduces significant changes and removes several deprecated f | Removed | Alternative | | ------- | ----------- | -| display | banner | +| display | [banner](https://docs.prebid.org/prebid-mobile-ios/Classes/AdFormat.html#/c:@M@PrebidMobile@objc(cs)AdFormat(cpy)banner) | ### Utils @@ -231,8 +231,8 @@ PrebidMobile 3.0 introduces significant changes and removes several deprecated f | Removed | Alternative | | --------------------- | ------------------------------------ | -| setCustomHostURL(\_:) | setHostURL(\_:nonTrackingURLString:) | -| getHostURL(host:) | getHostURL() | +| setCustomHostURL(\_:) | [setHostURL(\_:nonTrackingURLString:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Host.html#/c:@M@PrebidMobile@objc(cs)Host(im)setHostURL:nonTrackingURLString:error:) | +| getHostURL(host:) | [getHostURL()](https://docs.prebid.org/prebid-mobile-ios/Classes/Host.html#/c:@M@PrebidMobile@objc(cs)Host(im)getHostURLAndReturnError:) | ### Other SDK Changes From 6239766481c6da0db69007f6c8c332a4082a235e Mon Sep 17 00:00:00 2001 From: Olena Stepaniuk Date: Thu, 3 Apr 2025 16:25:47 +0300 Subject: [PATCH 18/52] docs: small improvement --- _data/sidebar.yml | 4 ++-- prebid-mobile/updates-3.0/android/api-changes.md | 6 +++--- prebid-mobile/updates-3.0/ios/api-changes.md | 10 +++++----- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/_data/sidebar.yml b/_data/sidebar.yml index 6302ec4419..e84c688722 100644 --- a/_data/sidebar.yml +++ b/_data/sidebar.yml @@ -840,7 +840,7 @@ subgroup: 2 - sbSecId: 2 - title: Prebid Mobile 3.0 API changes + title: Prebid Mobile 3.0 API Changes link: /prebid-mobile/updates-3.0/ios/api-changes.html isHeader: 0 isSectionHeader: 0 @@ -945,7 +945,7 @@ subgroup: 3 - sbSecId: 2 - title: Prebid Mobile 3.0 API changes + title: Prebid Mobile 3.0 API Changes link: /prebid-mobile/updates-3.0/android/api-changes.html isHeader: 0 isSectionHeader: 0 diff --git a/prebid-mobile/updates-3.0/android/api-changes.md b/prebid-mobile/updates-3.0/android/api-changes.md index 546b27b69b..22d7ab9cb5 100644 --- a/prebid-mobile/updates-3.0/android/api-changes.md +++ b/prebid-mobile/updates-3.0/android/api-changes.md @@ -1,7 +1,7 @@ --- layout: page_v2 -title: Prebid Mobile 3.0 Updates -description: Prebid Mobile 3.0 Updates +title: Prebid Mobile 3.0 API Changes +description: Prebid Mobile 3.0 API Changes pid: 1 top_nav_section: prebid-mobile nav_section: prebid-mobile-android @@ -17,7 +17,7 @@ table th:nth-of-type(2) { } -# Prebid Mobile 3.0 +# Prebid Mobile 3.0 API Changes {:.no_toc} diff --git a/prebid-mobile/updates-3.0/ios/api-changes.md b/prebid-mobile/updates-3.0/ios/api-changes.md index a8f9a33015..3ac912faf8 100644 --- a/prebid-mobile/updates-3.0/ios/api-changes.md +++ b/prebid-mobile/updates-3.0/ios/api-changes.md @@ -1,7 +1,7 @@ --- layout: page_v2 -title: Prebid Mobile 3.0 Updates -description: Prebid Mobile 3.0 Updates +title: Prebid Mobile 3.0 API Changes +description: Prebid Mobile 3.0 API Changes pid: 1 top_nav_section: prebid-mobile nav_section: prebid-mobile-ios @@ -17,7 +17,7 @@ table th:nth-of-type(2) { } -# Prebid Mobile 3.0 +# Prebid Mobile 3.0 API Changes {:.no_toc} This page provides a detailed list of removed APIs in PrebidMobile SDK 3.0, along with their corresponding recommended replacements. @@ -237,7 +237,7 @@ PrebidMobile 3.0 introduces significant changes and removes several deprecated f ### Other SDK Changes - `imp[].ext.data.adslot` is no longer sent in the request; -- Removed `VideoAdUnit`, alternative - `BannerAdUnit` with video ad format; -- Removed `VideoInterstitialAdUnit`, alternative - `InterstitialAdUnit` with video ad format; +- Removed `VideoAdUnit`, alternative - [BannerAdUnit](https://docs.prebid.org/prebid-mobile-ios/Classes/BannerAdUnit.html) with video ad format; +- Removed `VideoInterstitialAdUnit`, alternative - [InterstitialAdUnit](https://docs.prebid.org/prebid-mobile-ios/Classes/InterstitialAdUnit.html) with video ad format; - Removed `PrebidHost` without replacement; - Removed `PrebidAdMobRewardedVideoAdapter`, alternative - `PrebidAdMobRewardedAdapter`. From 09fabbee340558ee1ec1d974b0a358b4b3e56129 Mon Sep 17 00:00:00 2001 From: Valentin Petrovich Date: Thu, 3 Apr 2025 15:39:41 +0200 Subject: [PATCH 19/52] docs: add links to Javadoc --- .../updates-3.0/android/api-changes.md | 172 +++++++++--------- 1 file changed, 87 insertions(+), 85 deletions(-) diff --git a/prebid-mobile/updates-3.0/android/api-changes.md b/prebid-mobile/updates-3.0/android/api-changes.md index 22d7ab9cb5..25ebcc858a 100644 --- a/prebid-mobile/updates-3.0/android/api-changes.md +++ b/prebid-mobile/updates-3.0/android/api-changes.md @@ -33,16 +33,16 @@ of these removals, and how publishers should migrate to the new alternatives. {: .table .table-bordered .table-striped } -| Removed | Alternative | -|----------------------------------|----------------------------------------| -| isCoppaEnabled | None, removed. | -| useExternalBrowser | None, removed. | -| sendMraidSupportParams | None, by default true. | -| logLevel | setLogLevel() | -| setPrebidServerHost() | initializeSdk() with host parameter | -| setExternalUserIds() | TargetingParams.setExternalUserIds() | -| initializeSdk(context, listener) | initializeSdk(context, host, listener) | -| getApplicationContext() | None, removed. | +| Removed | Alternative | +|----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| isCoppaEnabled | None, removed. | +| useExternalBrowser | None, removed. | +| sendMraidSupportParams | None, by default true. | +| logLevel | [setLogLevel()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/LogUtil.html#setLogLevel(int)) | +| setPrebidServerHost() | [initializeSdk()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/PrebidMobile.html#initializeSdk(android.content.Context,java.lang.String,SdkInitializationListener)) with host parameter | +| setExternalUserIds() | [TargetingParams.setExternalUserIds()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#setExternalUserIds(java.util.List)) | +| initializeSdk(context, listener) | [initializeSdk()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/PrebidMobile.html#initializeSdk(android.content.Context,java.lang.String,SdkInitializationListener)) with host parameter | +| getApplicationContext() | None, removed. | --- @@ -53,54 +53,53 @@ MediationBaseInterstitialAdUnit, MediationNativeAdUnit, PrebidRequest, Targeting {: .table .table-bordered .table-striped } -| Removed | Alternative | -|----------------------------|-------------------------------------------------------------| -| addContextData() | None, removed. Can be replaced with OpenRTB config. | -| updateContextData() | None, removed. Can be replaced with OpenRTB config. | -| removeContextData() | None, removed. Can be replaced with OpenRTB config. | -| clearContextData() | None, removed. Can be replaced with OpenRTB config. | -| getContextDataDictionary() | None, removed. Can be replaced with OpenRTB config. | -| addContextKeyword() | None, removed. Can be replaced with OpenRTB config. | -| addContextKeywords() | None, removed. Can be replaced with OpenRTB config. | -| removeContextKeyword() | None, removed. Can be replaced with OpenRTB config. | -| clearContextKeywords() | None, removed. Can be replaced with OpenRTB config. | -| getContextKeywordsSet() | None, removed. Can be replaced with OpenRTB config. | -| addExtKeyword() | None, removed. Can be replaced with OpenRTB config. | -| addExtKeywords() | None, removed. Can be replaced with OpenRTB config. | -| removeExtKeyword() | None, removed. Can be replaced with OpenRTB config. | -| clearExtKeywords() | None, removed. Can be replaced with OpenRTB config. | -| getExtKeywordsSet() | None, removed. Can be replaced with OpenRTB config. | -| addExtData() | None, removed. Can be replaced with OpenRTB config. | -| updateExtData() | None, removed. Can be replaced with OpenRTB config. | -| removeExtData(String key) | None, removed. Can be replaced with OpenRTB config. | -| clearExtData() | None, removed. Can be replaced with OpenRTB config. | -| getExtDataDictionary() | None, removed. Can be replaced with OpenRTB config. | -| setAppContent() | None, removed. Can be replaced with OpenRTB config. | -| getAppContent() | None, removed. Can be replaced with OpenRTB config. | -| addUserData() | None, removed. Can be replaced with OpenRTB config. | -| getUserData() | None, removed. Can be replaced with OpenRTB config. | -| clearUserData() | None, removed. Can be replaced with OpenRTB config. | -| setOrtbConfig() | setImpOrtbConfig() or TargetingParams.setGlobalOrtbConfig() | +| Removed | Alternative | +|----------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| addContextData() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| updateContextData() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| removeContextData() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| clearContextData() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| getContextDataDictionary() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| addContextKeyword() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| addContextKeywords() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| removeContextKeyword() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| clearContextKeywords() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| getContextKeywordsSet() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| addExtKeyword() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| addExtKeywords() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| removeExtKeyword() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| clearExtKeywords() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| getExtKeywordsSet() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| addExtData() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| updateExtData() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| removeExtData(String key) | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| clearExtData() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| getExtDataDictionary() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| setAppContent() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| getAppContent() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| addUserData() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| getUserData() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| clearUserData() | None, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)). | +| setOrtbConfig() | [setImpOrtbConfig()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)) or [TargetingParams.setGlobalOrtbConfig()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#setGlobalOrtbConfig(java.lang.String)) | ### AdUnit {: .table .table-bordered .table-striped } -| Removed | Alternative | -|----------------------------------|----------------------------------| -| setAutoRefreshPeriodMillis() | setAutoRefreshInterval() | -| fetchDemand(OnCompleteListener2) | fetchDemand(OnFetchDemandResult) | +| Removed | Alternative | +|----------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| setAutoRefreshPeriodMillis() | [setAutoRefreshInterval()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setAutoRefreshInterval(int)) | +| fetchDemand(OnCompleteListener2) | [fetchDemand(OnFetchDemandResult)](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#fetchDemand(org.prebid.mobile.api.original.OnFetchDemandResult)) | ### BannerAdUnit {: .table .table-bordered .table-striped } -| Removed | Alternative | -|-----------------------|------------------| -| setParameters() | Parameters class | -| getParameters() | Parameters class | -| setBannerParameters() | BannerParameters | -| getBannerParameters() | BannerParameters | +| Removed | Alternative | +|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| setParameters() | [setBannerParameters()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/BannerBaseAdUnit.html#setBannerParameters(org.prebid.mobile.BannerParameters)) | +| getParameters() | [getBannerParameters()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/BannerBaseAdUnit.html#getBannerParameters()) | +| Internal Parameters class | [BannerParameters](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/BannerParameters.html) | --- @@ -108,47 +107,50 @@ MediationBaseInterstitialAdUnit, MediationNativeAdUnit, PrebidRequest, Targeting {: .table .table-bordered .table-striped } -| Removed | Alternative | -|----------------------|------------------| -| setParameters() | Parameters class | -| getParameters() | Parameters class | -| setVideoParameters() | VideoParameters | -| getVideoParameters() | VideoParameters | +| Removed | Alternative | +|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| setParameters() | [setBannerParameters()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/BannerBaseAdUnit.html#setBannerParameters(org.prebid.mobile.BannerParameters)) | +| getParameters() | [getBannerParameters()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/BannerBaseAdUnit.html#getBannerParameters()) | +| Internal Parameters class | [VideoParameters](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/VideoParameters.html) | --- ### VideoAdUnit -The class was removed. Alternative - BannerAdUnit with video ad format. +The class was removed. +Alternative - [BannerAdUnit](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/BannerAdUnit.html) with +video ad format. ### VideoInterstitialAdUnit -The class was removed. Alternative - InterstitialAdUnit with video ad format. +The class was removed. +Alternative - [InterstitialAdUnit](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/InterstitialAdUnit.html) +with video ad format. ### Support Classes - TargetingParams {: .table .table-bordered .table-striped } -| Removed | Alternative | -|------------------------------|-----------------------------------------------| -| setUserAge() | None, removed. | -| getUserAge() | None, removed. | -| getYearOfBirth() | Deprecated in OpenRTB. Removed. | -| setYearOfBirth() | Deprecated in OpenRTB. Removed. | -| GENDER | Deprecated in OpenRTB. Removed. | -| getGender() | Deprecated in OpenRTB. Removed. | -| setGender() | Deprecated in OpenRTB. Removed. | -| setUserId() | None, removed. | -| getUserId() | None, removed. | -| setBuyerId() | None, removed. | -| getBuyerId() | None, removed. | -| getUserCustomData() | None, removed. | -| setUserCustomData() | None, removed. | -| storeExternalUserId() | None, removed. | -| fetchStoredExternalUserId() | None, removed. | -| fetchStoredExternalUserIds() | None, removed. | -| removeStoredExternalUserId() | None, removed. | -| clearStoredExternalUserIds() | setExternalUserIds() and getExternalUserIds() | +| Removed | Alternative | +|------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| setUserAge() | None, removed. | +| getUserAge() | None, removed. | +| getYearOfBirth() | Deprecated in OpenRTB. Removed. | +| setYearOfBirth() | Deprecated in OpenRTB. Removed. | +| GENDER | Deprecated in OpenRTB. Removed. | +| getGender() | Deprecated in OpenRTB. Removed. | +| setGender() | Deprecated in OpenRTB. Removed. | +| setUserId() | None, removed. | +| getUserId() | None, removed. | +| setBuyerId() | None, removed. | +| getBuyerId() | None, removed. | +| getUserCustomData() | None, removed. | +| setUserCustomData() | None, removed. | +| storeExternalUserId() | [setExternalUserIds()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#setExternalUserIds(java.util.List)) and [getExternalUserIds()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#getExternalUserIds()) | +| fetchStoredExternalUserId() | [setExternalUserIds()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#setExternalUserIds(java.util.List)) and [getExternalUserIds()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#getExternalUserIds()) | +| fetchStoredExternalUserIds() | [setExternalUserIds()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#setExternalUserIds(java.util.List)) and [getExternalUserIds()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#getExternalUserIds()) | +| removeStoredExternalUserId() | [setExternalUserIds()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#setExternalUserIds(java.util.List)) and [getExternalUserIds()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#getExternalUserIds()) | +| clearStoredExternalUserIds() | [setExternalUserIds()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#setExternalUserIds(java.util.List)) and [getExternalUserIds()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#getExternalUserIds()) | ### ExternalUserId @@ -156,11 +158,11 @@ The class was removed. Alternative - InterstitialAdUnit with video ad format. | Removed | Alternative | |------------------------------------------------|------------------------------| -| ExternalUserId(source, identifier, atype, ext) | ExternalUserId(source, uids) | -| getAtype() | Use UniqueId class. | -| setAtype() | Use UniqueId class. | -| getIdentifier() | Use UniqueId class. | -| setIdentifier() | Use UniqueId class. | +| ExternalUserId(source, identifier, atype, ext) | [ExternalUserId(source, uids)](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/ExternalUserId.html#%3Cinit%3E(java.lang.String,java.util.List)) | +| getAtype() | Use [UniqueId](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/ExternalUserId.UniqueId.html) class. | +| setAtype() | Use [UniqueId](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/ExternalUserId.UniqueId.html) class. | +| getIdentifier() | Use [UniqueId](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/ExternalUserId.UniqueId.html) class. | +| setIdentifier() | Use [UniqueId](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/ExternalUserId.UniqueId.html) class. | ### PrebidNativeAd @@ -168,8 +170,8 @@ The class was removed. Alternative - InterstitialAdUnit with video ad format. | Removed | Alternative | |-------------------------------------------------|------------------------------------| -| registerView(view, listener) | registerView(view, list, listener) | -| registerViewList(container, viewList, listener) | registerView(view, list, listener) | +| registerView(view, listener) | [registerView(view, list, listener)](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/PrebidNativeAd.html#registerView(android.view.View,java.util.List,org.prebid.mobile.PrebidNativeAdEventListener)) | +| registerViewList(container, viewList, listener) | [registerView(view, list, listener)](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/PrebidNativeAd.html#registerView(android.view.View,java.util.List,org.prebid.mobile.PrebidNativeAdEventListener)) | ### AdFormat @@ -177,7 +179,7 @@ The class was removed. Alternative - InterstitialAdUnit with video ad format. | Removed | Alternative | |---------|-------------| -| DISPLAY | BANNER | +| DISPLAY | [BANNER](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/api/data/AdUnitFormat.html#BANNER) | ### Host @@ -194,7 +196,7 @@ The class was removed. Alternative - InterstitialAdUnit with video ad format. | Removed | Alternative | |--------------------|------------------------------------| -| NativeImageAsset() | NativeImageAsset(w, h, minw, minh) | +| NativeImageAsset() | [NativeImageAsset(w, h, minw, minh)](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/NativeImageAsset.html#%3Cinit%3E(int,int,int,int)) | ### Other Changes From a7760b503bfd3191e7127d5edc0d56b55c07205f Mon Sep 17 00:00:00 2001 From: Maksym Danylov Date: Thu, 3 Apr 2025 16:09:18 +0300 Subject: [PATCH 20/52] docs: android changes. --- _includes/mobile/adunit-config-android.md | 4 +- .../android-sdk-integration-admob.md | 10 +-- .../rendering/android-sdk-integration-gam.md | 2 +- .../rendering/android-sdk-integration-max.md | 2 +- .../rendering/android-sdk-integration-pb.md | 8 +- .../rendering/ios-sdk-integration-pb.md | 2 +- .../android/code-integration-android.md | 32 ++----- .../pbm-api/android/pbm-targeting-android.md | 87 ++----------------- .../android/gam-bidding-only-html-banner.md | 4 +- .../gam-bidding-only-interstitial-video.md | 3 - .../gam-bidding-only-video-instream.md | 5 +- .../gam-bidding-only-video-outstream.md | 5 +- 12 files changed, 31 insertions(+), 133 deletions(-) diff --git a/_includes/mobile/adunit-config-android.md b/_includes/mobile/adunit-config-android.md index aedd88e520..e12334dd9e 100644 --- a/_includes/mobile/adunit-config-android.md +++ b/_includes/mobile/adunit-config-android.md @@ -27,14 +27,14 @@ adUnit.setImpOrtbConfig("") ### Auto Refresh -#### setAutoRefreshPeriodMillis +#### setAutoRefreshInterval {:.no_toc} If set on a given Prebid Mobile ad unit, the `fetchDemand` function will be called every `periodMillis` until `stopAutoRefresh` is called. Each call to `fetchDemand` will invoke the `onComplete` function. This refresh only pertains to Prebid Mobile and not to any ad server refresh processes. It is suggested that the adServers refresh be turned off. **Parameters** -- `periodMillis`: Integer defining the refresh time in milliseconds. +- `seconds`: Integer defining the refresh time in seconds. #### startAutoRefresh {:.no_toc} diff --git a/prebid-mobile/modules/rendering/android-sdk-integration-admob.md b/prebid-mobile/modules/rendering/android-sdk-integration-admob.md index b5f360f20e..a4e5c75ba4 100644 --- a/prebid-mobile/modules/rendering/android-sdk-integration-admob.md +++ b/prebid-mobile/modules/rendering/android-sdk-integration-admob.md @@ -160,7 +160,7 @@ The `AdMobInterstitialMediationUtils` is a helper class, which performs certain The `MediationInterstitialAdUnit` is part of the prebid mediation API. This class is responsible for making a bid request and providing the winning bid and targeting keywords to mediating SDKs. -The **default** ad format for interstitial is **DISPLAY**. In order to make a `multiformat bid request`, set the respective values into the `adUnitFormats` parameter. +In order to make a `multiformat bid request`, set the respective values into the `adUnitFormats` parameter. ```kotlin adUnit = MediationInterstitialAdUnit( @@ -338,17 +338,13 @@ private fun configureNativeAdUnit(nativeAdUnit: NativeAdUnit) { title.isRequired = true nativeAdUnit.addAsset(title) - val icon = NativeImageAsset() + val icon = NativeImageAsset(20, 20, 20, 20) icon.imageType = NativeImageAsset.IMAGE_TYPE.ICON - icon.wMin = 20 - icon.hMin = 20 icon.isRequired = true nativeAdUnit.addAsset(icon) - val image = NativeImageAsset() + val image = NativeImageAsset(200, 200, 200, 200) image.imageType = NativeImageAsset.IMAGE_TYPE.MAIN - image.hMin = 200 - image.wMin = 200 image.isRequired = true nativeAdUnit.addAsset(image) diff --git a/prebid-mobile/modules/rendering/android-sdk-integration-gam.md b/prebid-mobile/modules/rendering/android-sdk-integration-gam.md index 72600a491d..b676bc9725 100644 --- a/prebid-mobile/modules/rendering/android-sdk-integration-gam.md +++ b/prebid-mobile/modules/rendering/android-sdk-integration-gam.md @@ -151,7 +151,7 @@ Pay attention that the `loadAd()` should be called on the main thread. {% endcapture %} {% include /alerts/alert_warning.html content=warning_note %} -The **default** ad format for an interstitial ad is **DISPLAY**. In order to make a `multiformat bid request`, set the respective values into the `adUnitFormats` parameter. +In order to make a `multiformat bid request`, set the respective values into the `adUnitFormats` parameter. ```kotlin interstitialAdUnit = InterstitialAdUnit( diff --git a/prebid-mobile/modules/rendering/android-sdk-integration-max.md b/prebid-mobile/modules/rendering/android-sdk-integration-max.md index a8fa703109..c9336a85b6 100644 --- a/prebid-mobile/modules/rendering/android-sdk-integration-max.md +++ b/prebid-mobile/modules/rendering/android-sdk-integration-max.md @@ -120,7 +120,7 @@ adUnit?.fetchDemand { ``` -The **default** ad format for interstitial is **DISPLAY**. In order to make a `multiformat bid request`, set the respective values into the `adUnitFormats` parameter. +In order to make a `multiformat bid request`, set the respective values into the `adUnitFormats` parameter. ```kotlin adUnit = MediationInterstitialAdUnit( diff --git a/prebid-mobile/modules/rendering/android-sdk-integration-pb.md b/prebid-mobile/modules/rendering/android-sdk-integration-pb.md index 9d4ac0ca65..66c9891ef0 100644 --- a/prebid-mobile/modules/rendering/android-sdk-integration-pb.md +++ b/prebid-mobile/modules/rendering/android-sdk-integration-pb.md @@ -28,7 +28,7 @@ While the default ad server for Prebid's Mobile SDK is GAM, it can be expanded t In this mode, the developer is responsible for the following actions: -- Call `fetchDemand()` with extended targetingDict callback +- Call `fetchDemand()` with extended BidInfo callback - Retrieve targeting keys from the extended fetchDemand function - Convert targeting keys into the format for your ad server - Pass converted keys to your ad server @@ -37,9 +37,9 @@ In this mode, the developer is responsible for the following actions: This approach is available for the following ad formats: - Display Banner via `BannerAdUnit` -- Video Banner and Instream Video via `VideoAdUnit` +- Video Banner and Instream Video via `InStreamVideoAdUnit` - Display Interstitial via `InterstitialAdUnit` -- Video Interstitial via `VideoInterstitialAdUnit` +- Video Interstitial via `InterstitialAdUnit` with video ad format - Rewarded Video via `RewardedVideoAdUnit` - Native Styles via `NativeRequest` @@ -155,7 +155,7 @@ Pay attention that the `loadAd()` should be called on the main thread. {% endcapture %} {% include /alerts/alert_warning.html content=warning_note %} -The **default** ad format for interstitial is **DISPLAY**. In order to make a `multiformat bid request`, set the respective values into the `adUnitFormats` parameter. +In order to make a `multiformat bid request`, set the respective values into the `adUnitFormats` parameter. ``` kotlin interstitialAdUnit = InterstitialAdUnit( diff --git a/prebid-mobile/modules/rendering/ios-sdk-integration-pb.md b/prebid-mobile/modules/rendering/ios-sdk-integration-pb.md index fb6b7e5e55..1c213dab08 100644 --- a/prebid-mobile/modules/rendering/ios-sdk-integration-pb.md +++ b/prebid-mobile/modules/rendering/ios-sdk-integration-pb.md @@ -39,7 +39,7 @@ This approach is available for the following ad formats: - Display Banner via `BannerAdUnit` - Video Banner and Instream Video via `VideoAdUnit` - Display Interstitial via `InterstitialAdUnit` -- Video Interstitial via `VideoInterstitialAdUnit` +- Video Interstitial via `InterstitialAdUnit` with video ad format - Rewarded Video via `RewardedVideoAdUnit` - Native Styles via `NativeRequest` - Multiformat ad unit via `PrebidAdUnit` diff --git a/prebid-mobile/pbm-api/android/code-integration-android.md b/prebid-mobile/pbm-api/android/code-integration-android.md index 4791cf1ac5..4c8eb152ba 100644 --- a/prebid-mobile/pbm-api/android/code-integration-android.md +++ b/prebid-mobile/pbm-api/android/code-integration-android.md @@ -64,7 +64,7 @@ If you see errors while building the Prebid Mobile SDK or Demo Applications, mak ## Add the Prebid SDK -### Point to a Prebid Server +### Prebid Server Account ID {% capture warning_note %} All integration examples for Android are written in `Kotlin`. @@ -74,17 +74,10 @@ The corresponding Java code can be found in the [Demo Java](https://github.com/p {% endcapture %} {% include /alerts/alert_warning.html content=warning_note %} -Once you have a [Prebid Server](/prebid-mobile/prebid-mobile-getting-started.html), you will add the 'account' info to Prebid Mobile. For example, if you're using the AppNexus Prebid Server: +Once you have a [Prebid Server](/prebid-mobile/prebid-mobile-getting-started.html), you will add the 'account' info to Prebid Mobile. ```kotlin PrebidMobile.setPrebidServerAccountId(YOUR_ACCOUNT_ID) -PrebidMobile.setPrebidServerHost(Host.APPNEXUS) -``` - -If you have opted to host your own Prebid Server solution you will need to store the url to the server in your app. Make sure that your URL points to the [/openrtb2/auction](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html) endpoint. - -```kotlin -PrebidMobile.setPrebidServerHost(Host.createCustomHost("https://prebidserver.example.com/openrtb2/auction")) ``` #### Account Settings ID @@ -96,15 +89,17 @@ If you want to define a different Account Settings ID as determined in conjuncti your Prebid Server team, use the [arbitrary OpenRTB](/prebid-mobile/pbm-api/android/pbm-targeting-android.html#arbitrary-openrtb) method like this: ```kotlin -adUnitConfiguration?.ortbConfig = "{\"ext\":{\"prebid\":{\"storedrequest\": {\"id\":\"account-settings-id\"}}}}" +adUnitConfiguration?.impOrtbConfig = "{\"ext\":{\"prebid\":{\"storedrequest\": {\"id\":\"account-settings-id\"}}}}" ``` ### Initialize SDK -Once you set the account ID and the Prebid Server host, you should initialize the Prebid SDK. Use the following initialization for Prebid SDK: +If you have opted to host your own Prebid Server solution you will need to store the url to the server in your app. Make sure that your URL points to the [/openrtb2/auction](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html) endpoint. + +Once you set the account ID, you should initialize the Prebid SDK. Use the following initialization for Prebid SDK: ```kotlin -PrebidMobile.initializeSdk(applicationContext) { status -> +PrebidMobile.initializeSdk(applicationContext, "https://prebidserver.example.com/openrtb2/auction") { status -> if (status == InitializationStatus.SUCCEEDED) { Log.d(TAG, "SDK initialized successfully!") } else if (status == InitializationStatus.SERVER_STATUS_WARNING) { @@ -220,19 +215,6 @@ PrebidMobile.setPrebidServerAccountId(YOUR_ACCOUNT_ID) var pbsAccountId = PrebidMobile.getPrebidServerAccountId() ``` -### Host -{:.no_toc} - -Object containing configuration for your Prebid Server host with which the Prebid SDK will communicate. Choose from the system-defined Prebid Server hosts or define your own custom Prebid Server host. - -```kotlin -PrebidMobile.setPrebidServerHost(Host.RUBICON); - -//or set a custom host -Host.CUSTOM.setHostUrl("https://prebid-server.bidder.com/"); -PrebidMobile.setPrebidServerHost(Host.CUSTOM); -``` - ### Timeout {:.no_toc} diff --git a/prebid-mobile/pbm-api/android/pbm-targeting-android.md b/prebid-mobile/pbm-api/android/pbm-targeting-android.md index 5d1a3e05bc..64ef53c749 100755 --- a/prebid-mobile/pbm-api/android/pbm-targeting-android.md +++ b/prebid-mobile/pbm-api/android/pbm-targeting-android.md @@ -33,52 +33,12 @@ bid targeting. The `Prebid` class is a singleton that enables you to apply certain global settings. -### Prebid Class Global Properties - -All of these properties of the Prebid class can be set on the `shared` object like this: - -```kotlin -Prebid.shared.sendMraidSupportParams=true -``` - -{: .table .table-bordered .table-striped } -| Parameter | Scope | Type | Purpose | Description | Example | -| --- | --- | --- | --- | --- | -| isCoppaEnabled | optional | boolean | ORTB | Set this to true if this app is aimed at children. It sets the ORTB `regs.coppa` flag. Default is false. | `true` | -| useExternalBrowser | optional | boolean | behavior | If true, clicking on the ad will open your default browser instead of showing within the app's webview. Defaults to `false`. | `true` | -| sendMraidSupportParams | optional | boolean | ORTB | If `true`, the SDK sends imp[].banner.api=[3,5], indicating support for MRAID. Defaults to `true`. | `false` | - ### Prebid Class Global Methods #### setPrebidServerAccountId() Your Prebid Server team will tell you whether this is required or not and if so, the value. See the initialization page for [Android](/prebid-mobile/pbm-api/android/code-integration-android.html). -#### setPrebidServerHost() - -This is where the Prebid SDK will send the auction information. - -Signature: - -```kotlin -func setPrebidServerHost(host: String) -``` - -Parameters: - -{: .table .table-bordered .table-striped } -| Parameter | Scope | Type | Description | Example | -| --- | --- | --- | --- | --- | -| host | required | object | Host.APPNEXUS, Host.RUBICON, Host.createCustomHost(PREBID_SERVER_AUCTION_ENDPOINT) | Host.createCustomHost(`https://prebidserver``.example.com``/openrtb2/auction`) | - -Examples: - -```kotlin -PrebidMobile.setPrebidServerHost(Host.APPNEXUS) -PrebidMobile.setPrebidServerHost(Host.RUBICON) -PrebidMobile.setPrebidServerHost(Host.createCustomHost("https://prebidserver.example.com/openrtb2/auction")) -``` - #### setCustomStatusEndpoint() Signature: @@ -470,36 +430,27 @@ Prebid SDK provides a number of properties in the [Targeting class](/prebid-mobi methods) for setting user-oriented First Party Data. ```kotlin -void addUserData(String key, String value) - -void updateUserData( String key, Set value) +void addUserKeyword(String keyword) -void removeUserData(String key) +void addUserKeywords(Set keywords) -void clearUserData() +void removeUserKeyword(String keyword) -Map> getUserDataDictionary() { +void clearUserKeywords() -void addUserKeywords(Set keywords) { +String getUserKeywords() -void removeUserKeyword(String keyword) { - -void clearUserKeywords() { - -String getUserKeywords() { - -Set getUserKeywordsSet() { +Set getUserKeywordsSet() ``` Example: ```kotlin -TargetingParams.addUserData("globalUserDataKey1", "globalUserDataValue1") +TargetingParams.addUserKeyword("globalUserKeyword") ``` {: .alert.alert-info :} -Note: The 'UserData' functions end up putting data into the OpenRTB user.ext.data object while the 'UserKeywords' functions -put data into user.keywords. +Note: The 'UserKeywords' functions put data into user.keywords. ### Inventory FPD @@ -513,16 +464,6 @@ void updateExtData(String key, Set value) void removeExtData(String key) Map> getExtDataDictionary() - -void addExtKeyword(String keyword) - -void addExtKeywords(Set keywords) - -void removeExtKeyword(String keyword) - -void clearExtKeywords() - -Set getExtKeywordsSet() ``` Example: @@ -807,18 +748,6 @@ Pay attention that there are certain protected fields such as `regs`, `device`, - App and User first party data should use the [functions defined for those purposes](/prebid-mobile/pbm-api/ios/pbm-targeting-ios.html#first-party-data) - See the [Prebid Server auction endpoint](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html#prebid-server-ortb2-extension-summary) reference for more information about how it will process incoming fields. -### Deprecated -{:.no_toc} - -The Prebid Mobile SDK v2.2.1 contains the deprecated method to set the impression level RTB config: - -``` swift -//ad unit / impression-level -adUnit.setOrtbConfig("{\"ext\":{\"gpid\":\"abc123"}}\") -``` - -This method has implementation issues and was deprecated in v2.4.0. If you use this method, we strongly recommend migrating to the new `setImpORTBConfig()` method since this one will be removed entirely in SDK version 3.0. - ## Further Reading - [Prebid Mobile Overview](/prebid-mobile/prebid-mobile.html) diff --git a/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-html-banner.md b/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-html-banner.md index 900eadb2a5..ab2a465d62 100644 --- a/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-html-banner.md +++ b/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-html-banner.md @@ -20,9 +20,9 @@ private fun createAd() { adUnit?.setAutoRefreshInterval(refreshTimeSeconds) // 2. Configure banner parameters - val parameters = BannerBaseAdUnit.Parameters() + val parameters = BannerParameters() parameters.api = listOf(Signals.Api.MRAID_3, Signals.Api.OMID_1) - adUnit?.parameters = parameters + adUnit?.bannerParameters = parameters // For multi-size request adUnit?.addAdditionalSize(728, 90) diff --git a/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-interstitial-video.md b/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-interstitial-video.md index e268bc0583..53b55f2a3f 100644 --- a/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-interstitial-video.md +++ b/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-interstitial-video.md @@ -37,9 +37,6 @@ private fun createAd() { } ``` -{: .alert.alert-warning :} -Starting from PrebidMobile `2.1.0` the `VideoInterstitialAdUnit` class is deprecated. Use `InterstitialAdUnit` class with video ad format instead. - Configuration function: ```kotlin diff --git a/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-video-instream.md b/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-video-instream.md index d049cc315d..e97f9b8c91 100644 --- a/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-video-instream.md +++ b/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-video-instream.md @@ -15,7 +15,7 @@ Integration example: ```kotlin private fun createAd() { - // 1. Create VideoAdUnit + // 1. Create InStreamVideoAdUnit adUnit = InStreamVideoAdUnit(CONFIG_ID, WIDTH, HEIGHT) // 2. Configure video parameters @@ -46,9 +46,6 @@ private fun createAd() { } ``` -{: .alert.alert-warning :} -Starting from PrebidMobile `2.1.0` the `VideoAdUnit` class is deprecated. Use `InStreamVideoAdUnit` instead. - Configure the video ad: ```kotlin diff --git a/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-video-outstream.md b/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-video-outstream.md index 279253d0a9..c46ad498b9 100644 --- a/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-video-outstream.md +++ b/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-video-outstream.md @@ -16,7 +16,7 @@ Integration example: ```kotlin private fun createAd() { - // 1. Create VideoAdUnit + // 1. Create BannerAdUnit adUnit = BannerAdUnit(CONFIG_ID, WIDTH, HEIGHT, EnumSet.of(AdUnitFormat.VIDEO)) // 2. Configure video ad unit @@ -38,9 +38,6 @@ private fun createAd() { } ``` -{: .alert.alert-warning :} -Starting from PrebidMobile `2.1.0` the `VideoAdUnit` class is deprecated. Use `BannerAdUnit` class with video ad format instead. - Configure Video parameters: ```kotlin From 4033617c58db101bcbb3379ea21337bb8433a403 Mon Sep 17 00:00:00 2001 From: Maksym Danylov Date: Thu, 3 Apr 2025 17:49:33 +0300 Subject: [PATCH 21/52] docs: ios changes. --- _includes/mobile/video-params.md | 4 +- .../rendering/ios-sdk-integration-pb.md | 2 +- .../pbm-api/ios/code-integration-ios.md | 39 ++++++------------ .../pbm-api/ios/pbm-targeting-ios.md | 40 ++----------------- .../ios/gam-bidding-only-html-banner.md | 4 +- .../gam-bidding-only-interstitial-video.md | 2 +- .../ios/gam-bidding-only-rewarded-video.md | 2 +- .../ios/gam-bidding-only-video-instream.md | 2 - .../ios/gam-bidding-only-video-outstream.md | 2 - 9 files changed, 22 insertions(+), 75 deletions(-) diff --git a/_includes/mobile/video-params.md b/_includes/mobile/video-params.md index 6f5b646d3b..9b8be6b4e9 100644 --- a/_includes/mobile/video-params.md +++ b/_includes/mobile/video-params.md @@ -15,7 +15,7 @@ The [OpenRTB 2.6](https://iabtechlab.com/wp-content/uploads/2022/04/OpenRTB-2-6_ - `5` or `Slider`, `Floating` or `Interstitial` : Open RTB supports one of three values for option 5 as either Slider, Floating or Interstitial. If an enum value is supplied in placement, bidders will receive value 5 for placement type and assume to be interstitial with the instl flag set to 1. Notes: -- `PrebidAdUnit`, `VideoInterstitialAdUnit` and `RewardedVideoAdUnit` will default to placement=5 if no placement value is supplied. +- `PrebidAdUnit` and `RewardedVideoAdUnit` will default to placement=5 if no placement value is supplied. #### plcmnt {:.no_toc} @@ -28,7 +28,7 @@ The [OpenRTB v2.6-202303](https://github.com/InteractiveAdvertisingBureau/AdCOM/ - `4` or `NoContent` or `Standalone` : Video ads that are played without streaming video content. This can be in placements like slideshows, native feeds, in-content or sticky/floating. Notes: -- `PrebidAdUnit`, `VideoInterstitialAdUnit` and `RewardedVideoAdUnit` will default to plcmnt=3 if no placement value is supplied. +- `PrebidAdUnit` and `RewardedVideoAdUnit` will default to plcmnt=3 if no placement value is supplied. #### api {:.no_toc} diff --git a/prebid-mobile/modules/rendering/ios-sdk-integration-pb.md b/prebid-mobile/modules/rendering/ios-sdk-integration-pb.md index 1c213dab08..6ec35fa457 100644 --- a/prebid-mobile/modules/rendering/ios-sdk-integration-pb.md +++ b/prebid-mobile/modules/rendering/ios-sdk-integration-pb.md @@ -37,7 +37,7 @@ In this mode, the developer is responsible for the following actions: This approach is available for the following ad formats: - Display Banner via `BannerAdUnit` -- Video Banner and Instream Video via `VideoAdUnit` +- Video Banner and Instream Video via `InStreamVideoAdUnit` - Display Interstitial via `InterstitialAdUnit` - Video Interstitial via `InterstitialAdUnit` with video ad format - Rewarded Video via `RewardedVideoAdUnit` diff --git a/prebid-mobile/pbm-api/ios/code-integration-ios.md b/prebid-mobile/pbm-api/ios/code-integration-ios.md index c0a7f1c192..7f44c4b66f 100644 --- a/prebid-mobile/pbm-api/ios/code-integration-ios.md +++ b/prebid-mobile/pbm-api/ios/code-integration-ios.md @@ -90,23 +90,14 @@ This will output the PrebidMobile.framework. ## Add the Prebid SDK -### Point to a Prebid Server +### Prebid Server Account ID -Once you have a [Prebid Server](/prebid-mobile/prebid-mobile-getting-started.html), you will add 'account' info to the Prebid Mobile. For example, if you're using the AppNexus Prebid Server: +Once you have a [Prebid Server](/prebid-mobile/prebid-mobile-getting-started.html), you will add 'account' info to the Prebid Mobile. ```swift Prebid.shared.prebidServerAccountId = YOUR_ACCOUNT_ID -Prebid.shared.prebidServerHost = .Appnexus ``` -If you have opted to host your own Prebid Server solution, you will need to store the URL to the server in your app. Make sure that your URL points to the [/openrtb2/auction](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html) endpoint. - -```swift -try! Prebid.shared.setCustomPrebidServer(url: "https://prebidserver.example.com/openrtb2/auction") -``` - -This method throws an exception if the provided URL is invalid. - #### Account Settings ID Each mobile app may have its own "account settings ID". This is used to look up data in Prebid Server like timeout, targeting, and price granularity. @@ -116,16 +107,18 @@ If you want to define a different Account Settings ID as determined in conjuncti your Prebid Server team, use the [arbitrary OpenRTB](/prebid-mobile/pbm-api/android/pbm-targeting-android.html#arbitrary-openrtb) method like this: ```swift -adUnitConfig.setOrtbConfig = "{\"ext\":{\"prebid\":{\"storedrequest\": {\"id\":\"account-settings-id\"}}}}" +adUnitConfig.impORTBConfig = "{\"ext\":{\"prebid\":{\"storedrequest\": {\"id\":\"account-settings-id\"}}}}" ``` ### Initialize SDK -Once you set the account ID and the Prebid Server host, you should initialize the Prebid SDK. There are several options for how to do it. +If you have opted to host your own Prebid Server solution, you will need to store the URL to the server in your app. Make sure that your URL points to the [/openrtb2/auction](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html) endpoint. + +Once you set the account ID, you should initialize the Prebid SDK. There are several options for how to do it. If you integrate Prebid Mobile with GMA SDK with version equal or higher than 10.7.0, use the following initializer, which checks the compatibility of Prebid SDK with GMA SDK used in the app: -{% capture gma12 %}Prebid.initializeSDK(gadMobileAdsVersion: string(for: MobileAds.shared.versionNumber)) { status, error in +{% capture gma12 %}Prebid.initializeSDK("https://prebidserver.example.com/openrtb2/auction", gadMobileAdsVersion: string(for: MobileAds.shared.versionNumber)) { status, error in switch status { case .succeeded: print("Prebid SDK successfully initialized") @@ -142,7 +135,7 @@ If you integrate Prebid Mobile with GMA SDK with version equal or higher than 10 } } {% endcapture %} -{% capture gma11 %}Prebid.initializeSDK(gadMobileAdsVersion: GADGetStringFromVersionNumber(GADMobileAds.sharedInstance().versionNumber) { status, error in +{% capture gma11 %}Prebid.initializeSDK("https://prebidserver.example.com/openrtb2/auction", gadMobileAdsVersion: GADGetStringFromVersionNumber(GADMobileAds.sharedInstance().versionNumber) { status, error in switch status { case .succeeded: print("Prebid SDK successfully initialized") @@ -165,7 +158,7 @@ If you integrate Prebid Mobile with GMA SDK with version equal or higher than 10 If you integrate Prebid Mobile with GMA SDK with version lower than 10.7.0, use the following initializer: ```swift -Prebid.initializeSDK(GADMobileAds.sharedInstance()) { status, error in +Prebid.initializeSDK("https://prebidserver.example.com/openrtb2/auction", GADMobileAds.sharedInstance()) { status, error in switch status { case .succeeded: print("Prebid SDK successfully initialized") @@ -188,11 +181,13 @@ Check the log messages of the app. If the provided GMA SDK version is not verifi For the No Ad Server scenario, use the following initialization: ```swift -Prebid.initializeSDK { status, error in +Prebid.initializeSDK("https://prebidserver.example.com/openrtb2/auction") { status, error in // .... } ``` +All initialization methods may throw an exception if the provided server URL is invalid. + During the initialization, SDK creates internal classes and performs the health check request to the [/status](https://docs.prebid.org/prebid-server/endpoints/pbs-endpoint-status.html) endpoint. If you use a custom PBS host you should provide a custom status endpoint as well: ```swift @@ -324,16 +319,6 @@ All values received in the `passthrough` of the bid response will be applied to {:.no_toc} ```swift -// Host -Prebid.shared.prebidServerHost = .Rubicon -// or set a custom host -Prebid.shared.prebidServerHost = PrebidHost.Custom -do { - try Prebid.shared.setCustomPrebidServer(url: "https://prebid-server.customhost.com") -} catch { - print(error) -} - // Account Id Prebid.shared.prebidServerAccountId = "1234" diff --git a/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md b/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md index b3da208e65..4dc590e448 100644 --- a/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md +++ b/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md @@ -39,14 +39,12 @@ All of these properties of the Prebid class can be set on the `shared` object li ```swift Prebid.shared.prebidServerAccountId="12345" -Prebid.shared.customStatusEndpoint="https://pbs.example.com/v2/status" ``` {: .table .table-bordered .table-striped } | Parameter | Scope | Type | Purpose | Description | Example | | --- | --- | --- | --- | --- | --- | | prebidServerAccountId | either | string | init | Your Prebid Server team will tell you whether this is required or not and if so, the value. | "abc123" | -| prebidServerHost | optional | enum | init | This can take the values "Appnexus", "Rubicon", or "Custom". If "Custom", you need to use the setCustomPrebidServerUrl() method to set a URL. This is where the Prebid SDK will send the auction information. Your Prebid Server team will tell you which value to use. The default is "Custom". | "Custom" | | customStatusEndpoint | optional | string | init | Use this URL to check the status of Prebid Server. The default status endpoint is the PBS URL appended with '/status'. | `https://prebidserver``.example``.com/custom``/status` | | shareGeoLocation | optional | boolean | ORTB | If this flag is true AND the app collects the user’s geographical location data, Prebid Mobile will send the user’s lat/long geographical location data to the Prebid Server. The default is false. | `true` | | locationUpdatesEnabled | optional | boolean | ORTB | If true, the SDK will periodically try to listen for location updates. Default is `false`. | `true` | @@ -59,18 +57,12 @@ Prebid.shared.customStatusEndpoint="https://pbs.example.com/v2/status" | pbsDebug | optional | boolean | ORTB | Adds the debug flag (`test`:1) on the outbound http call to the Prebid Server. The `test` flag signals to the Prebid Server to emit the full resolved request and the full Bid Request and Bid Response to and from each bidder. | true | | shouldAssignNativeAssetID | optional | boolean | ORTB | Whether to automatically assign an assetID for a Native ad. Default is `false`. | true | | useCacheForReportingWithRenderingAPI | optional | boolean | ORTB | Indicates whether PBS should cache the bid on the server side. If the value is `true` the Prebid SDK will make the cache request to retrieve the cached asset. Default is `false`. | true | -| useExternalClickthroughBrowser | optional | boolean | SDK control | Controls whether to use PrebidMobile's in-app browser or the Safari App for displaying ad clickthrough content. Default is false. | true | -| impClickbrowserType | optional | enum | ORTB | Indicates the type of browser opened upon clicking the creative in an app. This corresponds to the OpenRTB imp.clickbrowser field. Values are "embedded" and "native". Default is "native". | "native". | | includeWinners | optional | boolean | ORTB | If `true`, Prebid sdk will add `includewinners` flag inside the targeting object described in [PBS Documentation](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html#targeting) . Default is `false`. | `true` | | includeBidderKeys | optional | boolean | ORTB | If `true`, Prebid sdk will add `includebidderkeys` flag inside the targeting object described in [PBS Documentation](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html#targeting) . Default is `false`. | `true` | | eventDelegate | optional | PrebidEventDelegate | init | Sets an event delegate to handle all auction requests and responses. It allows to collect some statistical data. Note that the SDK stores this callback as a weak reference so you need to store a reference to it. | `class PrebidEventDelegateTestsMockDelegate: PrebidEventDelegate { func prebidBidRequestDidFinish(requestData: Data?, responseData: Data?) { ... } }` | ### Prebid Class Global Methods -#### setCustomPrebidServerUrl() - -Defines which Prebid Server to connect to. See the initialization page for [iOS](/prebid-mobile/pbm-api/ios/code-integration-ios.html). - #### addStoredBidResponse() Stored Bid Responses are for testing and debugging similar to Stored Auction Responses (see the Global Properties above). They signal Prebid Server to respond with a static pre-defined response, except Stored Bid Responses actually exercise the bidder adapter. For more information on how stored bid responses work, refer to the [Prebid Server endpoint doc](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html#stored-responses). Your Prebid Server team will help you determine how best to setup test and debug. @@ -369,14 +361,6 @@ Prebid SDK provides a number of properties in the [Targeting class](/prebid-mobi ```swift func setLatitude(latitude: Double, longitude: Double) -func addUserData(key: String, value: String) - -func updateUserData(key: String, value: Set) - -func removeUserData(forKey: String) - -func clearUserData() - func addUserKeyword(_ newElement: String) func addUserKeywords(_ newElements: Set) @@ -391,14 +375,11 @@ func getUserKeywords() Example: ```swift -Targeting.shared.addUserData(key: "globalUserDataKey1", value: "globalUserDataValue1") +Targeting.shared.addUserKeyword(key: "globalUserKeyword") ``` {: .alert.alert-info :} -Note: The 'UserData' functions end up putting data into the OpenRTB user.ext.data object while the 'UserKeywords' functions -put data into user.keywords. - -Related functions: setYearOfBirth(), getYearOfBirth() and clearYearOfBirth(). +Note: The 'UserKeywords' functions put data into user.keywords. ### Inventory FPD @@ -447,7 +428,7 @@ func clearAccessControlList() Example: ```swift -Targeting.shared.addBidderToAccessControlList(Prebid.bidderNameRubiconProject) +Targeting.shared.addBidderToAccessControlList("rubicon") ``` --- @@ -515,9 +496,6 @@ Certain identity vendors require an external dependency to generate user identit UID2 provides a [native library](https://unifiedid.com/docs/guides/integration-mobile-client-side#optional-uid2-prebid-mobile-sdk-integration) for automatically updating latest UID2 token stored inside [UID2 SDK for iOS](https://unifiedid.com/docs/sdks/sdk-ref-ios) into Prebid's external user's ID list. -App developers are not required to manually call ```Prebid.shared.externalUserIdArray = latestExternalUserIdArray``` -as the native library will do so automatically - Note: - [Github repo](https://github.com/IABTechLab/uid2-ios-sdk) @@ -594,18 +572,6 @@ Pay attention that there are certain protected fields such as `regs`, `device`, - App and User first party data should use the [functions defined for those purposes](/prebid-mobile/pbm-api/ios/pbm-targeting-ios.html#first-party-data) - See the [Prebid Server auction endpoint](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html#prebid-server-ortb2-extension-summary) reference for more information about how it will process incoming fields. -### Deprecated -{:.no_toc} - -The Prebid Mobile SDK v2.2.1 contains the deprecated method to set the impression level RTB config: - -``` swift -//ad unit / impression-level -adUnit.setOrtbConfig("{\"ext\":{\"gpid\":\"abc123"}}\") -``` - -This method has implementation issues and was deprecated in v2.4.0. If you use this method, we strongly recommend migrating to the new `setImpORTBConfig()` method since this one will be removed entirely in SDK version 3.0. - ## Further Reading - [Prebid Mobile Overview](/prebid-mobile/prebid-mobile.html) diff --git a/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-html-banner.md b/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-html-banner.md index b205ea09a7..7131ef68cc 100644 --- a/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-html-banner.md +++ b/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-html-banner.md @@ -22,7 +22,7 @@ To integrate HTML banner ads into the app you should use the `BannerAdUnit` clas // 2. Configure banner parameters using Prebid Mobile SDK let parameters = BannerParameters() parameters.api = [Signals.Api.MRAID_2, Signals.Api.OMID_1] - adUnit.parameters = parameters + adUnit.bannerParameters = parameters // 3. Create an AdManagerBannerView using Google Mobile Ads SDK gamBanner = AdManagerBannerView(adSize: adSizeFor(cgSize: AD_SIZE)) @@ -52,7 +52,7 @@ To integrate HTML banner ads into the app you should use the `BannerAdUnit` clas // 2. Configure banner parameters using Prebid Mobile SDK let parameters = BannerParameters() parameters.api = [Signals.Api.MRAID_2, Signals.Api.OMID_1] - adUnit.parameters = parameters + adUnit.bannerParameters = parameters // 3. Create a GAMBannerView using Google Mobile Ads SDK gamBanner = GAMBannerView(adSize: GADAdSizeFromCGSize(AD_SIZE)) diff --git a/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-interstitial-video.md b/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-interstitial-video.md index f01db9baf7..a89bdc70b2 100644 --- a/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-interstitial-video.md +++ b/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-interstitial-video.md @@ -60,7 +60,7 @@ To integrate Video Interstitial ads into the app you should use the Prebid SDK ` parameters.mimes = ["video/mp4"] parameters.protocols = [Signals.Protocols.VAST_2_0] parameters.playbackMethod = [Signals.PlaybackMethod.AutoPlaySoundOn] - adUnit.parameters = parameters + adUnit.bannerParameters = parameters // 4. Make a bid request to Prebid Server using Prebid Mobile SDK let gamRequest = GAMRequest() diff --git a/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-rewarded-video.md b/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-rewarded-video.md index 8174d0503b..7e72127857 100644 --- a/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-rewarded-video.md +++ b/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-rewarded-video.md @@ -52,7 +52,7 @@ To integrate Rewarded Video ads into the app you should use the Prebid SDK `Rewa parameters.mimes = ["video/mp4"] parameters.protocols = [Signals.Protocols.VAST_2_0] parameters.playbackMethod = [Signals.PlaybackMethod.AutoPlaySoundOn] - adUnit.parameters = parameters + adUnit.videoParameters = parameters // 3. Make a bid request to Prebid Server using Prebid Mobile SDK let gamRequest = GAMRequest() diff --git a/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-instream.md b/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-instream.md index 635408ee0b..8a8fe5d58e 100644 --- a/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-instream.md +++ b/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-instream.md @@ -93,8 +93,6 @@ func adsManagerDidRequestContentResume(_ adsManager: IMAAdsManager) { } ``` -{: .alert.alert-warning :} -Starting from PrebidMobile `2.1.0` the `VideoAdUnit` class is deprecated. Use `InstreamVideoAdUnit` class instead. ## Step 1: Create an InstreamVideoAdUnit {:.no_toc} diff --git a/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-outstream.md b/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-outstream.md index 7694451547..cc7e7a3de6 100644 --- a/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-outstream.md +++ b/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-outstream.md @@ -79,8 +79,6 @@ adUnit.fetchDemand(adObject: gamRequest) { [weak self] resultCode in {% include code/gma-versions-tabs.html id="non-instream-video" gma11=gma11 gma12=gma12 %} -{: .alert.alert-warning :} -Starting from PrebidMobile `2.1.0` the `VideoAdUnit` class is deprecated. Use `BannerAdUnit` class with video ad format instead. ## Step 1: Create a BannerAdUnit {:.no_toc} From bd72f6c212fdf5c8ec45754e916a1d3f9f3035e0 Mon Sep 17 00:00:00 2001 From: Yuriy Velichko Date: Fri, 4 Apr 2025 10:33:50 +0300 Subject: [PATCH 22/52] doc: mobile 3.0 - change the order of features --- prebid-mobile/updates-3.0/sdk-key-features.md | 53 ++++++++++--------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/prebid-mobile/updates-3.0/sdk-key-features.md b/prebid-mobile/updates-3.0/sdk-key-features.md index f3db01e1d0..3df32eb330 100644 --- a/prebid-mobile/updates-3.0/sdk-key-features.md +++ b/prebid-mobile/updates-3.0/sdk-key-features.md @@ -16,6 +16,33 @@ PrebidMobile 3.0 offers a robust and versatile set of features tailored to help - TOC {:toc} +## Rendering Delegation + +The SDK offers a standardized way for developers to implement custom ad rendering solutions, enabling publishers to integrate their own custom rendering SDK. This layer provides the flexibility to move away from default solutions like Prebid Universal Creative, Google Ad Manager (GAM), or other rendering options, allowing publishers to take full control of the rendering process with their preferred solution. + +For the implementation details, refer to these articles: + +- iOS: [Create your implementation of the `PrebidMobilePluginRenderer`](/prebid-mobile/pbm-api/ios/pbm-plugin-renderer.html#create-your-implementation-of-the-prebidmobilepluginrenderer); +- Android: [Create your implementation of the `PrebidMobilePluginRenderer`](/prebid-mobile/pbm-api/android/pbm-plugin-renderer.md#create-your-implementation-of-the-prebidmobilepluginrenderer). + +## Rewarded Ad Unit + +The SDK provides an enhanced and more publisher-oriented `RewardedAdUnit`, allowing for greater customization, flexibility, and control over the rewarded ad experience, tailored to the specific needs of the publisher. The `RewardedAdUnit` assumes special behavior that should be configurable by the platform or publisher according to the application or ad experience guides. + +Refer to these pages for the implementation details: + +- iOS: [Rewarded](/prebid-mobile/modules/rendering/ios-sdk-integration-pb.html); +- Android: [Rewarded](/prebid-mobile/modules/rendering/android-sdk-integration-pb.html). + +## Shared ID + +The SDK provides a way for publishers to opt into having the Prebid SDK generate a Shared ID. Shared ID is a randomly generated first-party identifier managed by Prebid. It remains the same throughout the current app session unless reset. If local storage access is permitted, the same ID may persist across multiple app sessions indefinitely. However, Shared ID values do not remain consistent across different apps on the same device. + +For further information, read these articles: + +- iOS: [Shared ID](/prebid-mobile/pbm-api/ios/pbm-targeting-ios.html#shared-id); +- Android: [Shared ID](/prebid-mobile/pbm-api/android/pbm-targeting-android.html#shared-id). + ## Arbitrary OpenRTB The SDK enables publishers to customize the OpenRTB request according to their specific requirements. This customization can be done at two levels: the global and the impression level. @@ -48,24 +75,6 @@ Refer to these articles for more information: - iOS: [Native Impression Tracking](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.html#native-impression-tracking); - Android: [Native Impression Tracking](/prebid-mobile/pbm-api/android/android-sdk-integration-gam-original-api.html#native-impression-tracking). -## Rendering Delegation - -The SDK offers a standardized way for developers to implement custom ad rendering solutions, enabling publishers to integrate their own custom rendering SDK. This layer provides the flexibility to move away from default solutions like Prebid Universal Creative, Google Ad Manager (GAM), or other rendering options, allowing publishers to take full control of the rendering process with their preferred solution. - -For the implementation details, refer to these articles: - -- iOS: [Create your implementation of the `PrebidMobilePluginRenderer`](/prebid-mobile/pbm-api/ios/pbm-plugin-renderer.html#create-your-implementation-of-the-prebidmobilepluginrenderer); -- Android: [Create your implementation of the `PrebidMobilePluginRenderer`](/prebid-mobile/pbm-api/android/pbm-plugin-renderer.md#create-your-implementation-of-the-prebidmobilepluginrenderer). - -## Rewarded Ad Unit - -The SDK provides an enhanced and more publisher-oriented `RewardedAdUnit`, allowing for greater customization, flexibility, and control over the rewarded ad experience, tailored to the specific needs of the publisher. The `RewardedAdUnit` assumes special behavior that should be configurable by the platform or publisher according to the application or ad experience guides. - -Refer to these pages for the implementation details: - -- iOS: [Rewarded](/prebid-mobile/modules/rendering/ios-sdk-integration-pb.html); -- Android: [Rewarded](/prebid-mobile/modules/rendering/android-sdk-integration-pb.html). - ## SKAdNetwork in Bidding-only scenario Apple offers SKAdNetwork as a privacy-focused solution that allows ad networks to track app installs while protecting user data. In line with this, the SDK supports two SKAdNetwork methods that enable ad networks to deliver ads in a bidding-only context, specifically for **banner** and **native** ad formats. These methods include view-through and StoreKit-rendered ads. @@ -78,14 +87,6 @@ The SDK also provides support of SKOverlay for interstitials. SKOverlay enables Refer to this article for more information: [SKOverlay](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.html#skoverlay). -## Shared ID - -The SDK provides a way for publishers to opt into having the Prebid SDK generate a Shared ID. Shared ID is a randomly generated first-party identifier managed by Prebid. It remains the same throughout the current app session unless reset. If local storage access is permitted, the same ID may persist across multiple app sessions indefinitely. However, Shared ID values do not remain consistent across different apps on the same device. - -For further information, read these articles: - -- iOS: [Shared ID](/prebid-mobile/pbm-api/ios/pbm-targeting-ios.html#shared-id); -- Android: [Shared ID](/prebid-mobile/pbm-api/android/pbm-targeting-android.html#shared-id). ## Video UX From fd23daa4f6f46b5ba8bb7b1ce9b140fcba19330d Mon Sep 17 00:00:00 2001 From: Yuriy Velichko Date: Fri, 4 Apr 2025 11:04:52 +0300 Subject: [PATCH 23/52] doc: 3.0 doc update --- prebid-mobile/updates-3.0/sdk-key-features.md | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/prebid-mobile/updates-3.0/sdk-key-features.md b/prebid-mobile/updates-3.0/sdk-key-features.md index 3df32eb330..58cb0c1cf6 100644 --- a/prebid-mobile/updates-3.0/sdk-key-features.md +++ b/prebid-mobile/updates-3.0/sdk-key-features.md @@ -8,10 +8,12 @@ nav_section: prebid-mobile-ios sidebarType: 2 --- -# Prebid Mobile 3.0 Key Features +# Prebid Mobile 3.0 {:.no_toc} -PrebidMobile 3.0 offers a robust and versatile set of features tailored to help publishers improve their ad delivery efficiency. Below, you will find a concise overview of each feature and its capabilities. +Prebid Mobile 3.0 accumulates the results of about 500 closed PRs for both platforms, aiming to extend supported inventory and enhance bidding transparency for In-App publishers and advertisers. + +The current doc summarizes the key product features for the 3.0 milestone. - TOC {:toc} @@ -66,7 +68,7 @@ Further details could be found on the pages below: - iOS: [Prebid Mobile - GAM Bidding-only Multiformat](/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-multiformat.html); - Android: [Prebid Mobile - GAM Bidding-only Multiformat](/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-multiformat.html). -## Native Impression Tracking +## Impression Tracking Enchancents The SDK offers a native impression tracking API that enables publishers to track and record ad impressions by firing a billing notice URL (burl) whenever an impression is served. @@ -75,7 +77,15 @@ Refer to these articles for more information: - iOS: [Native Impression Tracking](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.html#native-impression-tracking); - Android: [Native Impression Tracking](/prebid-mobile/pbm-api/android/android-sdk-integration-gam-original-api.html#native-impression-tracking). -## SKAdNetwork in Bidding-only scenario +## Documentation Updates + + + +## Support Apple's ATT framework + + + +## SKAdNetwork Apple offers SKAdNetwork as a privacy-focused solution that allows ad networks to track app installs while protecting user data. In line with this, the SDK supports two SKAdNetwork methods that enable ad networks to deliver ads in a bidding-only context, specifically for **banner** and **native** ad formats. These methods include view-through and StoreKit-rendered ads. From f360a5cdd0497bd86c55e15da89c1b000ed55575 Mon Sep 17 00:00:00 2001 From: Yuriy Velichko Date: Fri, 4 Apr 2025 11:23:43 +0300 Subject: [PATCH 24/52] doc: improvements --- prebid-mobile/updates-3.0/sdk-key-features.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/prebid-mobile/updates-3.0/sdk-key-features.md b/prebid-mobile/updates-3.0/sdk-key-features.md index 58cb0c1cf6..c14fe37d2c 100644 --- a/prebid-mobile/updates-3.0/sdk-key-features.md +++ b/prebid-mobile/updates-3.0/sdk-key-features.md @@ -20,12 +20,11 @@ The current doc summarizes the key product features for the 3.0 milestone. ## Rendering Delegation -The SDK offers a standardized way for developers to implement custom ad rendering solutions, enabling publishers to integrate their own custom rendering SDK. This layer provides the flexibility to move away from default solutions like Prebid Universal Creative, Google Ad Manager (GAM), or other rendering options, allowing publishers to take full control of the rendering process with their preferred solution. +Feature documentation: [iOS] (/prebid-mobile/pbm-api/ios/pbm-plugin-renderer.html), [Android](/prebid-mobile/pbm-api/android/pbm-plugin-renderer.html). -For the implementation details, refer to these articles: +Prebid Mobile introduces a standardized protocol for SDK developers to implement custom ad rendering solutions within In-App Prebid integration. This flexibility allows demand partners to move beyond default options like Prebid Universal Creative, Google Ad Manager (GAM), or other built-in rendering solutions, giving them full control over the ad rendering process with their preferred technology. -- iOS: [Create your implementation of the `PrebidMobilePluginRenderer`](/prebid-mobile/pbm-api/ios/pbm-plugin-renderer.html#create-your-implementation-of-the-prebidmobilepluginrenderer); -- Android: [Create your implementation of the `PrebidMobilePluginRenderer`](/prebid-mobile/pbm-api/android/pbm-plugin-renderer.md#create-your-implementation-of-the-prebidmobilepluginrenderer). +For publishers, rendering delegation enhances ad quality and ensures a premium ad experience from trusted partners. ## Rewarded Ad Unit From 8040ab4f6a22edb8f800137a0daf8b046139d0f2 Mon Sep 17 00:00:00 2001 From: Yuriy Velichko Date: Fri, 4 Apr 2025 11:31:56 +0300 Subject: [PATCH 25/52] doc: corrections for the Rewarded Ad Unit --- prebid-mobile/updates-3.0/sdk-key-features.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/prebid-mobile/updates-3.0/sdk-key-features.md b/prebid-mobile/updates-3.0/sdk-key-features.md index c14fe37d2c..15f212b006 100644 --- a/prebid-mobile/updates-3.0/sdk-key-features.md +++ b/prebid-mobile/updates-3.0/sdk-key-features.md @@ -28,12 +28,10 @@ For publishers, rendering delegation enhances ad quality and ensures a premium a ## Rewarded Ad Unit -The SDK provides an enhanced and more publisher-oriented `RewardedAdUnit`, allowing for greater customization, flexibility, and control over the rewarded ad experience, tailored to the specific needs of the publisher. The `RewardedAdUnit` assumes special behavior that should be configurable by the platform or publisher according to the application or ad experience guides. +Feature documentation: [iOS](/prebid-mobile/modules/rendering/ios-sdk-integration-pb.html#rewarded), [Android](/prebid-mobile/modules/rendering/android-sdk-integration-pb.html#rewarded). -Refer to these pages for the implementation details: +Prebid Mobile introduces an enhanced and more publisher-oriented `RewardedAdUnit`, allowing for greater customization, flexibility, and control over the rewarded ad experience, tailored to the specific needs of the publisher. The `RewardedAdUnit` implements special In-App behavior that should be configurable by the platform or publisher according to the application or ad experience guides. -- iOS: [Rewarded](/prebid-mobile/modules/rendering/ios-sdk-integration-pb.html); -- Android: [Rewarded](/prebid-mobile/modules/rendering/android-sdk-integration-pb.html). ## Shared ID From e2bdb311f2f2a7bf6ed3795cb66d04f2e52baf7a Mon Sep 17 00:00:00 2001 From: Yuriy Velichko Date: Fri, 4 Apr 2025 15:28:11 +0300 Subject: [PATCH 26/52] doc: format docs for the 3.0 page --- prebid-mobile/updates-3.0/sdk-key-features.md | 53 +++++++++---------- 1 file changed, 24 insertions(+), 29 deletions(-) diff --git a/prebid-mobile/updates-3.0/sdk-key-features.md b/prebid-mobile/updates-3.0/sdk-key-features.md index 15f212b006..db41f7659e 100644 --- a/prebid-mobile/updates-3.0/sdk-key-features.md +++ b/prebid-mobile/updates-3.0/sdk-key-features.md @@ -20,7 +20,7 @@ The current doc summarizes the key product features for the 3.0 milestone. ## Rendering Delegation -Feature documentation: [iOS] (/prebid-mobile/pbm-api/ios/pbm-plugin-renderer.html), [Android](/prebid-mobile/pbm-api/android/pbm-plugin-renderer.html). +Documentation: [iOS] (/prebid-mobile/pbm-api/ios/pbm-plugin-renderer.html), [Android](/prebid-mobile/pbm-api/android/pbm-plugin-renderer.html). Prebid Mobile introduces a standardized protocol for SDK developers to implement custom ad rendering solutions within In-App Prebid integration. This flexibility allows demand partners to move beyond default options like Prebid Universal Creative, Google Ad Manager (GAM), or other built-in rendering solutions, giving them full control over the ad rendering process with their preferred technology. @@ -28,51 +28,43 @@ For publishers, rendering delegation enhances ad quality and ensures a premium a ## Rewarded Ad Unit -Feature documentation: [iOS](/prebid-mobile/modules/rendering/ios-sdk-integration-pb.html#rewarded), [Android](/prebid-mobile/modules/rendering/android-sdk-integration-pb.html#rewarded). +Documentation: [iOS](/prebid-mobile/modules/rendering/ios-sdk-integration-pb.html#rewarded), [Android](/prebid-mobile/modules/rendering/android-sdk-integration-pb.html#rewarded). Prebid Mobile introduces an enhanced and more publisher-oriented `RewardedAdUnit`, allowing for greater customization, flexibility, and control over the rewarded ad experience, tailored to the specific needs of the publisher. The `RewardedAdUnit` implements special In-App behavior that should be configurable by the platform or publisher according to the application or ad experience guides. ## Shared ID -The SDK provides a way for publishers to opt into having the Prebid SDK generate a Shared ID. Shared ID is a randomly generated first-party identifier managed by Prebid. It remains the same throughout the current app session unless reset. If local storage access is permitted, the same ID may persist across multiple app sessions indefinitely. However, Shared ID values do not remain consistent across different apps on the same device. +Documentation: [iOS](/prebid-mobile/pbm-api/ios/pbm-targeting-ios.html#shared-id),[Android](/prebid-mobile/pbm-api/android/pbm-targeting-android.html#shared-id). -For further information, read these articles: +Prebid Mobile introduces a way for publishers to add convenient [Prebid-owned first-party identifier](https://docs.prebid.org/identity/sharedid.html) to the bid requests. SharedID is a randomly generated first-party identifier that remains the same throughout the app sessions until reset. However, Shared ID values do not remain consistent across different apps on the same device. -- iOS: [Shared ID](/prebid-mobile/pbm-api/ios/pbm-targeting-ios.html#shared-id); -- Android: [Shared ID](/prebid-mobile/pbm-api/android/pbm-targeting-android.html#shared-id). ## Arbitrary OpenRTB -The SDK enables publishers to customize the OpenRTB request according to their specific requirements. This customization can be done at two levels: the global and the impression level. +Documentation: -For more information about global configuration, check out these pages: +- [iOS Global Arbitrary OpenRTB](/prebid-mobile/pbm-api/ios/pbm-targeting-ios.html#arbitrary-openrtb), +- [iOS Impression-level Arbitrary OpenRTB](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.md#arbitrary-openrtb) +- [Android Global Arbitrary OpenRTB](/prebid-mobile/pbm-api/android/pbm-targeting-android.html#arbitrary-openrtb) +- [Android Impression-level Arbitrary OpenRTB](/prebid-mobile/pbm-api/android/android-sdk-integration-gam-original-api.html#arbitrary-openrtb). -- iOS: [Global Arbitrary OpenRTB](/prebid-mobile/pbm-api/ios/pbm-targeting-ios.html#arbitrary-openrtb); -- Android: [Global Arbitrary OpenRTB](/prebid-mobile/pbm-api/android/pbm-targeting-android.html#arbitrary-openrtb). +Prebid Mobile introduces an API that enables publishers to customize the bid request according to their specific requirements. This customization can be done at two levels: the global and the impression level. -The information about impression-level configuration is available here: - -- iOS: [Impression-level Arbitrary OpenRTB](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.md#arbitrary-openrtb); -- Android: [Impression-level Arbitrary OpenRTB](/prebid-mobile/pbm-api/android/android-sdk-integration-gam-original-api.html#arbitrary-openrtb). ## Multiformat Ad Unit in Bidding-only Scenario -This feature enables publishers to generate multiformat bid requests, specifically within a bidding-only setup. By leveraging this functionality, publishers can request bids that support any combination of ad formats, including banner, video, and native ads, within a single unified request. The Original API was extended with `PrebidAdUnit` and `PrebidRequest` classes that are responsible for managing the bid-requesting process by incapsulating the existing `AdUnit` class to perform all needed work. +Documentation: [iOS](/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-multiformat.html), [Android](/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-multiformat.html). -Further details could be found on the pages below: +Prebid Mobile introduces a way to make multiformat bid requests for a single ad unit, specifically within a bidding-only setup. By leveraging this functionality, publishers can request bids that support any combination of ad formats, including banner, video, and native ads, within a single unified request. The SDK's API was extended with the `PrebidAdUnit` and `PrebidRequest` classes responsible for managing multiformat bid requests. -- iOS: [Prebid Mobile - GAM Bidding-only Multiformat](/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-multiformat.html); -- Android: [Prebid Mobile - GAM Bidding-only Multiformat](/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-multiformat.html). -## Impression Tracking Enchancents +## Impression Tracking Enhancements -The SDK offers a native impression tracking API that enables publishers to track and record ad impressions by firing a billing notice URL (burl) whenever an impression is served. +Documentation: [iOS](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.html#native-impression-tracking), [Android](/prebid-mobile/pbm-api/android/android-sdk-integration-gam-original-api.html#native-impression-tracking). -Refer to these articles for more information: +Prebid Mobile introduces a native impression-tracking method that analyzes the application's view hierarchy in runtime and tracks billing URL(s) only when the ad view is present on the screen. Using this approach, publishers can report more accurate figures for the impression count. -- iOS: [Native Impression Tracking](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.html#native-impression-tracking); -- Android: [Native Impression Tracking](/prebid-mobile/pbm-api/android/android-sdk-integration-gam-original-api.html#native-impression-tracking). ## Documentation Updates @@ -82,21 +74,24 @@ Refer to these articles for more information: -## SKAdNetwork +## Support of SKAdNetwork + +Documentation: [iOS](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.html#skadnetwork) -Apple offers SKAdNetwork as a privacy-focused solution that allows ad networks to track app installs while protecting user data. In line with this, the SDK supports two SKAdNetwork methods that enable ad networks to deliver ads in a bidding-only context, specifically for **banner** and **native** ad formats. These methods include view-through and StoreKit-rendered ads. +Prebid Mobile introduces support of SKAdNetwork for all integrations API including Bidding Only and Rendering API.SKAdNetwork is a privacy-focused solution that allows ad networks to track app installs while protecting user data. These methods include view-through and StoreKit-rendered ads. -Refer to this article for more information: [SKAdNetwork](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.html#skadnetwork). ## SKOverlay -The SDK also provides support of SKOverlay for interstitials. SKOverlay enables developers to present additional content or calls to action as an overlay on top of interstitial ads, without interrupting the overall flow of the ad experience. +Documentation: [iOS](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.html#skoverlay). -Refer to this article for more information: [SKOverlay](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.html#skoverlay). +Prebid Mobile introduces support for SKOverlay for interstitials. SKOverlay enables developers to present additional content or calls to action as an overlay on top of interstitial ads without interrupting the overall flow of the ad experience. ## Video UX +Documentation: [Ad Experience Controls](/prebid-mobile/modules/rendering/combined-ad-experience-controls.html#ad-experience-controls). + When utilizing the Prebid SDK to render the winning bid, you have the ability to customize its behavior. The configuration values can either be initialized based on the bid response or explicitly defined by the publisher, providing flexibility in managing the user experience. -Refer to this page for the implementation details: [Ad Experience Controls](/prebid-mobile/modules/rendering/combined-ad-experience-controls.html#ad-experience-controls). + From 4c425ea51b412102df1aa88a5e584be14f8ccc43 Mon Sep 17 00:00:00 2001 From: Yuriy Velichko Date: Fri, 4 Apr 2025 15:58:12 +0300 Subject: [PATCH 27/52] doc: add some info for the 3.0 changelog --- prebid-mobile/updates-3.0/sdk-key-features.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/prebid-mobile/updates-3.0/sdk-key-features.md b/prebid-mobile/updates-3.0/sdk-key-features.md index db41f7659e..e28ec77d63 100644 --- a/prebid-mobile/updates-3.0/sdk-key-features.md +++ b/prebid-mobile/updates-3.0/sdk-key-features.md @@ -68,10 +68,19 @@ Prebid Mobile introduces a native impression-tracking method that analyzes the a ## Documentation Updates +SDK API: [iOS](https://docs.prebid.org/prebid-mobile-ios/index.html), [Android](https://docs.prebid.org/prebid-mobile-android/index.html). + +Prebid reworked completely reworked documentation for Mobile in two ways: + +- Focusing on recipes about how publishers can integrate header bidding demand in their app. What is available, and how does it work under the hood? So, publishers can make a conscious decision on which integration to use, considering all the pros and cons. +- Introducing the auto-generated SDK API documentation so publishers can always see the actual and full description of the SDKs' classes, methods, and properties. ## Support Apple's ATT framework +Documentation: [iOS]() + +Prebid Mobile introduces support for tracking domain in the initialization method of the SDK. Now, publishers can follow Apple's ATT requirements and specify both - tracking and non-tracking URLs of the Prebid Server. ## Support of SKAdNetwork From 1f6d755da36a09a0b32622218e6a94bdd4aea380 Mon Sep 17 00:00:00 2001 From: Maksym Danylov Date: Fri, 4 Apr 2025 17:57:00 +0300 Subject: [PATCH 28/52] docs: ios initialization with non-tracking endpoints. --- faq/prebid-mobile-faq.md | 3 ++- .../pbm-api/ios/code-integration-ios.md | 20 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/faq/prebid-mobile-faq.md b/faq/prebid-mobile-faq.md index 011d3e288e..208ebbce10 100644 --- a/faq/prebid-mobile-faq.md +++ b/faq/prebid-mobile-faq.md @@ -165,7 +165,8 @@ However, here is the list of items that the app developer can add to the applica - `NSPrivacyTracking` - true. Because Prebid SDK collects IDFA. - `NSPrivacyTrackingDomains` - the tracking domain for the PBS. -Pay attention - if `NSPrivacyTracking` is true, the tracking domain is provided, and the user doesn't allow the app to track him or her, iOS will block the bid requests. Prebid SDK doesn't support tracking and non-tracking endpoints yet. Follow the [issue](https://github.com/prebid/prebid-mobile-ios/issues/954) for the details. +Pay attention - if `NSPrivacyTracking` is true, the tracking domain is provided, and the user doesn't allow the app to track him or her, iOS will block the bid requests. +Prebid SDK supports tracking and non-tracking endpoints. See [SDK initialization](/prebid-mobile/pbm-api/ios/code-integration-ios.html#handling-tracking-domains) for more details details. - `NSPrivacyCollectedDataTypes` array should contain the following `NSPrivacyCollectedDataType` items: `NSPrivacyCollectedDataTypePreciseLocation`, `NSPrivacyCollectedDataTypeCoarseLocation`,`NSPrivacyCollectedDataTypeDeviceID`, `NSPrivacyCollectedDataTypeProductInteraction`, `NSPrivacyCollectedDataTypeAdvertisingData`. diff --git a/prebid-mobile/pbm-api/ios/code-integration-ios.md b/prebid-mobile/pbm-api/ios/code-integration-ios.md index 7f44c4b66f..9af6e1de01 100644 --- a/prebid-mobile/pbm-api/ios/code-integration-ios.md +++ b/prebid-mobile/pbm-api/ios/code-integration-ios.md @@ -196,6 +196,26 @@ Prebid.shared.customStatusEndpoint = PREBID_SERVER_STATUS_ENDPOINT If something goes wrong with the request, the status of the initialization callback will be `.serverStatusWarning`. It doesn't affect an SDK flow and just informs you about the health check result. +#### Handling Tracking Domains + +As part of Apple's evolving privacy policies, SDKs that access user data in a way that could be used for tracking may be required to register tracking domains in the `PrivacyInfo.xcprivacy` file. + +Currently, the Prebid Mobile SDK is not classified as one of these SDKs. But future changes from Apple or internal app review policies may prompt publishers to proactively register the Prebid Server (PBS) endpoint in the privacy manifest. To support this, the Prebid SDK is designed to accommodate both tracking and non-tracking PBS domains. Follow next recommendations during development: + +1. Include the relevant `NSPrivacyCollectedDataTypes` and define your primary Prebid Server domain in the `NSPrivacyTrackingDomains` array in your the `PrivacyInfo.xcprivacy` file to cover a potential "worst case" scenario. Read more about the `PrivacyInfo.xcprivacy` data [here](https://docs.prebid.org/faq/prebid-mobile-faq.html#privacysecurity). +2. You may choose to provide a secondary, privacy-mode PBS URL to the SDK. This secondary domain can be used when tracking is disallowed. Every initialization method contains optional parameter to define the privacy-safe PBS domain. +You’re not required to use a secondary PBS domain. You can simply allow iOS to block PBS requests when the user opts out of tracking. +```swift +let trackingURL = "https://prebidserver.example.com/openrtb2/auction" +let nonTrackingURL = "https://prebidserver.example.nontracking.com/openrtb2/auction" +Prebid.initializeSDK(trackingURL, nonTrackingURL) { status, error in + // .... +} +``` + +{: .alert.alert-warning :} +Depending on Apple’s domain monitoring mechanisms, even the privacy-mode domain could potentially be blocked. In such cases, the PBS provider may need to engage with Apple for resolution. + ## Set Global Parameters There are several types of parameters app developers should consider providing to Prebid SDK: From 10d666be6d467ed7763cf77afa8c38a29d291762 Mon Sep 17 00:00:00 2001 From: Yuriy Velichko Date: Sat, 5 Apr 2025 12:31:07 +0300 Subject: [PATCH 29/52] doc: add some more items to the list of introduced features --- prebid-mobile/updates-3.0/sdk-key-features.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/prebid-mobile/updates-3.0/sdk-key-features.md b/prebid-mobile/updates-3.0/sdk-key-features.md index e28ec77d63..670e40e840 100644 --- a/prebid-mobile/updates-3.0/sdk-key-features.md +++ b/prebid-mobile/updates-3.0/sdk-key-features.md @@ -78,7 +78,7 @@ Prebid reworked completely reworked documentation for Mobile in two ways: ## Support Apple's ATT framework -Documentation: [iOS]() +Documentation: [iOS](/prebid-mobile/pbm-api/ios/code-integration-ios.html#handling-tracking-domains) Prebid Mobile introduces support for tracking domain in the initialization method of the SDK. Now, publishers can follow Apple's ATT requirements and specify both - tracking and non-tracking URLs of the Prebid Server. @@ -87,7 +87,7 @@ Prebid Mobile introduces support for tracking domain in the initialization metho Documentation: [iOS](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.html#skadnetwork) -Prebid Mobile introduces support of SKAdNetwork for all integrations API including Bidding Only and Rendering API.SKAdNetwork is a privacy-focused solution that allows ad networks to track app installs while protecting user data. These methods include view-through and StoreKit-rendered ads. +Prebid Mobile introduces support of SKAdNetwork for all integrations API including Bidding Only and Rendering API. SKAdNetwork is a privacy-focused solution that allows ad networks to track app installs while protecting user data. These methods include view-through and StoreKit-rendered ads. ## SKOverlay @@ -103,4 +103,9 @@ Documentation: [Ad Experience Controls](/prebid-mobile/modules/rendering/combine When utilizing the Prebid SDK to render the winning bid, you have the ability to customize its behavior. The configuration values can either be initialized based on the bid response or explicitly defined by the publisher, providing flexibility in managing the user experience. +## API Cleanup +Documentation: [iOS](/prebid-mobile/updates-3.0/ios/updates-3.0.html). [Android](/prebid-mobile/updates-3.0/android/updates-3.0.html). + + +In the 3.0 release, Prebid Mobile SDK gets read of all previously deprecated methods in order to keep API clean and minimalistic. Instead of using Ad Unit and configuration properties, Prebid SDK encourages publishers to use methods to set [Arbitrary OpenRTB] (#arbitrary-openrtb) parameters. \ No newline at end of file From 7ac68944e05d88a72ea6982156a193009127ae35 Mon Sep 17 00:00:00 2001 From: Yuriy Velichko Date: Sat, 5 Apr 2025 15:05:50 +0300 Subject: [PATCH 30/52] doc: various corrections --- prebid-mobile/updates-3.0/sdk-key-features.md | 64 ++++++++----------- 1 file changed, 27 insertions(+), 37 deletions(-) diff --git a/prebid-mobile/updates-3.0/sdk-key-features.md b/prebid-mobile/updates-3.0/sdk-key-features.md index 670e40e840..032f33f2c6 100644 --- a/prebid-mobile/updates-3.0/sdk-key-features.md +++ b/prebid-mobile/updates-3.0/sdk-key-features.md @@ -11,7 +11,7 @@ sidebarType: 2 # Prebid Mobile 3.0 {:.no_toc} -Prebid Mobile 3.0 accumulates the results of about 500 closed PRs for both platforms, aiming to extend supported inventory and enhance bidding transparency for In-App publishers and advertisers. +Prebid Mobile 3.0 accumulates the results of about 500 closed PRs for both platforms, aiming to extend supported inventory and enhance bidding transparency for In-App publishers and advertisers. The current doc summarizes the key product features for the 3.0 milestone. @@ -20,92 +20,82 @@ The current doc summarizes the key product features for the 3.0 milestone. ## Rendering Delegation -Documentation: [iOS] (/prebid-mobile/pbm-api/ios/pbm-plugin-renderer.html), [Android](/prebid-mobile/pbm-api/android/pbm-plugin-renderer.html). +Documentation: [iOS](/prebid-mobile/pbm-api/ios/pbm-plugin-renderer.html), [Android](/prebid-mobile/pbm-api/android/pbm-plugin-renderer.html). -Prebid Mobile introduces a standardized protocol for SDK developers to implement custom ad rendering solutions within In-App Prebid integration. This flexibility allows demand partners to move beyond default options like Prebid Universal Creative, Google Ad Manager (GAM), or other built-in rendering solutions, giving them full control over the ad rendering process with their preferred technology. +Prebid Mobile introduces a standardized protocol for SDK developers to implement custom ad rendering solutions within In-App Prebid integration. This flexibility allows demand partners to move beyond default options like Prebid Universal Creative, Google Ad Manager (GAM), or other built-in rendering solutions, giving them full control over the ad rendering process with their preferred technology. For publishers, rendering delegation enhances ad quality and ensures a premium ad experience from trusted partners. -## Rewarded Ad Unit +## Rewarded Ad Unit Documentation: [iOS](/prebid-mobile/modules/rendering/ios-sdk-integration-pb.html#rewarded), [Android](/prebid-mobile/modules/rendering/android-sdk-integration-pb.html#rewarded). Prebid Mobile introduces an enhanced and more publisher-oriented `RewardedAdUnit`, allowing for greater customization, flexibility, and control over the rewarded ad experience, tailored to the specific needs of the publisher. The `RewardedAdUnit` implements special In-App behavior that should be configurable by the platform or publisher according to the application or ad experience guides. - ## Shared ID -Documentation: [iOS](/prebid-mobile/pbm-api/ios/pbm-targeting-ios.html#shared-id),[Android](/prebid-mobile/pbm-api/android/pbm-targeting-android.html#shared-id). - -Prebid Mobile introduces a way for publishers to add convenient [Prebid-owned first-party identifier](https://docs.prebid.org/identity/sharedid.html) to the bid requests. SharedID is a randomly generated first-party identifier that remains the same throughout the app sessions until reset. However, Shared ID values do not remain consistent across different apps on the same device. +Documentation: [iOS](/prebid-mobile/pbm-api/ios/pbm-targeting-ios.html#shared-id), [Android](/prebid-mobile/pbm-api/android/pbm-targeting-android.html#shared-id). +Prebid Mobile introduces a way for publishers to add a convenient [Prebid-owned first-party identifier](https://docs.prebid.org/identity/sharedid.html) to the bid requests. SharedID is a randomly generated first-party identifier that remains the same throughout the app sessions until reset. However, Shared ID values do not remain consistent across different apps on the same device. ## Arbitrary OpenRTB Documentation: -- [iOS Global Arbitrary OpenRTB](/prebid-mobile/pbm-api/ios/pbm-targeting-ios.html#arbitrary-openrtb), -- [iOS Impression-level Arbitrary OpenRTB](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.md#arbitrary-openrtb) -- [Android Global Arbitrary OpenRTB](/prebid-mobile/pbm-api/android/pbm-targeting-android.html#arbitrary-openrtb) -- [Android Impression-level Arbitrary OpenRTB](/prebid-mobile/pbm-api/android/android-sdk-integration-gam-original-api.html#arbitrary-openrtb). - -Prebid Mobile introduces an API that enables publishers to customize the bid request according to their specific requirements. This customization can be done at two levels: the global and the impression level. +- [iOS Global Arbitrary OpenRTB](/prebid-mobile/pbm-api/ios/pbm-targeting-ios.html#arbitrary-openrtb) +- [iOS Impression-level Arbitrary OpenRTB](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.md#arbitrary-openrtb) +- [Android Global Arbitrary OpenRTB](/prebid-mobile/pbm-api/android/pbm-targeting-android.html#arbitrary-openrtb) +- [Android Impression-level Arbitrary OpenRTB](/prebid-mobile/pbm-api/android/android-sdk-integration-gam-original-api.html#arbitrary-openrtb) +Prebid Mobile introduces an API that enables publishers to customize the bid request according to their specific requirements. This customization can be done at two levels: global and impression level. ## Multiformat Ad Unit in Bidding-only Scenario -Documentation: [iOS](/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-multiformat.html), [Android](/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-multiformat.html). +Documentation: [iOS](/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-multiformat.html), [Android](/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-multiformat.html) Prebid Mobile introduces a way to make multiformat bid requests for a single ad unit, specifically within a bidding-only setup. By leveraging this functionality, publishers can request bids that support any combination of ad formats, including banner, video, and native ads, within a single unified request. The SDK's API was extended with the `PrebidAdUnit` and `PrebidRequest` classes responsible for managing multiformat bid requests. - ## Impression Tracking Enhancements -Documentation: [iOS](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.html#native-impression-tracking), [Android](/prebid-mobile/pbm-api/android/android-sdk-integration-gam-original-api.html#native-impression-tracking). - -Prebid Mobile introduces a native impression-tracking method that analyzes the application's view hierarchy in runtime and tracks billing URL(s) only when the ad view is present on the screen. Using this approach, publishers can report more accurate figures for the impression count. +Documentation: [iOS](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.html#native-impression-tracking), [Android](/prebid-mobile/pbm-api/android/android-sdk-integration-gam-original-api.html#native-impression-tracking) +Prebid Mobile introduces a native impression-tracking method that analyzes the application's view hierarchy at runtime and tracks billing URL(s) only when the ad view is present on the screen. Using this approach, publishers can report more accurate figures for the impression count. ## Documentation Updates -SDK API: [iOS](https://docs.prebid.org/prebid-mobile-ios/index.html), [Android](https://docs.prebid.org/prebid-mobile-android/index.html). +SDK API: [iOS](https://docs.prebid.org/prebid-mobile-ios/index.html), [Android](https://docs.prebid.org/prebid-mobile-android/index.html) -Prebid reworked completely reworked documentation for Mobile in two ways: - -- Focusing on recipes about how publishers can integrate header bidding demand in their app. What is available, and how does it work under the hood? So, publishers can make a conscious decision on which integration to use, considering all the pros and cons. -- Introducing the auto-generated SDK API documentation so publishers can always see the actual and full description of the SDKs' classes, methods, and properties. +Prebid completely reworked the documentation for Mobile in two ways: +- Focusing on recipes that help publishers integrate header bidding demand in their app. What is available, and how does it work under the hood? This allows publishers to make informed decisions about which integration to use, considering all the pros and cons. +- Introducing auto-generated SDK API documentation, so publishers can always see the current and full description of the SDKs' classes, methods, and properties. -## Support Apple's ATT framework +## Support for Apple's ATT Framework Documentation: [iOS](/prebid-mobile/pbm-api/ios/code-integration-ios.html#handling-tracking-domains) -Prebid Mobile introduces support for tracking domain in the initialization method of the SDK. Now, publishers can follow Apple's ATT requirements and specify both - tracking and non-tracking URLs of the Prebid Server. +Prebid Mobile introduces support for tracking domains in the initialization method of the SDK. Now, publishers can follow Apple's ATT requirements and specify both tracking and non-tracking URLs for the Prebid Server. - -## Support of SKAdNetwork +## Support for SKAdNetwork Documentation: [iOS](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.html#skadnetwork) -Prebid Mobile introduces support of SKAdNetwork for all integrations API including Bidding Only and Rendering API. SKAdNetwork is a privacy-focused solution that allows ad networks to track app installs while protecting user data. These methods include view-through and StoreKit-rendered ads. - +Prebid Mobile introduces support for SKAdNetwork across all integration APIs, including Bidding-only and Rendering APIs. SKAdNetwork is a privacy-focused solution that allows ad networks to track app installs while protecting user data. These methods include view-through and StoreKit-rendered ads. ## SKOverlay -Documentation: [iOS](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.html#skoverlay). +Documentation: [iOS](/prebid-mobile/pbm-api/ios/ios-sdk-integration-gam-original-api.html#skoverlay) Prebid Mobile introduces support for SKOverlay for interstitials. SKOverlay enables developers to present additional content or calls to action as an overlay on top of interstitial ads without interrupting the overall flow of the ad experience. - ## Video UX -Documentation: [Ad Experience Controls](/prebid-mobile/modules/rendering/combined-ad-experience-controls.html#ad-experience-controls). +Documentation: [Ad Experience Controls](/prebid-mobile/modules/rendering/combined-ad-experience-controls.html#ad-experience-controls) -When utilizing the Prebid SDK to render the winning bid, you have the ability to customize its behavior. The configuration values can either be initialized based on the bid response or explicitly defined by the publisher, providing flexibility in managing the user experience. +Prebid Mobile introduces enhanced support and configuration of video ads, including interstitial, outstream, and rewarded ads. The configuration values can either be initialized based on the bid response or explicitly defined by the publisher, providing flexibility in managing the user experience. ## API Cleanup -Documentation: [iOS](/prebid-mobile/updates-3.0/ios/updates-3.0.html). [Android](/prebid-mobile/updates-3.0/android/updates-3.0.html). - +Documentation: [iOS](/prebid-mobile/updates-3.0/ios/updates-3.0.html), [Android](/prebid-mobile/updates-3.0/android/updates-3.0.html) -In the 3.0 release, Prebid Mobile SDK gets read of all previously deprecated methods in order to keep API clean and minimalistic. Instead of using Ad Unit and configuration properties, Prebid SDK encourages publishers to use methods to set [Arbitrary OpenRTB] (#arbitrary-openrtb) parameters. \ No newline at end of file +In the 3.0 release, the Prebid Mobile SDK gets rid of all previously deprecated methods in order to keep the API clean and minimalistic. Instead of using Ad Unit and configuration properties, the Prebid SDK encourages publishers to use methods to set [Arbitrary OpenRTB](#arbitrary-openrtb) parameters. From 31a4cee6fe6d8188e756bb04088fb781775c254c Mon Sep 17 00:00:00 2001 From: Yuriy Velichko Date: Sat, 5 Apr 2025 15:19:18 +0300 Subject: [PATCH 31/52] doc: greeting message on the main SDK page --- prebid-mobile/prebid-mobile.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/prebid-mobile/prebid-mobile.md b/prebid-mobile/prebid-mobile.md index 646ae9c939..eee132a8cf 100644 --- a/prebid-mobile/prebid-mobile.md +++ b/prebid-mobile/prebid-mobile.md @@ -11,10 +11,13 @@ sidebarType: 2 Prebid Mobile is an open-source library fir iOS and Android that provides an end-to-end header bidding solution for mobile app publishers. {: .alert.alert-info :} -The Prebid Mobile team is pleased to announce that we're getting ready -to start building the next major version. Please see the -[plan for Prebid Mobile 3.0](/prebid-mobile/docs/Prebid_Mobile_3_0_0.pdf) -and provide feedback to . +The Prebid Mobile team is pleased to inform you that `Prebid Mobile 3.0` is live. + +- [`3.0 Updates Overview`](/updates-3.0/sdk-key-features.html). +- API Changes: [iOS](/updates-3.0//ios/api-changes.html)). [Android](/updates-3.0//android/api-changes.html) +- Provide feedback to . +- +{: .alert.alert-info :} - TOC {:toc} From c65bdee01412ccce9c5e6561b23cbd94ca476d69 Mon Sep 17 00:00:00 2001 From: Yuriy Velichko Date: Sat, 5 Apr 2025 15:32:51 +0300 Subject: [PATCH 32/52] doc: format text on the intro page --- prebid-mobile/prebid-mobile.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/prebid-mobile/prebid-mobile.md b/prebid-mobile/prebid-mobile.md index eee132a8cf..80aaf7c998 100644 --- a/prebid-mobile/prebid-mobile.md +++ b/prebid-mobile/prebid-mobile.md @@ -10,14 +10,19 @@ sidebarType: 2 Prebid Mobile is an open-source library fir iOS and Android that provides an end-to-end header bidding solution for mobile app publishers. -{: .alert.alert-info :} -The Prebid Mobile team is pleased to inform you that `Prebid Mobile 3.0` is live. +---- -- [`3.0 Updates Overview`](/updates-3.0/sdk-key-features.html). -- API Changes: [iOS](/updates-3.0//ios/api-changes.html)). [Android](/updates-3.0//android/api-changes.html) -- Provide feedback to . -- {: .alert.alert-info :} +The Prebid Mobile team is pleased to inform you that `Prebid Mobile 3.0` is live. + +Here is what you need to know first about the new version: +- [3.0 Updates Overview](updates-3.0/sdk-key-features.html). +- API Changes: [iOS](updates-3.0/ios/api-changes.html), [Android](updates-3.0/android/api-changes.html). + +Provide feedback to . + +----- + - TOC {:toc} From 8f3ecd1cf1248bc48a7581cae2dc760d1190f77c Mon Sep 17 00:00:00 2001 From: Yuriy Velichko Date: Mon, 7 Apr 2025 09:57:31 +0300 Subject: [PATCH 33/52] docs: fix lint errors --- prebid-mobile/pbm-api/ios/code-integration-ios.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/prebid-mobile/pbm-api/ios/code-integration-ios.md b/prebid-mobile/pbm-api/ios/code-integration-ios.md index 9af6e1de01..1c94ff49fc 100644 --- a/prebid-mobile/pbm-api/ios/code-integration-ios.md +++ b/prebid-mobile/pbm-api/ios/code-integration-ios.md @@ -118,7 +118,9 @@ Once you set the account ID, you should initialize the Prebid SDK. There are sev If you integrate Prebid Mobile with GMA SDK with version equal or higher than 10.7.0, use the following initializer, which checks the compatibility of Prebid SDK with GMA SDK used in the app: -{% capture gma12 %}Prebid.initializeSDK("https://prebidserver.example.com/openrtb2/auction", gadMobileAdsVersion: string(for: MobileAds.shared.versionNumber)) { status, error in +{% capture gma12 %} +``` swift +Prebid.initializeSDK("https://prebidserver.example.com/openrtb2/auction", gadMobileAdsVersion: string(for: MobileAds.shared.versionNumber)) { status, error in switch status { case .succeeded: print("Prebid SDK successfully initialized") @@ -134,8 +136,11 @@ If you integrate Prebid Mobile with GMA SDK with version equal or higher than 10 break } } +``` {% endcapture %} -{% capture gma11 %}Prebid.initializeSDK("https://prebidserver.example.com/openrtb2/auction", gadMobileAdsVersion: GADGetStringFromVersionNumber(GADMobileAds.sharedInstance().versionNumber) { status, error in +{% capture gma11 %} +``` swift +Prebid.initializeSDK("https://prebidserver.example.com/openrtb2/auction", gadMobileAdsVersion: GADGetStringFromVersionNumber(GADMobileAds.sharedInstance().versionNumber) { status, error in switch status { case .succeeded: print("Prebid SDK successfully initialized") @@ -150,7 +155,8 @@ If you integrate Prebid Mobile with GMA SDK with version equal or higher than 10 default: break } -} +} +``` {% endcapture %} {% include code/gma-versions-tabs.html id="pbm-init" gma11=gma11 gma12=gma12 %} From 360578c12e79a032eeafdea3e105f507ccc30095 Mon Sep 17 00:00:00 2001 From: Yuriy Velichko Date: Mon, 7 Apr 2025 10:00:20 +0300 Subject: [PATCH 34/52] docs: fix lint errors --- prebid-mobile/pbm-api/ios/code-integration-ios.md | 6 +++++- prebid-mobile/prebid-mobile.md | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/prebid-mobile/pbm-api/ios/code-integration-ios.md b/prebid-mobile/pbm-api/ios/code-integration-ios.md index 1c94ff49fc..be99fa3810 100644 --- a/prebid-mobile/pbm-api/ios/code-integration-ios.md +++ b/prebid-mobile/pbm-api/ios/code-integration-ios.md @@ -119,6 +119,7 @@ Once you set the account ID, you should initialize the Prebid SDK. There are sev If you integrate Prebid Mobile with GMA SDK with version equal or higher than 10.7.0, use the following initializer, which checks the compatibility of Prebid SDK with GMA SDK used in the app: {% capture gma12 %} + ``` swift Prebid.initializeSDK("https://prebidserver.example.com/openrtb2/auction", gadMobileAdsVersion: string(for: MobileAds.shared.versionNumber)) { status, error in switch status { @@ -137,8 +138,10 @@ Prebid.initializeSDK("https://prebidserver.example.com/openrtb2/auction", gadMob } } ``` + {% endcapture %} {% capture gma11 %} + ``` swift Prebid.initializeSDK("https://prebidserver.example.com/openrtb2/auction", gadMobileAdsVersion: GADGetStringFromVersionNumber(GADMobileAds.sharedInstance().versionNumber) { status, error in switch status { @@ -156,7 +159,8 @@ Prebid.initializeSDK("https://prebidserver.example.com/openrtb2/auction", gadMob break } } -``` +``` + {% endcapture %} {% include code/gma-versions-tabs.html id="pbm-init" gma11=gma11 gma12=gma12 %} diff --git a/prebid-mobile/prebid-mobile.md b/prebid-mobile/prebid-mobile.md index 80aaf7c998..de35762885 100644 --- a/prebid-mobile/prebid-mobile.md +++ b/prebid-mobile/prebid-mobile.md @@ -10,7 +10,7 @@ sidebarType: 2 Prebid Mobile is an open-source library fir iOS and Android that provides an end-to-end header bidding solution for mobile app publishers. ----- +---- ; {: .alert.alert-info :} The Prebid Mobile team is pleased to inform you that `Prebid Mobile 3.0` is live. @@ -21,7 +21,7 @@ Here is what you need to know first about the new version: Provide feedback to . ------ +---- ; - TOC From 37c3a460c3c137ceb52cbcbc1ded087bb6996662 Mon Sep 17 00:00:00 2001 From: Yuriy Velichko Date: Mon, 7 Apr 2025 10:04:29 +0300 Subject: [PATCH 35/52] docs: fix lint errors --- prebid-mobile/prebid-mobile.md | 2 +- .../recipes/subrecipes/ios/gam-bidding-only-video-instream.md | 1 - .../recipes/subrecipes/ios/gam-bidding-only-video-outstream.md | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/prebid-mobile/prebid-mobile.md b/prebid-mobile/prebid-mobile.md index de35762885..97500761bf 100644 --- a/prebid-mobile/prebid-mobile.md +++ b/prebid-mobile/prebid-mobile.md @@ -16,6 +16,7 @@ Prebid Mobile is an open-source library fir iOS and Android that provides an end The Prebid Mobile team is pleased to inform you that `Prebid Mobile 3.0` is live. Here is what you need to know first about the new version: + - [3.0 Updates Overview](updates-3.0/sdk-key-features.html). - API Changes: [iOS](updates-3.0/ios/api-changes.html), [Android](updates-3.0/android/api-changes.html). @@ -23,7 +24,6 @@ Provide feedback to . ---- ; - - TOC {:toc} diff --git a/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-instream.md b/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-instream.md index 8a8fe5d58e..4186ad34ae 100644 --- a/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-instream.md +++ b/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-instream.md @@ -93,7 +93,6 @@ func adsManagerDidRequestContentResume(_ adsManager: IMAAdsManager) { } ``` - ## Step 1: Create an InstreamVideoAdUnit {:.no_toc} diff --git a/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-outstream.md b/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-outstream.md index cc7e7a3de6..202b6d82ba 100644 --- a/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-outstream.md +++ b/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-outstream.md @@ -79,7 +79,6 @@ adUnit.fetchDemand(adObject: gamRequest) { [weak self] resultCode in {% include code/gma-versions-tabs.html id="non-instream-video" gma11=gma11 gma12=gma12 %} - ## Step 1: Create a BannerAdUnit {:.no_toc} From c38e91f277f34e624ba1981325f4e15889fa8324 Mon Sep 17 00:00:00 2001 From: Yuriy Velichko Date: Mon, 7 Apr 2025 10:07:46 +0300 Subject: [PATCH 36/52] docs: fix lint errors --- prebid-mobile/pbm-api/ios/code-integration-ios.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/prebid-mobile/pbm-api/ios/code-integration-ios.md b/prebid-mobile/pbm-api/ios/code-integration-ios.md index be99fa3810..024558ccc5 100644 --- a/prebid-mobile/pbm-api/ios/code-integration-ios.md +++ b/prebid-mobile/pbm-api/ios/code-integration-ios.md @@ -212,9 +212,11 @@ As part of Apple's evolving privacy policies, SDKs that access user data in a wa Currently, the Prebid Mobile SDK is not classified as one of these SDKs. But future changes from Apple or internal app review policies may prompt publishers to proactively register the Prebid Server (PBS) endpoint in the privacy manifest. To support this, the Prebid SDK is designed to accommodate both tracking and non-tracking PBS domains. Follow next recommendations during development: -1. Include the relevant `NSPrivacyCollectedDataTypes` and define your primary Prebid Server domain in the `NSPrivacyTrackingDomains` array in your the `PrivacyInfo.xcprivacy` file to cover a potential "worst case" scenario. Read more about the `PrivacyInfo.xcprivacy` data [here](https://docs.prebid.org/faq/prebid-mobile-faq.html#privacysecurity). -2. You may choose to provide a secondary, privacy-mode PBS URL to the SDK. This secondary domain can be used when tracking is disallowed. Every initialization method contains optional parameter to define the privacy-safe PBS domain. +- Include the relevant `NSPrivacyCollectedDataTypes` and define your primary Prebid Server domain in the `NSPrivacyTrackingDomains` array in your the `PrivacyInfo.xcprivacy` file to cover a potential "worst case" scenario. Read more about the `PrivacyInfo.xcprivacy` data [here](https://docs.prebid.org/faq/prebid-mobile-faq.html#privacysecurity). +- You may choose to provide a secondary, privacy-mode PBS URL to the SDK. This secondary domain can be used when tracking is disallowed. Every initialization method contains optional parameter to define the privacy-safe PBS domain. + You’re not required to use a secondary PBS domain. You can simply allow iOS to block PBS requests when the user opts out of tracking. + ```swift let trackingURL = "https://prebidserver.example.com/openrtb2/auction" let nonTrackingURL = "https://prebidserver.example.nontracking.com/openrtb2/auction" From fad2a0558b36b6e24c4d4603c7a7213d0500c001 Mon Sep 17 00:00:00 2001 From: Maksym Danylov Date: Mon, 7 Apr 2025 14:54:35 +0300 Subject: [PATCH 37/52] docs: resolves PR comments --- .../android/code-integration-android.md | 2 +- .../pbm-api/ios/code-integration-ios.md | 22 +++++-------------- prebid-mobile/prebid-mobile.md | 4 ++-- 3 files changed, 9 insertions(+), 19 deletions(-) diff --git a/prebid-mobile/pbm-api/android/code-integration-android.md b/prebid-mobile/pbm-api/android/code-integration-android.md index 4c8eb152ba..0b0a5f42f7 100644 --- a/prebid-mobile/pbm-api/android/code-integration-android.md +++ b/prebid-mobile/pbm-api/android/code-integration-android.md @@ -89,7 +89,7 @@ If you want to define a different Account Settings ID as determined in conjuncti your Prebid Server team, use the [arbitrary OpenRTB](/prebid-mobile/pbm-api/android/pbm-targeting-android.html#arbitrary-openrtb) method like this: ```kotlin -adUnitConfiguration?.impOrtbConfig = "{\"ext\":{\"prebid\":{\"storedrequest\": {\"id\":\"account-settings-id\"}}}}" +adUnit?.impOrtbConfig = "{\"ext\":{\"prebid\":{\"storedrequest\": {\"id\":\"account-settings-id\"}}}}" ``` ### Initialize SDK diff --git a/prebid-mobile/pbm-api/ios/code-integration-ios.md b/prebid-mobile/pbm-api/ios/code-integration-ios.md index 024558ccc5..23ac129b91 100644 --- a/prebid-mobile/pbm-api/ios/code-integration-ios.md +++ b/prebid-mobile/pbm-api/ios/code-integration-ios.md @@ -104,10 +104,10 @@ Each mobile app may have its own "account settings ID". This is used to look up By default the Account Settings ID is set to be the same as the Account ID. i.e. the Prebid.shared.prebidServerAccountId property will set both values. If you want to define a different Account Settings ID as determined in conjunction with -your Prebid Server team, use the [arbitrary OpenRTB](/prebid-mobile/pbm-api/android/pbm-targeting-android.html#arbitrary-openrtb) method like this: +your Prebid Server team, use the [arbitrary OpenRTB](/prebid-mobile/pbm-api/ios/pbm-targeting-ios.html#arbitrary-openrtb) method like this: ```swift -adUnitConfig.impORTBConfig = "{\"ext\":{\"prebid\":{\"storedrequest\": {\"id\":\"account-settings-id\"}}}}" +adUnit.setImpORTBConfig("{\"ext\":{\"prebid\":{\"storedrequest\": {\"id\":\"account-settings-id\"}}}}") ``` ### Initialize SDK @@ -118,10 +118,7 @@ Once you set the account ID, you should initialize the Prebid SDK. There are sev If you integrate Prebid Mobile with GMA SDK with version equal or higher than 10.7.0, use the following initializer, which checks the compatibility of Prebid SDK with GMA SDK used in the app: -{% capture gma12 %} - -``` swift -Prebid.initializeSDK("https://prebidserver.example.com/openrtb2/auction", gadMobileAdsVersion: string(for: MobileAds.shared.versionNumber)) { status, error in +{% capture gma12 %}Prebid.initializeSDK("https://prebidserver.example.com/openrtb2/auction", gadMobileAdsVersion: string(for: MobileAds.shared.versionNumber)) { status, error in switch status { case .succeeded: print("Prebid SDK successfully initialized") @@ -136,14 +133,9 @@ Prebid.initializeSDK("https://prebidserver.example.com/openrtb2/auction", gadMob default: break } -} -``` - +} {% endcapture %} -{% capture gma11 %} - -``` swift -Prebid.initializeSDK("https://prebidserver.example.com/openrtb2/auction", gadMobileAdsVersion: GADGetStringFromVersionNumber(GADMobileAds.sharedInstance().versionNumber) { status, error in +{% capture gma11 %}Prebid.initializeSDK("https://prebidserver.example.com/openrtb2/auction", gadMobileAdsVersion: GADGetStringFromVersionNumber(GADMobileAds.sharedInstance().versionNumber) { status, error in switch status { case .succeeded: print("Prebid SDK successfully initialized") @@ -158,9 +150,7 @@ Prebid.initializeSDK("https://prebidserver.example.com/openrtb2/auction", gadMob default: break } -} -``` - +} {% endcapture %} {% include code/gma-versions-tabs.html id="pbm-init" gma11=gma11 gma12=gma12 %} diff --git a/prebid-mobile/prebid-mobile.md b/prebid-mobile/prebid-mobile.md index 97500761bf..d4e8b58591 100644 --- a/prebid-mobile/prebid-mobile.md +++ b/prebid-mobile/prebid-mobile.md @@ -10,7 +10,7 @@ sidebarType: 2 Prebid Mobile is an open-source library fir iOS and Android that provides an end-to-end header bidding solution for mobile app publishers. ----- ; +---- {: .alert.alert-info :} The Prebid Mobile team is pleased to inform you that `Prebid Mobile 3.0` is live. @@ -22,7 +22,7 @@ Here is what you need to know first about the new version: Provide feedback to . ----- ; +---- - TOC {:toc} From 3d7a700ba5bb13d716b10241670b5359032bc10c Mon Sep 17 00:00:00 2001 From: Maksym Danylov Date: Mon, 7 Apr 2025 15:31:19 +0300 Subject: [PATCH 38/52] docs: fix lint --- prebid-mobile/pbm-api/ios/code-integration-ios.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prebid-mobile/pbm-api/ios/code-integration-ios.md b/prebid-mobile/pbm-api/ios/code-integration-ios.md index 23ac129b91..601c21d55f 100644 --- a/prebid-mobile/pbm-api/ios/code-integration-ios.md +++ b/prebid-mobile/pbm-api/ios/code-integration-ios.md @@ -118,7 +118,7 @@ Once you set the account ID, you should initialize the Prebid SDK. There are sev If you integrate Prebid Mobile with GMA SDK with version equal or higher than 10.7.0, use the following initializer, which checks the compatibility of Prebid SDK with GMA SDK used in the app: -{% capture gma12 %}Prebid.initializeSDK("https://prebidserver.example.com/openrtb2/auction", gadMobileAdsVersion: string(for: MobileAds.shared.versionNumber)) { status, error in +{% capture gma12 %}Prebid.initializeSDK(<"https://prebidserver.example.com/openrtb2/auction">, gadMobileAdsVersion: string(for: MobileAds.shared.versionNumber)) { status, error in switch status { case .succeeded: print("Prebid SDK successfully initialized") @@ -135,7 +135,7 @@ If you integrate Prebid Mobile with GMA SDK with version equal or higher than 10 } } {% endcapture %} -{% capture gma11 %}Prebid.initializeSDK("https://prebidserver.example.com/openrtb2/auction", gadMobileAdsVersion: GADGetStringFromVersionNumber(GADMobileAds.sharedInstance().versionNumber) { status, error in +{% capture gma11 %}Prebid.initializeSDK(<"https://prebidserver.example.com/openrtb2/auction">, gadMobileAdsVersion: GADGetStringFromVersionNumber(GADMobileAds.sharedInstance().versionNumber) { status, error in switch status { case .succeeded: print("Prebid SDK successfully initialized") From ae81bbaedb510a11c427651505695027708bf246 Mon Sep 17 00:00:00 2001 From: Maksym Danylov Date: Mon, 7 Apr 2025 15:41:05 +0300 Subject: [PATCH 39/52] docs: fix lint errors --- prebid-mobile/pbm-api/ios/code-integration-ios.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/prebid-mobile/pbm-api/ios/code-integration-ios.md b/prebid-mobile/pbm-api/ios/code-integration-ios.md index 601c21d55f..649d005e33 100644 --- a/prebid-mobile/pbm-api/ios/code-integration-ios.md +++ b/prebid-mobile/pbm-api/ios/code-integration-ios.md @@ -118,7 +118,7 @@ Once you set the account ID, you should initialize the Prebid SDK. There are sev If you integrate Prebid Mobile with GMA SDK with version equal or higher than 10.7.0, use the following initializer, which checks the compatibility of Prebid SDK with GMA SDK used in the app: -{% capture gma12 %}Prebid.initializeSDK(<"https://prebidserver.example.com/openrtb2/auction">, gadMobileAdsVersion: string(for: MobileAds.shared.versionNumber)) { status, error in +{% capture gma12 %}Prebid.initializeSDK(PREBID_SERVER_URL, gadMobileAdsVersion: string(for: MobileAds.shared.versionNumber)) { status, error in switch status { case .succeeded: print("Prebid SDK successfully initialized") @@ -135,7 +135,7 @@ If you integrate Prebid Mobile with GMA SDK with version equal or higher than 10 } } {% endcapture %} -{% capture gma11 %}Prebid.initializeSDK(<"https://prebidserver.example.com/openrtb2/auction">, gadMobileAdsVersion: GADGetStringFromVersionNumber(GADMobileAds.sharedInstance().versionNumber) { status, error in +{% capture gma11 %}Prebid.initializeSDK(PREBID_SERVER_URL, gadMobileAdsVersion: GADGetStringFromVersionNumber(GADMobileAds.sharedInstance().versionNumber) { status, error in switch status { case .succeeded: print("Prebid SDK successfully initialized") @@ -158,7 +158,7 @@ If you integrate Prebid Mobile with GMA SDK with version equal or higher than 10 If you integrate Prebid Mobile with GMA SDK with version lower than 10.7.0, use the following initializer: ```swift -Prebid.initializeSDK("https://prebidserver.example.com/openrtb2/auction", GADMobileAds.sharedInstance()) { status, error in +Prebid.initializeSDK(PREBID_SERVER_URL, GADMobileAds.sharedInstance()) { status, error in switch status { case .succeeded: print("Prebid SDK successfully initialized") @@ -181,7 +181,7 @@ Check the log messages of the app. If the provided GMA SDK version is not verifi For the No Ad Server scenario, use the following initialization: ```swift -Prebid.initializeSDK("https://prebidserver.example.com/openrtb2/auction") { status, error in +Prebid.initializeSDK(PREBID_SERVER_URL) { status, error in // .... } ``` From ae5b40d540f63388285ec4387bac86a5d681a8cb Mon Sep 17 00:00:00 2001 From: Maksym Danylov Date: Wed, 9 Apr 2025 19:41:27 +0300 Subject: [PATCH 40/52] docs: resolves PR issues with global ORTB config --- prebid-mobile/pbm-api/android/code-integration-android.md | 4 ++-- prebid-mobile/pbm-api/ios/code-integration-ios.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/prebid-mobile/pbm-api/android/code-integration-android.md b/prebid-mobile/pbm-api/android/code-integration-android.md index 0b0a5f42f7..bf584b8908 100644 --- a/prebid-mobile/pbm-api/android/code-integration-android.md +++ b/prebid-mobile/pbm-api/android/code-integration-android.md @@ -89,7 +89,7 @@ If you want to define a different Account Settings ID as determined in conjuncti your Prebid Server team, use the [arbitrary OpenRTB](/prebid-mobile/pbm-api/android/pbm-targeting-android.html#arbitrary-openrtb) method like this: ```kotlin -adUnit?.impOrtbConfig = "{\"ext\":{\"prebid\":{\"storedrequest\": {\"id\":\"account-settings-id\"}}}}" +TargetingParams.setGlobalOrtbConfig("{\"ext\":{\"prebid\":{\"storedrequest\": {\"id\":\"account-settings-id\"}}}})" ``` ### Initialize SDK @@ -99,7 +99,7 @@ If you have opted to host your own Prebid Server solution you will need to store Once you set the account ID, you should initialize the Prebid SDK. Use the following initialization for Prebid SDK: ```kotlin -PrebidMobile.initializeSdk(applicationContext, "https://prebidserver.example.com/openrtb2/auction") { status -> +PrebidMobile.initializeSdk(applicationContext, PREBID_SERVER_URL) { status -> if (status == InitializationStatus.SUCCEEDED) { Log.d(TAG, "SDK initialized successfully!") } else if (status == InitializationStatus.SERVER_STATUS_WARNING) { diff --git a/prebid-mobile/pbm-api/ios/code-integration-ios.md b/prebid-mobile/pbm-api/ios/code-integration-ios.md index 649d005e33..7c84868f72 100644 --- a/prebid-mobile/pbm-api/ios/code-integration-ios.md +++ b/prebid-mobile/pbm-api/ios/code-integration-ios.md @@ -107,7 +107,7 @@ If you want to define a different Account Settings ID as determined in conjuncti your Prebid Server team, use the [arbitrary OpenRTB](/prebid-mobile/pbm-api/ios/pbm-targeting-ios.html#arbitrary-openrtb) method like this: ```swift -adUnit.setImpORTBConfig("{\"ext\":{\"prebid\":{\"storedrequest\": {\"id\":\"account-settings-id\"}}}}") +Targeting.shared.setGlobalORTBConfig("{\"ext\":{\"prebid\":{\"storedrequest\": {\"id\":\"account-settings-id\"}}}}") ``` ### Initialize SDK From c96801a71234be581fc6a5585721d6eaebaa8833 Mon Sep 17 00:00:00 2001 From: Maksym Danylov Date: Thu, 10 Apr 2025 00:53:20 +0300 Subject: [PATCH 41/52] docs: returns info and code snippets for 2.5.0 --- _includes/mobile/adunit-config-android.md | 12 +++++ _includes/mobile/video-params.md | 10 ++++- .../rendering/android-sdk-integration-pb.md | 9 +++- .../rendering/ios-sdk-integration-pb.md | 4 +- .../android/code-integration-android.md | 16 +++++++ .../pbm-api/android/pbm-targeting-android.md | 44 +++++++++++++++++++ .../pbm-api/ios/code-integration-ios.md | 25 +++++++++++ .../pbm-api/ios/pbm-targeting-ios.md | 27 ++++++++++++ .../android/gam-bidding-only-html-banner.md | 8 ++++ .../gam-bidding-only-interstitial-video.md | 3 ++ .../gam-bidding-only-video-instream.md | 3 ++ .../gam-bidding-only-video-outstream.md | 3 ++ .../ios/gam-bidding-only-video-instream.md | 3 ++ .../ios/gam-bidding-only-video-outstream.md | 3 ++ 14 files changed, 165 insertions(+), 5 deletions(-) diff --git a/_includes/mobile/adunit-config-android.md b/_includes/mobile/adunit-config-android.md index e12334dd9e..f469856135 100644 --- a/_includes/mobile/adunit-config-android.md +++ b/_includes/mobile/adunit-config-android.md @@ -27,6 +27,18 @@ adUnit.setImpOrtbConfig("") ### Auto Refresh +#### setAutoRefreshPeriodMillis +{:.no_toc} + +{: .alert.alert-warning :} +Starting from PrebidMobile `3.0.0` the `setAutoRefreshPeriodMillis` method is removed. Use the `setAutoRefreshInterval` method instead. + +If set on a given Prebid Mobile ad unit, the `fetchDemand` function will be called every `periodMillis` until `stopAutoRefresh` is called. Each call to `fetchDemand` will invoke the `onComplete` function. This refresh only pertains to Prebid Mobile and not to any ad server refresh processes. It is suggested that the adServers refresh be turned off. + +**Parameters** + +- `periodMillis`: Integer defining the refresh time in milliseconds. + #### setAutoRefreshInterval {:.no_toc} diff --git a/_includes/mobile/video-params.md b/_includes/mobile/video-params.md index 9b8be6b4e9..d5f20a67aa 100644 --- a/_includes/mobile/video-params.md +++ b/_includes/mobile/video-params.md @@ -15,7 +15,10 @@ The [OpenRTB 2.6](https://iabtechlab.com/wp-content/uploads/2022/04/OpenRTB-2-6_ - `5` or `Slider`, `Floating` or `Interstitial` : Open RTB supports one of three values for option 5 as either Slider, Floating or Interstitial. If an enum value is supplied in placement, bidders will receive value 5 for placement type and assume to be interstitial with the instl flag set to 1. Notes: -- `PrebidAdUnit` and `RewardedVideoAdUnit` will default to placement=5 if no placement value is supplied. +- `PrebidAdUnit`, `VideoInterstitialAdUnit` and `RewardedVideoAdUnit` will default to placement=5 if no placement value is supplied. + +{: .alert.alert-warning :} +Starting from PrebidMobile `3.0.0` the class `VideoInterstitialAdUnit` is removed. #### plcmnt {:.no_toc} @@ -28,7 +31,10 @@ The [OpenRTB v2.6-202303](https://github.com/InteractiveAdvertisingBureau/AdCOM/ - `4` or `NoContent` or `Standalone` : Video ads that are played without streaming video content. This can be in placements like slideshows, native feeds, in-content or sticky/floating. Notes: -- `PrebidAdUnit` and `RewardedVideoAdUnit` will default to plcmnt=3 if no placement value is supplied. +- `PrebidAdUnit`, `VideoInterstitialAdUnit` and `RewardedVideoAdUnit` will default to plcmnt=3 if no placement value is supplied. + +{: .alert.alert-warning :} +Starting from PrebidMobile `3.0.0` the class `VideoInterstitialAdUnit` is removed. #### api {:.no_toc} diff --git a/prebid-mobile/modules/rendering/android-sdk-integration-pb.md b/prebid-mobile/modules/rendering/android-sdk-integration-pb.md index 66c9891ef0..b65c0ed7f4 100644 --- a/prebid-mobile/modules/rendering/android-sdk-integration-pb.md +++ b/prebid-mobile/modules/rendering/android-sdk-integration-pb.md @@ -28,7 +28,7 @@ While the default ad server for Prebid's Mobile SDK is GAM, it can be expanded t In this mode, the developer is responsible for the following actions: -- Call `fetchDemand()` with extended BidInfo callback +- Call `fetchDemand()` with extended targetingDict callback (The method has been removed in the PrebidMobile `3.0.0`. Use the `fetchDemand()` with extended BidInfo callback instead) - Retrieve targeting keys from the extended fetchDemand function - Convert targeting keys into the format for your ad server - Pass converted keys to your ad server @@ -43,6 +43,13 @@ This approach is available for the following ad formats: - Rewarded Video via `RewardedVideoAdUnit` - Native Styles via `NativeRequest` +- Display Banner via `BannerAdUnit` +- Video Banner and Instream Video via `VideoAdUnit` (The class has been removed in the PrebidMobile `3.0.0`. Use the `InStreamVideoAdUnit` instead) +- Display Interstitial via `InterstitialAdUnit` +- Video Interstitial via `VideoInterstitialAdUnit` (The class has been removed in the PrebidMobile `3.0.0`. Use the `InterstitialAdUnit` with video ad format instead) +- Rewarded Video via `RewardedVideoAdUnit` +- Native Styles via `NativeRequest` + The basic steps for these ad units you can find on the page for [GAM Bidding Only integration](/prebid-mobile/pbm-api/android/android-sdk-integration-gam-original-api.html). The difference is that you should use the `fetchDemand` function with the following signature: ```kotlin diff --git a/prebid-mobile/modules/rendering/ios-sdk-integration-pb.md b/prebid-mobile/modules/rendering/ios-sdk-integration-pb.md index 6ec35fa457..84551144a7 100644 --- a/prebid-mobile/modules/rendering/ios-sdk-integration-pb.md +++ b/prebid-mobile/modules/rendering/ios-sdk-integration-pb.md @@ -37,9 +37,9 @@ In this mode, the developer is responsible for the following actions: This approach is available for the following ad formats: - Display Banner via `BannerAdUnit` -- Video Banner and Instream Video via `InStreamVideoAdUnit` +- Video Banner and Instream Video via `VideoAdUnit` (The class has been removed in the PrebidMobile `3.0.0`. Use the `InStreamVideoAdUnit` instead) - Display Interstitial via `InterstitialAdUnit` -- Video Interstitial via `InterstitialAdUnit` with video ad format +- Video Interstitial via `VideoInterstitialAdUnit` (The class has been removed in the PrebidMobile `3.0.0`. Use the `InterstitialAdUnit` with video ad format instead) - Rewarded Video via `RewardedVideoAdUnit` - Native Styles via `NativeRequest` - Multiformat ad unit via `PrebidAdUnit` diff --git a/prebid-mobile/pbm-api/android/code-integration-android.md b/prebid-mobile/pbm-api/android/code-integration-android.md index bf584b8908..aa889d040a 100644 --- a/prebid-mobile/pbm-api/android/code-integration-android.md +++ b/prebid-mobile/pbm-api/android/code-integration-android.md @@ -215,6 +215,22 @@ PrebidMobile.setPrebidServerAccountId(YOUR_ACCOUNT_ID) var pbsAccountId = PrebidMobile.getPrebidServerAccountId() ``` +### Host +{:.no_toc} + +{: .alert.alert-warning :} +Starting from PrebidMobile `3.0.0` the `Host` class is removed. Use the `initializeSdk` method to provide the your Prebid Server host instead. + +Object containing configuration for your Prebid Server host with which the Prebid SDK will communicate. Choose from the system-defined Prebid Server hosts or define your own custom Prebid Server host. + +```kotlin +PrebidMobile.setPrebidServerHost(Host.RUBICON); + +//or set a custom host +Host.CUSTOM.setHostUrl("https://prebid-server.bidder.com/"); +PrebidMobile.setPrebidServerHost(Host.CUSTOM); +``` + ### Timeout {:.no_toc} diff --git a/prebid-mobile/pbm-api/android/pbm-targeting-android.md b/prebid-mobile/pbm-api/android/pbm-targeting-android.md index 64ef53c749..c94d9ee270 100755 --- a/prebid-mobile/pbm-api/android/pbm-targeting-android.md +++ b/prebid-mobile/pbm-api/android/pbm-targeting-android.md @@ -33,12 +33,56 @@ bid targeting. The `Prebid` class is a singleton that enables you to apply certain global settings. +### Prebid Class Global Properties + +{: .alert.alert-warning :} +The global properties exist only for PrebidMobile `2.5.0`. Starting from PrebidMobile `3.0.0` the global properties below are removed. + +All of these properties of the Prebid class can be set on the `shared` object like this: + +```kotlin +Prebid.shared.sendMraidSupportParams=true +``` + +{: .table .table-bordered .table-striped } +| Parameter | Scope | Type | Purpose | Description | Example | +| --- | --- | --- | --- | --- | +| isCoppaEnabled | optional | boolean | ORTB | Starting from PrebidMobile `3.0.0` the property is removedSet this to true if this app is aimed at children. It sets the ORTB `regs.coppa` flag. Default is false. | `true` | +| useExternalBrowser | optional | boolean | behavior | Starting from PrebidMobile `3.0.0` the property is removedIf true, clicking on the ad will open your default browser instead of showing within the app's webview. Defaults to `false`. | `true` | +| sendMraidSupportParams | optional | boolean | ORTB | Starting from PrebidMobile `3.0.0` the property is removedIf `true`, the SDK sends imp[].banner.api=[3,5], indicating support for MRAID. Defaults to `true`. | `false` | + ### Prebid Class Global Methods #### setPrebidServerAccountId() Your Prebid Server team will tell you whether this is required or not and if so, the value. See the initialization page for [Android](/prebid-mobile/pbm-api/android/code-integration-android.html). +#### setPrebidServerHost() + +This is where the Prebid SDK will send the auction information. + +{: .alert.alert-warning :} +Starting from PrebidMobile `3.0.0` the `setPrebidServerHost` method is removed. Use the `initializeSdk` method instead. + +Signature: + +```kotlin +func setPrebidServerHost(host: String) +``` + +Parameters: + +{: .table .table-bordered .table-striped } +| Parameter | Scope | Type | Description | Example | +| --- | --- | --- | --- | --- | +| host | required | object | Host.APPNEXUS, Host.RUBICON, Host.createCustomHost(PREBID_SERVER_AUCTION_ENDPOINT) | Host.createCustomHost(`https://prebidserver``.example.com``/openrtb2/auction`) | + +Examples: + +```kotlin +PrebidMobile.setPrebidServerHost(Host.createCustomHost("https://prebidserver.example.com/openrtb2/auction")) +``` + #### setCustomStatusEndpoint() Signature: diff --git a/prebid-mobile/pbm-api/ios/code-integration-ios.md b/prebid-mobile/pbm-api/ios/code-integration-ios.md index 7c84868f72..1cbdd456b5 100644 --- a/prebid-mobile/pbm-api/ios/code-integration-ios.md +++ b/prebid-mobile/pbm-api/ios/code-integration-ios.md @@ -98,6 +98,17 @@ Once you have a [Prebid Server](/prebid-mobile/prebid-mobile-getting-started.htm Prebid.shared.prebidServerAccountId = YOUR_ACCOUNT_ID ``` +{: .alert.alert-warning :} +Starting from PrebidMobile `3.0.0` the `setCustomPrebidServer` method is removed. Use `Prebid.initializeSDK` instead. + +If you have opted to host your own Prebid Server solution, you will need to store the URL to the server in your app. Make sure that your URL points to the [/openrtb2/auction](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html) endpoint. + +```swift +try! Prebid.shared.setCustomPrebidServer(url: "https://prebidserver.example.com/openrtb2/auction") +``` + +This method throws an exception if the provided URL is invalid. + #### Account Settings ID Each mobile app may have its own "account settings ID". This is used to look up data in Prebid Server like timeout, targeting, and price granularity. @@ -340,7 +351,21 @@ All values received in the `passthrough` of the bid response will be applied to ### Examples {:.no_toc} +{: .alert.alert-warning :} +Starting from PrebidMobile `3.0.0` the `prebidServerHost` property and the `setCustomPrebidServer` method are removed. Use `Prebid.initializeSDK` instead. + ```swift + +// Host +Prebid.shared.prebidServerHost = .Rubicon +// or set a custom host +Prebid.shared.prebidServerHost = PrebidHost.Custom +do { + try Prebid.shared.setCustomPrebidServer(url: "https://prebid-server.customhost.com") +} catch { + print(error) +} + // Account Id Prebid.shared.prebidServerAccountId = "1234" diff --git a/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md b/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md index 4dc590e448..0b2fd64f39 100644 --- a/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md +++ b/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md @@ -39,12 +39,14 @@ All of these properties of the Prebid class can be set on the `shared` object li ```swift Prebid.shared.prebidServerAccountId="12345" +Prebid.shared.customStatusEndpoint="https://pbs.example.com/v2/status" ``` {: .table .table-bordered .table-striped } | Parameter | Scope | Type | Purpose | Description | Example | | --- | --- | --- | --- | --- | --- | | prebidServerAccountId | either | string | init | Your Prebid Server team will tell you whether this is required or not and if so, the value. | "abc123" | +| prebidServerHost | optional | enum | init | Starting from PrebidMobile `3.0.0` the property is removedThis can take the values "Appnexus", "Rubicon", or "Custom". If "Custom", you need to use the setCustomPrebidServerUrl() method to set a URL. This is where the Prebid SDK will send the auction information. Your Prebid Server team will tell you which value to use. The default is "Custom". | "Custom" | | customStatusEndpoint | optional | string | init | Use this URL to check the status of Prebid Server. The default status endpoint is the PBS URL appended with '/status'. | `https://prebidserver``.example``.com/custom``/status` | | shareGeoLocation | optional | boolean | ORTB | If this flag is true AND the app collects the user’s geographical location data, Prebid Mobile will send the user’s lat/long geographical location data to the Prebid Server. The default is false. | `true` | | locationUpdatesEnabled | optional | boolean | ORTB | If true, the SDK will periodically try to listen for location updates. Default is `false`. | `true` | @@ -57,12 +59,21 @@ Prebid.shared.prebidServerAccountId="12345" | pbsDebug | optional | boolean | ORTB | Adds the debug flag (`test`:1) on the outbound http call to the Prebid Server. The `test` flag signals to the Prebid Server to emit the full resolved request and the full Bid Request and Bid Response to and from each bidder. | true | | shouldAssignNativeAssetID | optional | boolean | ORTB | Whether to automatically assign an assetID for a Native ad. Default is `false`. | true | | useCacheForReportingWithRenderingAPI | optional | boolean | ORTB | Indicates whether PBS should cache the bid on the server side. If the value is `true` the Prebid SDK will make the cache request to retrieve the cached asset. Default is `false`. | true | +| useExternalClickthroughBrowser | optional | boolean | SDK control | Starting from PrebidMobile `3.0.0` the property is removedControls whether to use PrebidMobile's in-app browser or the Safari App for displaying ad clickthrough content. Default is false. | true | +| impClickbrowserType | optional | enum | ORTB | Starting from PrebidMobile `3.0.0` the property is removedIndicates the type of browser opened upon clicking the creative in an app. This corresponds to the OpenRTB imp.clickbrowser field. Values are "embedded" and "native". Default is "native". | "native". | | includeWinners | optional | boolean | ORTB | If `true`, Prebid sdk will add `includewinners` flag inside the targeting object described in [PBS Documentation](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html#targeting) . Default is `false`. | `true` | | includeBidderKeys | optional | boolean | ORTB | If `true`, Prebid sdk will add `includebidderkeys` flag inside the targeting object described in [PBS Documentation](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html#targeting) . Default is `false`. | `true` | | eventDelegate | optional | PrebidEventDelegate | init | Sets an event delegate to handle all auction requests and responses. It allows to collect some statistical data. Note that the SDK stores this callback as a weak reference so you need to store a reference to it. | `class PrebidEventDelegateTestsMockDelegate: PrebidEventDelegate { func prebidBidRequestDidFinish(requestData: Data?, responseData: Data?) { ... } }` | ### Prebid Class Global Methods +#### setCustomPrebidServerUrl() + +{: .alert.alert-warning :} +Starting from PrebidMobile `3.0.0` the method is removed. Use `Prebid.initializeSDK` instead. + +Defines which Prebid Server to connect to. See the initialization page for [iOS](/prebid-mobile/pbm-api/ios/code-integration-ios.html). + #### addStoredBidResponse() Stored Bid Responses are for testing and debugging similar to Stored Auction Responses (see the Global Properties above). They signal Prebid Server to respond with a static pre-defined response, except Stored Bid Responses actually exercise the bidder adapter. For more information on how stored bid responses work, refer to the [Prebid Server endpoint doc](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html#stored-responses). Your Prebid Server team will help you determine how best to setup test and debug. @@ -572,6 +583,22 @@ Pay attention that there are certain protected fields such as `regs`, `device`, - App and User first party data should use the [functions defined for those purposes](/prebid-mobile/pbm-api/ios/pbm-targeting-ios.html#first-party-data) - See the [Prebid Server auction endpoint](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html#prebid-server-ortb2-extension-summary) reference for more information about how it will process incoming fields. +### Deprecated +{:.no_toc} + +{: .alert.alert-warning :} +Starting from PrebidMobile `3.0.0` the method is removed. Use `Targeting.shared.setImpORTBConfig` instead. + +The PrebidMobile 2.5.0 contains the deprecated method to set the impression level RTB config: + +``` swift +//ad unit / impression-level +adUnit.setOrtbConfig("{\"ext\":{\"gpid\":\"abc123"}}\") +``` + +This method has implementation issues and was deprecated in v2.4.0. If you use this method, we strongly recommend migrating to the new `setImpORTBConfig()` method since this one will be removed entirely in SDK version 3.0.0. + + ## Further Reading - [Prebid Mobile Overview](/prebid-mobile/prebid-mobile.html) diff --git a/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-html-banner.md b/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-html-banner.md index ab2a465d62..95c5a55721 100644 --- a/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-html-banner.md +++ b/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-html-banner.md @@ -24,6 +24,11 @@ private fun createAd() { parameters.api = listOf(Signals.Api.MRAID_3, Signals.Api.OMID_1) adUnit?.bannerParameters = parameters + // 2. Configure banner parameters for PrebidMobile 2.5 + // val parameters = BannerBaseAdUnit.Parameters() + // parameters.api = listOf(Signals.Api.MRAID_3, Signals.Api.OMID_1) + // adUnit?.parameters = parameters + // For multi-size request adUnit?.addAdditionalSize(728, 90) @@ -46,6 +51,9 @@ private fun createAd() { } ``` +{: .alert.alert-warning :} +Starting from PrebidMobile `3.0.0` the `BannerBaseAdUnit.Parameters` class is removed. Use `BannerParameters` class instead. + It may be necessary to implement AdListener to adjust banner view size according to the creative size, for the case where there are several ad sizes supported. This logic is not needed for a single size banner: Prebid SDK can be thought of an OpenRTB request synthesizer. OpenRTB does not have a notion of adaptive banners, but it has a notion of several banner sizes / formats in one request. So an adaptive banner may be represented as a request containing several banner sizes, e.g. a fixed width that equals the size of the screen and several different heights. The examples here deal with a single ad size, but more can be added via BannerParameters.adSizes array. diff --git a/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-interstitial-video.md b/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-interstitial-video.md index 53b55f2a3f..15c6d464cd 100644 --- a/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-interstitial-video.md +++ b/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-interstitial-video.md @@ -37,6 +37,9 @@ private fun createAd() { } ``` +{: .alert.alert-warning :} +Starting from PrebidMobile `2.1.0` the `VideoInterstitialAdUnit` class is deprecated and from PrebidMobile `3.0.0` - removed. Use `InterstitialAdUnit` class with video ad format instead. + Configuration function: ```kotlin diff --git a/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-video-instream.md b/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-video-instream.md index e97f9b8c91..45c6d4282e 100644 --- a/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-video-instream.md +++ b/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-video-instream.md @@ -46,6 +46,9 @@ private fun createAd() { } ``` +{: .alert.alert-warning :} +Starting from PrebidMobile `2.1.0` the `VideoAdUnit` class is deprecated and from PrebidMobile `3.0.0` - removed. Use `InStreamVideoAdUnit` class with video ad format instead. + Configure the video ad: ```kotlin diff --git a/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-video-outstream.md b/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-video-outstream.md index c46ad498b9..e9a038f044 100644 --- a/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-video-outstream.md +++ b/prebid-mobile/recipes/subrecipes/android/gam-bidding-only-video-outstream.md @@ -38,6 +38,9 @@ private fun createAd() { } ``` +{: .alert.alert-warning :} +Starting from PrebidMobile `2.1.0` the `VideoAdUnit` class is deprecated and from PrebidMobile `3.0.0` - removed. Use `BannerAdUnit` class with video ad format instead. + Configure Video parameters: ```kotlin diff --git a/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-instream.md b/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-instream.md index 4186ad34ae..0f177b5b01 100644 --- a/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-instream.md +++ b/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-instream.md @@ -93,6 +93,9 @@ func adsManagerDidRequestContentResume(_ adsManager: IMAAdsManager) { } ``` +{: .alert.alert-warning :} +Starting from PrebidMobile `2.1.0` the `VideoAdUnit` class is deprecated and from PrebidMobile `3.0.0` - removed. Use `InstreamVideoAdUnit` class with video ad format instead. + ## Step 1: Create an InstreamVideoAdUnit {:.no_toc} diff --git a/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-outstream.md b/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-outstream.md index 202b6d82ba..3aff90dea8 100644 --- a/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-outstream.md +++ b/prebid-mobile/recipes/subrecipes/ios/gam-bidding-only-video-outstream.md @@ -79,6 +79,9 @@ adUnit.fetchDemand(adObject: gamRequest) { [weak self] resultCode in {% include code/gma-versions-tabs.html id="non-instream-video" gma11=gma11 gma12=gma12 %} +{: .alert.alert-warning :} +Starting from PrebidMobile `2.1.0` the `VideoAdUnit` class is deprecated and from PrebidMobile `3.0.0` - removed. Use `BannerAdUnit` class with video ad format instead. + ## Step 1: Create a BannerAdUnit {:.no_toc} From ecc9eaa701443a1c0f618f68d0675cd56b22d950 Mon Sep 17 00:00:00 2001 From: Maksym Danylov Date: Thu, 10 Apr 2025 00:55:41 +0300 Subject: [PATCH 42/52] docs: fix lint errors --- prebid-mobile/pbm-api/ios/pbm-targeting-ios.md | 1 - 1 file changed, 1 deletion(-) diff --git a/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md b/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md index 0b2fd64f39..1f7e87221e 100644 --- a/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md +++ b/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md @@ -598,7 +598,6 @@ adUnit.setOrtbConfig("{\"ext\":{\"gpid\":\"abc123"}}\") This method has implementation issues and was deprecated in v2.4.0. If you use this method, we strongly recommend migrating to the new `setImpORTBConfig()` method since this one will be removed entirely in SDK version 3.0.0. - ## Further Reading - [Prebid Mobile Overview](/prebid-mobile/prebid-mobile.html) From 97eee29c6ea86ae7d0d517321d1617d12790702a Mon Sep 17 00:00:00 2001 From: Maksym Danylov Date: Thu, 10 Apr 2025 17:10:13 +0300 Subject: [PATCH 43/52] docs: modifies info about Host.Appnexus and Host.Rubicon constants. --- .../android/code-integration-android.md | 22 ++++++++++++++++++- .../pbm-api/ios/code-integration-ios.md | 18 ++++++++++++--- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/prebid-mobile/pbm-api/android/code-integration-android.md b/prebid-mobile/pbm-api/android/code-integration-android.md index aa889d040a..963056ce5f 100644 --- a/prebid-mobile/pbm-api/android/code-integration-android.md +++ b/prebid-mobile/pbm-api/android/code-integration-android.md @@ -80,6 +80,26 @@ Once you have a [Prebid Server](/prebid-mobile/prebid-mobile-getting-started.htm PrebidMobile.setPrebidServerAccountId(YOUR_ACCOUNT_ID) ``` +### Point to a Prebid Server + +{: .alert.alert-warning :} +Starting from PrebidMobile `3.0.0` the `Host.APPNEXUS` and `Host.RUBICON` are remove. If you use `Host.APPNEXUS` or `Host.RUBICON` to set your host, you should check the server URL in [API changes](/prebid-mobile/updates-3.0/android/api-changes#host) and use `PrebidMobile.initializeSdk` to set the Prebid Server URL. + +For example, if you're using the AppNexus Prebid Server: + +```kotlin +PrebidMobile.setPrebidServerHost(Host.APPNEXUS) +``` + +{: .alert.alert-warning :} +Starting from PrebidMobile `3.0.0` the `setPrebidServerHost` method is removed. Use the `PrebidMobile.initializeSdk` method to provide your Prebid Server host instead. + +If you have opted to host your own Prebid Server solution you will need to store the url to the server in your app. Make sure that your URL points to the [/openrtb2/auction](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html) endpoint. + +```kotlin +PrebidMobile.setPrebidServerHost(Host.createCustomHost("https://prebidserver.example.com/openrtb2/auction")) +``` + #### Account Settings ID Each mobile app may have its own "account settings ID". This is used to look up data in Prebid Server like timeout, targeting, and price granularity. @@ -219,7 +239,7 @@ var pbsAccountId = PrebidMobile.getPrebidServerAccountId() {:.no_toc} {: .alert.alert-warning :} -Starting from PrebidMobile `3.0.0` the `Host` class is removed. Use the `initializeSdk` method to provide the your Prebid Server host instead. +Starting from PrebidMobile `3.0.0` the `Host` class is removed. Use the `PrebidMobile.initializeSdk` method to provide the your Prebid Server host instead. Object containing configuration for your Prebid Server host with which the Prebid SDK will communicate. Choose from the system-defined Prebid Server hosts or define your own custom Prebid Server host. diff --git a/prebid-mobile/pbm-api/ios/code-integration-ios.md b/prebid-mobile/pbm-api/ios/code-integration-ios.md index 1cbdd456b5..20f85a2e93 100644 --- a/prebid-mobile/pbm-api/ios/code-integration-ios.md +++ b/prebid-mobile/pbm-api/ios/code-integration-ios.md @@ -98,6 +98,17 @@ Once you have a [Prebid Server](/prebid-mobile/prebid-mobile-getting-started.htm Prebid.shared.prebidServerAccountId = YOUR_ACCOUNT_ID ``` +### Point to a Prebid Server + +{: .alert.alert-warning :} +If you used `Host.Appnexus` or `Host.Rubicon` to set your host, you should check the server URL in [API changes](/prebid-mobile/updates-3.0/ios/api-changes#host) and use `Prebid.initializeSDK` to set the Prebid Server URL. + +For example, if you're using the AppNexus Prebid Server: + +```swift +Prebid.shared.prebidServerHost = .Appnexus +``` + {: .alert.alert-warning :} Starting from PrebidMobile `3.0.0` the `setCustomPrebidServer` method is removed. Use `Prebid.initializeSDK` instead. @@ -352,15 +363,16 @@ All values received in the `passthrough` of the bid response will be applied to {:.no_toc} {: .alert.alert-warning :} -Starting from PrebidMobile `3.0.0` the `prebidServerHost` property and the `setCustomPrebidServer` method are removed. Use `Prebid.initializeSDK` instead. +Starting from PrebidMobile `3.0.0` the `prebidServerHost` property and the `setCustomPrebidServer` method are removed. Use `Prebid.initializeSDK` instead. If you used `Host.Appnexus` or `Host.Rubicon` to set your host, you should check the server URL in [API changes](/prebid-mobile/updates-3.0/ios/api-changes#host). ```swift -// Host +// Host (Removed in 3.0.0. Use `Prebid.initializeSDK` instead.) Prebid.shared.prebidServerHost = .Rubicon -// or set a custom host +// or set a custom host (Removed in 3.0.0. Use `Prebid.initializeSDK` instead.) Prebid.shared.prebidServerHost = PrebidHost.Custom do { + // Removed in 3.0.0. Use `Prebid.initializeSDK` instead. try Prebid.shared.setCustomPrebidServer(url: "https://prebid-server.customhost.com") } catch { print(error) From a7b15657258c9cbf244e3abebf6eea670628e6c9 Mon Sep 17 00:00:00 2001 From: bretg Date: Thu, 10 Apr 2025 10:39:16 -0400 Subject: [PATCH 44/52] wordsmithing --- .../pbm-api/android/code-integration-android.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/prebid-mobile/pbm-api/android/code-integration-android.md b/prebid-mobile/pbm-api/android/code-integration-android.md index 963056ce5f..ce2cf42549 100644 --- a/prebid-mobile/pbm-api/android/code-integration-android.md +++ b/prebid-mobile/pbm-api/android/code-integration-android.md @@ -83,18 +83,15 @@ PrebidMobile.setPrebidServerAccountId(YOUR_ACCOUNT_ID) ### Point to a Prebid Server {: .alert.alert-warning :} -Starting from PrebidMobile `3.0.0` the `Host.APPNEXUS` and `Host.RUBICON` are remove. If you use `Host.APPNEXUS` or `Host.RUBICON` to set your host, you should check the server URL in [API changes](/prebid-mobile/updates-3.0/android/api-changes#host) and use `PrebidMobile.initializeSdk` to set the Prebid Server URL. +Starting from PrebidMobile `3.0.0` the setPrebidServerHost() method and the `Host.APPNEXUS` and `Host.RUBICON` enums have been removed. Please check the server URL in [API changes](/prebid-mobile/updates-3.0/android/api-changes#host) and use `PrebidMobile.initializeSdk` (below) to set the Prebid Server URL. -For example, if you're using the AppNexus Prebid Server: +In SDK 2.5 and before, if you're using the AppNexus Prebid Server you would do this: ```kotlin PrebidMobile.setPrebidServerHost(Host.APPNEXUS) ``` -{: .alert.alert-warning :} -Starting from PrebidMobile `3.0.0` the `setPrebidServerHost` method is removed. Use the `PrebidMobile.initializeSdk` method to provide your Prebid Server host instead. - -If you have opted to host your own Prebid Server solution you will need to store the url to the server in your app. Make sure that your URL points to the [/openrtb2/auction](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html) endpoint. +In SDK 2.5 and before, if you have opted to host your own Prebid Server solution you will need to store the url to the server in your app. Make sure that your URL points to the [/openrtb2/auction](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html) endpoint. ```kotlin PrebidMobile.setPrebidServerHost(Host.createCustomHost("https://prebidserver.example.com/openrtb2/auction")) From ce026d649b666e983f776a8ed33c7a9eb0735b88 Mon Sep 17 00:00:00 2001 From: bretg Date: Thu, 10 Apr 2025 10:39:34 -0400 Subject: [PATCH 45/52] wordsmithing --- prebid-mobile/pbm-api/ios/code-integration-ios.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/prebid-mobile/pbm-api/ios/code-integration-ios.md b/prebid-mobile/pbm-api/ios/code-integration-ios.md index 20f85a2e93..887a0b3aa7 100644 --- a/prebid-mobile/pbm-api/ios/code-integration-ios.md +++ b/prebid-mobile/pbm-api/ios/code-integration-ios.md @@ -101,18 +101,15 @@ Prebid.shared.prebidServerAccountId = YOUR_ACCOUNT_ID ### Point to a Prebid Server {: .alert.alert-warning :} -If you used `Host.Appnexus` or `Host.Rubicon` to set your host, you should check the server URL in [API changes](/prebid-mobile/updates-3.0/ios/api-changes#host) and use `Prebid.initializeSDK` to set the Prebid Server URL. +Starting from PrebidMobile `3.0.0` the setCustomPrebidServer() method and the `Host.Appnexus` and `Host.Rubicon` enums have been removed. Please check the server URL in [API changes](/prebid-mobile/updates-3.0/ios/api-changes#host) and use `PrebidMobile.initializeSdk` (below) to set the Prebid Server URL. -For example, if you're using the AppNexus Prebid Server: +In SDK 2.5 and before, if you're using the AppNexus Prebid Server, you would do this: ```swift Prebid.shared.prebidServerHost = .Appnexus ``` -{: .alert.alert-warning :} -Starting from PrebidMobile `3.0.0` the `setCustomPrebidServer` method is removed. Use `Prebid.initializeSDK` instead. - -If you have opted to host your own Prebid Server solution, you will need to store the URL to the server in your app. Make sure that your URL points to the [/openrtb2/auction](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html) endpoint. +In SDK 2.5 and before, if you have opted to host your own Prebid Server solution, you will need to store the URL to the server in your app. Make sure that your URL points to the [/openrtb2/auction](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html) endpoint. ```swift try! Prebid.shared.setCustomPrebidServer(url: "https://prebidserver.example.com/openrtb2/auction") From 89fc402b001750e3066baa9c95949c4fe58a2dae Mon Sep 17 00:00:00 2001 From: bretg Date: Thu, 10 Apr 2025 11:07:04 -0400 Subject: [PATCH 46/52] wordsmithing --- prebid-mobile/pbm-api/ios/code-integration-ios.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/prebid-mobile/pbm-api/ios/code-integration-ios.md b/prebid-mobile/pbm-api/ios/code-integration-ios.md index 887a0b3aa7..a0ead43dd4 100644 --- a/prebid-mobile/pbm-api/ios/code-integration-ios.md +++ b/prebid-mobile/pbm-api/ios/code-integration-ios.md @@ -131,9 +131,9 @@ Targeting.shared.setGlobalORTBConfig("{\"ext\":{\"prebid\":{\"storedrequest\": { ### Initialize SDK -If you have opted to host your own Prebid Server solution, you will need to store the URL to the server in your app. Make sure that your URL points to the [/openrtb2/auction](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html) endpoint. +Once you set the account ID, you should initialize the Prebid SDK. -Once you set the account ID, you should initialize the Prebid SDK. There are several options for how to do it. +In SDK 3.0 and later, you need to enter a URL to your Prebid Server's auction endpoint in your app. Get this URL from your Prebid Server provider. e.g. `https://prebid-server.example.com/openrtb2/auction`. If you integrate Prebid Mobile with GMA SDK with version equal or higher than 10.7.0, use the following initializer, which checks the compatibility of Prebid SDK with GMA SDK used in the app: @@ -207,7 +207,7 @@ Prebid.initializeSDK(PREBID_SERVER_URL) { status, error in All initialization methods may throw an exception if the provided server URL is invalid. -During the initialization, SDK creates internal classes and performs the health check request to the [/status](https://docs.prebid.org/prebid-server/endpoints/pbs-endpoint-status.html) endpoint. If you use a custom PBS host you should provide a custom status endpoint as well: +During the initialization, SDK creates internal classes and performs the health check request to the [/status](/prebid-server/endpoints/pbs-endpoint-status.html) endpoint. If your Prebid Server provider has a non-standard path (anything other than `/status`), you should provide a the alternate status endpoint: ```swift Prebid.shared.customStatusEndpoint = PREBID_SERVER_STATUS_ENDPOINT From 0ae3c95f0726935c3786103a076fcb57523fde7a Mon Sep 17 00:00:00 2001 From: bretg Date: Thu, 10 Apr 2025 11:07:14 -0400 Subject: [PATCH 47/52] wordsmithing --- prebid-mobile/pbm-api/android/code-integration-android.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/prebid-mobile/pbm-api/android/code-integration-android.md b/prebid-mobile/pbm-api/android/code-integration-android.md index ce2cf42549..d186b90dab 100644 --- a/prebid-mobile/pbm-api/android/code-integration-android.md +++ b/prebid-mobile/pbm-api/android/code-integration-android.md @@ -111,9 +111,11 @@ TargetingParams.setGlobalOrtbConfig("{\"ext\":{\"prebid\":{\"storedrequest\": {\ ### Initialize SDK -If you have opted to host your own Prebid Server solution you will need to store the url to the server in your app. Make sure that your URL points to the [/openrtb2/auction](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html) endpoint. +Once you set the account ID, you should initialize the Prebid SDK. -Once you set the account ID, you should initialize the Prebid SDK. Use the following initialization for Prebid SDK: +In SDK 3.0 and later, you need to enter a URL to your Prebid Server's auction endpoint in your app. Get this URL from your Prebid Server provider. e.g. `https://prebid-server.example.com/openrtb2/auction`. + +Use the following initialization for Prebid SDK: ```kotlin PrebidMobile.initializeSdk(applicationContext, PREBID_SERVER_URL) { status -> @@ -133,7 +135,7 @@ Pay attention that SDK should be initialized on the main thread. {% endcapture %} {% include /alerts/alert_warning.html content=warning_note %} -During the initialization, SDK creates internal classes and performs the health check request to the [/status](https://docs.prebid.org/prebid-server/endpoints/pbs-endpoint-status.html) endpoint. If you use a custom PBS host you should provide a custom status endpoint as well: +During the initialization, SDK creates internal classes and performs the health check request to the [/status](/prebid-server/endpoints/pbs-endpoint-status.html) endpoint. If your Prebid Server provider has a non-standard path (anything other than `/status`), you should provide a the alternate status endpoint: ```kotlin PrebidMobile.setCustomStatusEndpoint(PREBID_SERVER_STATUS_ENDPOINT) From 08b51f5d1723b02215aa3402dc2ed6b25c02c39f Mon Sep 17 00:00:00 2001 From: bretg Date: Thu, 10 Apr 2025 11:17:36 -0400 Subject: [PATCH 48/52] wordsmithing --- prebid-mobile/pbm-api/ios/code-integration-ios.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/prebid-mobile/pbm-api/ios/code-integration-ios.md b/prebid-mobile/pbm-api/ios/code-integration-ios.md index a0ead43dd4..f73597f3e4 100644 --- a/prebid-mobile/pbm-api/ios/code-integration-ios.md +++ b/prebid-mobile/pbm-api/ios/code-integration-ios.md @@ -219,12 +219,12 @@ If something goes wrong with the request, the status of the initialization callb As part of Apple's evolving privacy policies, SDKs that access user data in a way that could be used for tracking may be required to register tracking domains in the `PrivacyInfo.xcprivacy` file. -Currently, the Prebid Mobile SDK is not classified as one of these SDKs. But future changes from Apple or internal app review policies may prompt publishers to proactively register the Prebid Server (PBS) endpoint in the privacy manifest. To support this, the Prebid SDK is designed to accommodate both tracking and non-tracking PBS domains. Follow next recommendations during development: +Currently, the Prebid Mobile SDK is not classified as one of these SDKs. But future changes from Apple or internal app review policies may prompt publishers to proactively register the Prebid Server (PBS) endpoint in the privacy manifest. To support this, the Prebid SDK is designed to accommodate both tracking and non-tracking PBS domains. Here are the Prebid recommendations: - Include the relevant `NSPrivacyCollectedDataTypes` and define your primary Prebid Server domain in the `NSPrivacyTrackingDomains` array in your the `PrivacyInfo.xcprivacy` file to cover a potential "worst case" scenario. Read more about the `PrivacyInfo.xcprivacy` data [here](https://docs.prebid.org/faq/prebid-mobile-faq.html#privacysecurity). -- You may choose to provide a secondary, privacy-mode PBS URL to the SDK. This secondary domain can be used when tracking is disallowed. Every initialization method contains optional parameter to define the privacy-safe PBS domain. +- You may choose to provide a secondary, privacy-mode PBS URL to the SDK. This secondary domain can be used when tracking is disallowed. Get this additional hostname from your Prebid Server host provider. Every initialization method contains optional parameter to define this privacy-safe PBS domain. Since these requests will have the `limit ad tracking` flag defined, Prebid Server will anonymize the requests. -You’re not required to use a secondary PBS domain. You can simply allow iOS to block PBS requests when the user opts out of tracking. +You’re not required to use a secondary PBS domain -- you can simply allow iOS to block PBS requests when the user opts out of tracking. ```swift let trackingURL = "https://prebidserver.example.com/openrtb2/auction" From cd894777f1fb78382ef1d0618345463fecbfacdf Mon Sep 17 00:00:00 2001 From: bretg Date: Thu, 10 Apr 2025 11:23:00 -0400 Subject: [PATCH 49/52] removed reference to rubicon --- prebid-mobile/pbm-api/ios/pbm-targeting-ios.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md b/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md index 1f7e87221e..fb78e539c1 100644 --- a/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md +++ b/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md @@ -439,7 +439,7 @@ func clearAccessControlList() Example: ```swift -Targeting.shared.addBidderToAccessControlList("rubicon") +Targeting.shared.addBidderToAccessControlList("bidderA") ``` --- From f8fad00f64f03054bbac3872985c3ac924571a39 Mon Sep 17 00:00:00 2001 From: Maksym Danylov Date: Thu, 10 Apr 2025 19:29:48 +0300 Subject: [PATCH 50/52] docs: resolves some alternatives in the api changes list --- .../pbm-api/android/pbm-targeting-android.md | 2 +- .../updates-3.0/android/api-changes.md | 18 +++++++++--------- prebid-mobile/updates-3.0/ios/api-changes.md | 6 +++--- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/prebid-mobile/pbm-api/android/pbm-targeting-android.md b/prebid-mobile/pbm-api/android/pbm-targeting-android.md index c94d9ee270..0a07eb9c02 100755 --- a/prebid-mobile/pbm-api/android/pbm-targeting-android.md +++ b/prebid-mobile/pbm-api/android/pbm-targeting-android.md @@ -47,7 +47,7 @@ Prebid.shared.sendMraidSupportParams=true {: .table .table-bordered .table-striped } | Parameter | Scope | Type | Purpose | Description | Example | | --- | --- | --- | --- | --- | -| isCoppaEnabled | optional | boolean | ORTB | Starting from PrebidMobile `3.0.0` the property is removedSet this to true if this app is aimed at children. It sets the ORTB `regs.coppa` flag. Default is false. | `true` | +| isCoppaEnabled | optional | boolean | ORTB | Starting from PrebidMobile `3.0.0` the property is removed. Can be replaces with `TargetingParams.setSubjectToCOPPA()`Set this to true if this app is aimed at children. It sets the ORTB `regs.coppa` flag. Default is false. | `true` | | useExternalBrowser | optional | boolean | behavior | Starting from PrebidMobile `3.0.0` the property is removedIf true, clicking on the ad will open your default browser instead of showing within the app's webview. Defaults to `false`. | `true` | | sendMraidSupportParams | optional | boolean | ORTB | Starting from PrebidMobile `3.0.0` the property is removedIf `true`, the SDK sends imp[].banner.api=[3,5], indicating support for MRAID. Defaults to `true`. | `false` | diff --git a/prebid-mobile/updates-3.0/android/api-changes.md b/prebid-mobile/updates-3.0/android/api-changes.md index 25ebcc858a..c9bdaf089b 100644 --- a/prebid-mobile/updates-3.0/android/api-changes.md +++ b/prebid-mobile/updates-3.0/android/api-changes.md @@ -35,14 +35,14 @@ of these removals, and how publishers should migrate to the new alternatives. | Removed | Alternative | |----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| isCoppaEnabled | None, removed. | +| isCoppaEnabled | [setSubjectToCOPPA()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#setSubjectToCOPPA(java.lang.Boolean)) | | useExternalBrowser | None, removed. | | sendMraidSupportParams | None, by default true. | | logLevel | [setLogLevel()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/LogUtil.html#setLogLevel(int)) | | setPrebidServerHost() | [initializeSdk()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/PrebidMobile.html#initializeSdk(android.content.Context,java.lang.String,SdkInitializationListener)) with host parameter | | setExternalUserIds() | [TargetingParams.setExternalUserIds()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#setExternalUserIds(java.util.List)) | | initializeSdk(context, listener) | [initializeSdk()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/PrebidMobile.html#initializeSdk(android.content.Context,java.lang.String,SdkInitializationListener)) with host parameter | -| getApplicationContext() | None, removed. | +| getApplicationContext() | PrebidContextHolder.getContext() | --- @@ -133,19 +133,19 @@ with video ad format. | Removed | Alternative | |------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| setUserAge() | None, removed. | +| setUserAge() | Deprecated in OpenRTB, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)) | | getUserAge() | None, removed. | | getYearOfBirth() | Deprecated in OpenRTB. Removed. | -| setYearOfBirth() | Deprecated in OpenRTB. Removed. | +| setYearOfBirth() | Deprecated in OpenRTB, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)) | | GENDER | Deprecated in OpenRTB. Removed. | | getGender() | Deprecated in OpenRTB. Removed. | -| setGender() | Deprecated in OpenRTB. Removed. | -| setUserId() | None, removed. | +| setGender() | Deprecated in OpenRTB, removed. Can be replaced with [OpenRTB config](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/AdUnit.html#setImpOrtbConfig(java.lang.String)) | +| setUserId() | None, removed. Can be replaced with [TargetingParams.setGlobalOrtbConfig()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#setGlobalOrtbConfig(java.lang.String)) | | getUserId() | None, removed. | -| setBuyerId() | None, removed. | +| setBuyerId() | None, removed. Can be replaced with [TargetingParams.setGlobalOrtbConfig()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#setGlobalOrtbConfig(java.lang.String)) | | getBuyerId() | None, removed. | -| getUserCustomData() | None, removed. | -| setUserCustomData() | None, removed. | +| getUserCustomData() | None, removed. | +| setUserCustomData() | None, removed. Can be replaced with [TargetingParams.setGlobalOrtbConfig()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#setGlobalOrtbConfig(java.lang.String)) | | storeExternalUserId() | [setExternalUserIds()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#setExternalUserIds(java.util.List)) and [getExternalUserIds()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#getExternalUserIds()) | | fetchStoredExternalUserId() | [setExternalUserIds()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#setExternalUserIds(java.util.List)) and [getExternalUserIds()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#getExternalUserIds()) | | fetchStoredExternalUserIds() | [setExternalUserIds()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#setExternalUserIds(java.util.List)) and [getExternalUserIds()](https://docs.prebid.org/prebid-mobile-android/org/prebid/mobile/TargetingParams.html#getExternalUserIds()) | diff --git a/prebid-mobile/updates-3.0/ios/api-changes.md b/prebid-mobile/updates-3.0/ios/api-changes.md index 3ac912faf8..a71c43f751 100644 --- a/prebid-mobile/updates-3.0/ios/api-changes.md +++ b/prebid-mobile/updates-3.0/ios/api-changes.md @@ -40,7 +40,7 @@ PrebidMobile 3.0 introduces significant changes and removes several deprecated f | locationPrecision | None, removed | | setLocationPrecision(\_:) | None, removed | | getLocationPrecision() | None, removed | -| setCustomParams(\_:) | None, removed | +| setCustomParams(\_:) | [setGlobalORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)setGlobalORTBConfig:) | | addCustomParam(\_:withName:) | None, removed | | addUserData(key:value:) | [userExt](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(py)userExt), [setGlobalORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)setGlobalORTBConfig:) | | updateUserData(key:value:) | None, removed | @@ -62,10 +62,10 @@ PrebidMobile 3.0 introduces significant changes and removes several deprecated f | getContextKeywords() | [getAppKeywords()](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)getAppKeywords) | | contextKeywords | [getAppKeywords()](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)getAppKeywords) | | yearOfBirth | None, deprecated by ORTB. | -| setYearOfBirth(yob:) | None, deprecated by ORTB. | +| setYearOfBirth(yob:) | [setGlobalORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)setGlobalORTBConfig:) | | getYearOfBirth() | None, deprecated by ORTB. | | clearYearOfBirth() | None, deprecated by ORTB. | -| userGender | None, deprecated by ORTB. | +| userGender | [setGlobalORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)setGlobalORTBConfig:) | | userGenderDescription() | None, deprecated by ORTB. | | userID | [setGlobalORTBConfig(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)setGlobalORTBConfig:) | | eids | [Targeting.shared.setExternalUserIds(\_:)](https://docs.prebid.org/prebid-mobile-ios/Classes/Targeting.html#/c:@M@PrebidMobile@objc(cs)Targeting(im)setExternalUserIds:) | From 6267f6ff60ee111f83e8b418ea99d69431c78080 Mon Sep 17 00:00:00 2001 From: bretg Date: Thu, 10 Apr 2025 12:42:55 -0400 Subject: [PATCH 51/52] fixed tyop --- prebid-mobile/prebid-mobile.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prebid-mobile/prebid-mobile.md b/prebid-mobile/prebid-mobile.md index d4e8b58591..c35bf8152e 100644 --- a/prebid-mobile/prebid-mobile.md +++ b/prebid-mobile/prebid-mobile.md @@ -8,7 +8,7 @@ sidebarType: 2 # Prebid Mobile Overview {:.no_toc} -Prebid Mobile is an open-source library fir iOS and Android that provides an end-to-end header bidding solution for mobile app publishers. +Prebid Mobile is an open-source library for iOS and Android that provides an end-to-end header bidding solution for mobile app publishers. ---- From e60aff6db0c86fffb4c0aa0d8d21bdda3a9f5315 Mon Sep 17 00:00:00 2001 From: Maksym Danylov Date: Thu, 10 Apr 2025 21:10:15 +0300 Subject: [PATCH 52/52] docs: resolves PR issues with platforms inconsistency --- .../rendering/android-sdk-integration-pb.md | 7 ------- prebid-mobile/pbm-api/ios/pbm-targeting-ios.md | 15 --------------- 2 files changed, 22 deletions(-) diff --git a/prebid-mobile/modules/rendering/android-sdk-integration-pb.md b/prebid-mobile/modules/rendering/android-sdk-integration-pb.md index b65c0ed7f4..e5764f6952 100644 --- a/prebid-mobile/modules/rendering/android-sdk-integration-pb.md +++ b/prebid-mobile/modules/rendering/android-sdk-integration-pb.md @@ -36,13 +36,6 @@ In this mode, the developer is responsible for the following actions: This approach is available for the following ad formats: -- Display Banner via `BannerAdUnit` -- Video Banner and Instream Video via `InStreamVideoAdUnit` -- Display Interstitial via `InterstitialAdUnit` -- Video Interstitial via `InterstitialAdUnit` with video ad format -- Rewarded Video via `RewardedVideoAdUnit` -- Native Styles via `NativeRequest` - - Display Banner via `BannerAdUnit` - Video Banner and Instream Video via `VideoAdUnit` (The class has been removed in the PrebidMobile `3.0.0`. Use the `InStreamVideoAdUnit` instead) - Display Interstitial via `InterstitialAdUnit` diff --git a/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md b/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md index fb78e539c1..147ec5fabb 100644 --- a/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md +++ b/prebid-mobile/pbm-api/ios/pbm-targeting-ios.md @@ -583,21 +583,6 @@ Pay attention that there are certain protected fields such as `regs`, `device`, - App and User first party data should use the [functions defined for those purposes](/prebid-mobile/pbm-api/ios/pbm-targeting-ios.html#first-party-data) - See the [Prebid Server auction endpoint](/prebid-server/endpoints/openrtb2/pbs-endpoint-auction.html#prebid-server-ortb2-extension-summary) reference for more information about how it will process incoming fields. -### Deprecated -{:.no_toc} - -{: .alert.alert-warning :} -Starting from PrebidMobile `3.0.0` the method is removed. Use `Targeting.shared.setImpORTBConfig` instead. - -The PrebidMobile 2.5.0 contains the deprecated method to set the impression level RTB config: - -``` swift -//ad unit / impression-level -adUnit.setOrtbConfig("{\"ext\":{\"gpid\":\"abc123"}}\") -``` - -This method has implementation issues and was deprecated in v2.4.0. If you use this method, we strongly recommend migrating to the new `setImpORTBConfig()` method since this one will be removed entirely in SDK version 3.0.0. - ## Further Reading - [Prebid Mobile Overview](/prebid-mobile/prebid-mobile.html)