Reklamy pełnoekranowe

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.

Google

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.

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 i BidResponse.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 polu attribute.
  • 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.