Reklama pełnoekranowa to typ reklamy, która zajmuje większość ekranu. Dzięki temu treści wydawcy nie będą widoczne na ekranie po wyświetleniu reklamy pełnoekranowej.
Możesz zidentyfikować możliwości reklamy pełnoekranowej w pytaniu o stawkę, sprawdzając, czy pole BidRequest.mobile.is_interstitial_request
protokołu Google jest ustawione na true
. W przypadku OpenRTB pole BidRequest.imp.instl
jest ustawione na true
w protobuf lub 1
w formacie JSON.
Rozmiar boksu reklamowego
Rozmiar boksu reklamowego reklam pełnoekranowych wskazuje obszar, który może służyć do renderowania kreacji, i zależy od kilku czynników, np. od określonych formatów i wymiarów ekranu.
Pierwsza para szerokości i wysokości boksu reklamowego (pola BidRequest.adslot.width
i BidRequest.adslot.height
w RTB Google lub pole BidRequest.imp.banner.format
w OpenRTB) reprezentuje rozmiar boksu reklamowego,
pozostałe szerokości i wysokości przedstawiają listę zalecanych rozmiarów reklam.
W pytaniu o stawkę kreacje nie są ograniczone do zalecanych rozmiarów, ale na pewno wszystkie zalecane rozmiary w pytaniu o stawkę będą się mieścić w akceptowalnym zakresie.
Możesz ustalać stawki za każdą kreację, której szerokość i wysokość spełniają te kryteria:
- Nie może być większa od szerokości i wysokości boksu reklamowego.
- Co najmniej 50% szerokości boksu reklamowego
- Co najmniej 40% wysokości boksu reklamowego
Jeśli rozmiar reklamy jest za duży lub za mały, odpowiedź na pytanie o stawkę jest filtrowana według przyczyny odrzucenia INTERSTITIAL_SIZE_MISMATCH
.
Jeśli nie określisz rozmiaru reklamy w odpowiedzi na stawkę, odpowiedź będzie filtrowana z przyczyną odrzucenia MISSING_AD_SIZE
.
Przykładowe pytania o stawkę
Oto kilka przykładowych pytań o stawkę dotyczących reklam pełnoekranowych.
Pokaż przykład
id: "(\232m\232xp\035\326w\260\250\262\205\r:\313\373:3\215!L\234" ip: "\300\250" user_agent: "Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148" url: "https://www.google.com" detected_language: "en" adslot { id: 1 width: 398 width: 320 height: 744 height: 480 excluded_attribute: 19 excluded_attribute: 18 allowed_vendor_type: 828 allowed_vendor_type: 4697 matching_ad_data { billing_id: 37034094959 billing_id: 19705546350 minimum_cpm_micros: 200000 } slot_visibility: ABOVE_THE_FOLD ad_block_key: 7260775726 publisher_settings_list_id: 1906995857014069503 viewability: 91 click_through_rate: 0.021559697 allowed_ad_types: ALLOWED_AD_TYPE_BANNER is_amp_page: DIALECT_HTML amp_ad_requirement_type: AMP_AD_NOT_ALLOWED api: OMID_1 api: MRAID_1 omidpn: "Google" omidpv: "afma-sdk-i-v11.2.0" creative_enforcement_settings { policy_enforcement: POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES } auction_environment: SERVER_SIDE_AUCTION impression_expiration_seconds: 14400 billable_event_rate_bid_adjustment { bid_adjustment: 1.1087964 creative_type: HTML_SNIPPET } supported_auction_environment: SERVER_SIDE_AUCTION display_manager: "GoogleMobileAds-iOS" display_manager_version: "11.2.0" } is_test: false timezone_offset: 480 mobile { app_id: "500811620" is_app: true is_interstitial_request: true app_name: "Test App" skadn { sourceapp: "500811620" skadnetids: "41dEOEaD" skadnetids: "580dmbSX" versions: "2.0" versions: "2.1" supported_fidelity_types: VIEW_THROUGH_ADS supported_fidelity_types: STOREKIT_RENDERED_ADS skoverlay: true } is_app_open_ad: true } geo_criteria_id: 20827 publisher_settings_list_id: 18428013069233776176 publisher_type: PUBLISHER_OWNED_AND_OPERATED partner_id: 4672461785023090980 device { device_type: HIGHEND_PHONE platform: "iphone" brand: "Apple" model: "iPhone11,8" os_version { major: 16 minor: 6 micro: 1 } carrier_id: 0 screen_width: 414 screen_height: 896 screen_pixel_ratio_millis: 2000 screen_orientation: PORTRAIT hardware_version: "iPhone11,8" limit_ad_tracking: true app_tracking_authorization_status: NOT_DETERMINED connection_type: WIFI } publisher_country: "SG" publisher_id: "pub-1111111111111111" response_deadline_ms: 1000 google_query_id: "ANy-z06138-98U8A68As2n5q57SoKI3EBuB5RV414N6krfd385z0q1c9o28Bv3176Zw2LuJe" auction_type: FIRST_PRICE geo { lat: 10.24 lon: 123.79 country: "PHL" region: "PH-CEB" utcoffset: 480 accuracy: 39443 } user_agent_data { platform { brand: "iPhone" version: "16" version: "6" } mobile: true model: "iPhone" browsers { brand: "Mozilla" version: "5" version: "0" } browsers { brand: "AppleWebKit" version: "605" version: "1" } bitness: "64" source: USER_AGENT_STRING } supply_chain { complete: true nodes { advertising_system_identifier: "testdomain.com" seller_identifier: "pub-1111111111111111" handles_payment: true } version: "1.0" } frequency_capping_scope: FREQUENCY_CAPPING_SCOPE_APP privacy_treatments { allow_user_data_collection: true } inventory_partner_domain: "OMITTED"
Plik JSON OpenRTB
Pokaż przykład
{ "id": "8460Dv0171574mt7n9tOQ9", "imp": [ { "id": "1", "banner": { "w": 428, "h": 846, "pos": 7, "api": [ 3, 5 ], "format": [ { "w": 428, "h": 846 }, { "w": 414, "h": 736 } ] }, "displaymanager": "GoogleMobileAds-iOS", "displaymanagerver": "10.10.0", "instl": 1, "tagid": "4914454382", "bidfloor": 0.01, "bidfloorcur": "USD", "secure": 1, "exp": 3600, "clickbrowser": 1, "metric": [ { "type": "click_through_rate", "value": 0.560609757900238, "vendor": "EXCHANGE" }, { "type": "viewability", "value": 0.97, "vendor": "EXCHANGE" } ], "ext": { "billing_id": [ 73848702501 ], "publisher_settings_list_id": [ 9781603598081027997, 9488077458915289715 ], "allowed_vendor_type": [ 698, 414 ], "ampad": 2, "excluded_creatives": [ { "buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID" }, { "buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID" } ], "skadn": { "sourceapp": "com.google.testapp", "skadnetids": [ "43D4r5x9" ], "versions": [ "2.0", "2.1" ], "fidelities": [ 0, 1 ], "skoverlay": 1 }, "creative_enforcement_settings": { "policy_enforcement": 2, "publisher_blocks_enforcement": 1 }, "auction_environment": 0, "ae": 0 } } ], "app": { "name": "Test App", "bundle": "com.google.testapp", "publisher": { "id": "pub-5842596021161378", "ext": { "country": "IN" } }, "content": { "url": "https://www.google.com", "livestream": 0, "language": "en" }, "storeurl": "https://www.google.com", "ext": { "inventorypartnerdomain": "OMITTED" } }, "device": { "ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148", "geo": { "lat": 0.0, "lon": 0.0, "country": "SAU", "region": "SA-02", "city": "Jiddah", "zip": "23462", "type": 2, "utcoffset": 180, "accuracy": 1291 }, "ipv6": "2a02:9b0:4047::", "carrier": "71681", "make": "Apple", "model": "iPhone14,8", "os": "iOS", "osv": "17.4.1", "connectiontype": 6, "devicetype": 4, "lmt": 1, "hwv": "iPhone14,8", "w": 428, "h": 926, "pxratio": 3, "sua": { "browsers": [ { "brand": "Mozilla", "version": [ "5", "0" ] }, { "brand": "AppleWebKit", "version": [ "605", "1" ] } ], "platform": { "brand": "iPhone", "version": [ "17", "4" ] }, "mobile": 1, "bitness": "64", "model": "iPhone", "source": 3 }, "ext": { "atts": 2 } }, "at": 1, "tmax": 1000, "cur": [ "USD" ], "bcat": [ "IAB23-4", "IAB18-5" ], "source": { "schain": { "complete": 1, "nodes": [ { "asi": "testssp.com", "sid": "pub-1111111111111111", "hp": 1 } ], "ver": "1.0" }, "ext": { "omidpn": "Google", "omidpv": "afma-sdk-i-v10.10.0", "schain": { "complete": 1, "nodes": [ { "asi": "testssp.com", "sid": "pub-1111111111111111", "hp": 1 } ], "ver": "1.0" } } }, "ext": { "google_query_id": "ANy-z562Q0-p46Tz77U15Ie9774Mnu3QIa45V73X99r9NR1694g5301D186q8ZFJ57Ja8L78", "fcap_scope": 4, "privacy_treatments": { "allow_user_data_collection": 1 } } }
Protobuf OpenRTB
Pokaż przykład
id: "3Sh9IsB712x9QzGDA1k93z" imp { id: "1" banner { w: 360 h: 711 pos: AD_POSITION_FULLSCREEN battr: VIDEO_IN_BANNER_AUTO_PLAY battr: VIDEO_IN_BANNER_USER_INITIATED api: MRAID_1 api: MRAID_2 format { w: 360 h: 711 } format { w: 360 h: 640 } } displaymanager: "GoogleMobileAds-Android" displaymanagerver: "21.3.0" instl: true tagid: "8679500107" bidfloor: 0.02 bidfloorcur: "USD" secure: true exp: 14400 clickbrowser: true metric { type: "viewability" value: 0.9 vendor: "EXCHANGE" } metric { type: "session_depth" value: 99.0 vendor: "EXCHANGE" } [com.google.doubleclick.imp] { billing_id: 42834631855 ampad: AMP_AD_NOT_ALLOWED excluded_creatives { buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID" } creative_enforcement_settings { policy_enforcement: POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES } auction_environment: SERVER_SIDE_AUCTION ae: SERVER_SIDE_AUCTION } } app { name: "Test App" bundle: "com.google.testapp" publisher { id: "pub-8815040790812473" [com.google.doubleclick.publisher] { country: "SG" } } content { url: "https://www.google.com" userrating: "4.6" livestream: false language: "id" } storeurl: "https://www.google.com" [com.google.doubleclick.app] { inventorypartnerdomain: "OMITTED" } } device { ua: "Dalvik/2.1.0 (Linux; U; Android 11; in-; RMX1971 Build/RKQ1.201217.002)" ip: "192.168.1.0" geo { lat: 0.0 lon: 0.0 country: "IDN" region: "ID-SS" city: "Palembang" type: IP utcoffset: 420 accuracy: 7498 } make: "Realme" model: "RMX1971" os: "android" osv: "11" connectiontype: CELL_4G devicetype: HIGHEND_PHONE ifa: "b\'\\xa9>3\\xa2\\xbb\\x95\\x8dIQq\\xd0\\x8f\\xee\\xc1k}\'" lmt: false w: 360 h: 711 pxratio: 3.0 sua { browsers { brand: "Dalvik" version: "2" version: "1" } platform { brand: "Android" version: "11" } mobile: true model: "RMX1971" source: USER_AGENT_STRING } } user { id: "21QP3H9IaS263665PMP52FIes26" } at: FIRST_PRICE tmax: 300 cur: "USD" source { schain { complete: true nodes { asi: "testssp.com" sid: "pub-1111111111111111" hp: true } ver: "1.0" } [com.google.doubleclick.source] { omidpn: "Google" omidpv: "afma-sdk-a-v240304999.223104000.1" schain { complete: 1 nodes { asi: "testssp.com" sid: "pub-1111111111111111" hp: 1 } ver: "1.0" } } } [com.google.doubleclick.bid_request] { google_query_id: "ANy-z52N8Y-VzuCT3Q7jr9Ixx3iR4pM1bm1q84NyH1tMMtV9SSO7y83u6Ec3xlaf1563Tt5k" fcap_scope: FREQUENCY_CAPPING_SCOPE_DEVICE privacy_treatments { allow_user_data_collection: true } }
Sprawdzone metody
Zalecamy stosowanie tych sprawdzonych metod:
Dodaj atrybuty formatowania we fragmentach kodu kreacji HTML, aby wyśrodkować reklamy w boksie reklamowym. W przeciwnym razie reklamy będą renderowane w lewym górnym rogu boksu reklamowego.
W odpowiedzi użyj reklamy pełnoekranowej, która zajmuje jak najwięcej miejsca w boksie reklamowym. Nie wypełniaj pełnoekranowych boksów reklamowych znacznie mniejszą reklamą. Na przykład reklama o wymiarach 320 × 480 jest za mała dla boksu pełnoekranowego 420 × 800.
Nie dodawaj żadnego przycisku zamykania:
- Nasz pakiet SDK automatycznie wyświetla przycisk zamykania (jeśli jest dostępny), aby użytkownicy mogli go kliknąć.
- MRAID
useCustomClose()
nie jest obsługiwany.
Aby wybrać rozmiary reklam dozwolone w odpowiedzi na pytanie o stawkę, użyj zalecanych rozmiarów z pytania o stawkę.
Sprawdź sygnał
screen_orientation
, aby wybrać kreacje w odpowiedniej orientacji.- Zalecamy użycie kreacji pionowych i poziomych, aby ustalać stawki z odpowiednią orientacją na podstawie sygnału
screen_orientation
.
- Zalecamy użycie kreacji pionowych i poziomych, aby ustalać stawki z odpowiednią orientacją na podstawie sygnału
Jednowymiarowe (elastyczne) reklamy pełnoekranowe
Bezwymiarowe reklamy pełnoekranowe (nazywane też elastycznymi lub elastycznymi reklamami pełnoekranowymi) dynamicznie zmieniają rozmiar, by zająć całą szerokość i wysokość boksu reklamowego. Authorized Buyers nie zmienia rozmiaru kreacji za Ciebie. Musisz przesłać kreację, która dynamicznie zmienia rozmiar.
Wystarczy przesłać do sprawdzenia reklamy pełnoekranowe bez określonego rozmiaru tylko raz, mimo że mogą się wyświetlać w wielu rozmiarach. Aby uniknąć ponownego sprawdzania kreacji w przypadku każdego rozmiaru boksu reklamowego, zalecamy wykonanie tych czynności:
Odpowiedź na stawkę
W odpowiedzi na stawkę zadeklaruj atrybut 105
SIZELESS_ADX
z atrybutów kreacji.Wypełnij pola
BidResponse.Ad.width
iBidResponse.Ad.height
rozmiarem, w którym ma się wyświetlać kreacja, zgodnie z wymaganiami dotyczącymi rozmiaru reklamy (#wymaganiami dotyczącymi rozmiaru reklamy), np. 360 x 480 w przypadku boksu reklamowego 360 x 480. Kreacja może się nadal wyświetlać w innych rozmiarach.
Jeśli dodasz atrybut SIZELESS_ADX
do istniejącej kreacji, musi ona zostać ponownie sprawdzona.
Wstępne zatwierdzenie kreacji
- Podczas przesyłania kreacji do sprawdzenia podaj atrybut
SIZELESS_ADX
w poluattribute
. - Prześlij kreację, używając oczekiwanego rozmiaru, czyli typowego rozmiaru w przypadku kreacji pełnoekranowych. Kreacja może się nadal wyświetlać w innych rozmiarach.
- Każda kreacja bez rozmiaru jest wliczana do limitu kreacji tylko raz, nawet jeśli jest wyświetlana w wielu rozmiarach.