Reklamy pełnoekranowe

Reklama pełnoekranowa to typ reklamy, która zajmuje większość ekranu. Dlatego treści wydawcy nie pojawiają się na ekranie, gdy wyświetlana jest reklama pełnoekranowa.

Możliwość wyświetlenia reklamy pełnoekranowej możesz rozpoznać w pytaniu o stawkę, sprawdzając, czy pole BidRequest.imp.instl w pytaniu o stawkę ma wartość true w Protobuf lub 1 w JSON.

Konfigurowanie kierowania wstępnego na reklamy pełnoekranowe

Aby skonfigurować kierowanie wstępne, możesz użyć interfejsu Real-time Bidding API i zasobu bidders.pretargetingConfigs. Aby kierować reklamy pełnoekranowe, musisz utworzyć zasób PretargetingConfig z polem interstitialTargeting ustawionym na ONLY_INTERSTITIAL_REQUESTS. Więcej informacji o konfigurowaniu kierowania wstępnego za pomocą interfejsu Real-time Bidding API znajdziesz w artykule Konfiguracje kierowania wstępnego.

Im więcej pól określisz w zasobie PretargetingConfig, tym dokładniejsze będzie kierowanie. Możesz na przykład kierować reklamy na mobilne reklamy pełnoekranowe umieszczone w aplikacjach, konfigurując zasób PretargetingConfig w ten sposób:

  • Pole interstitialTargeting jest ustawione na wartość wyliczeniową ONLY_INTERSTITIAL_REQUESTS.
  • Pole includedPlatforms zawiera wartości typu wyliczeniowego PHONE i TABLET.
  • Pole includedEnvironments zawiera tylko wartość wyliczeniową APP.

Więcej informacji o formatach reklam pełnoekranowych

Format reklamy pełnoekranowej możesz określić na podstawie sposobu wypełnienia pytania o stawkę. W tabeli poniżej znajdziesz pola BidRequest, które są wypełniane w przypadku obsługiwanych formatów reklam pełnoekranowych:

Format app site imp.instl imp.rwdd imp.ext.is_app_open
Reklama pełnoekranowa w aplikacji Tak Nie Tak Nie Nie
Reklama z nagrodą w aplikacji Tak Nie Tak Tak Nie
reklama wyświetlana przy otwarciu aplikacji, Tak Nie Tak Nie Tak
Reklama pełnoekranowa w przeglądarce Nie Tak Tak Nie Nie
Reklama z nagrodą w internecie Nie Tak Tak Tak Nie

Ustalanie stawek za reklamy pełnoekranowe w aplikacji

Możesz ustalać stawki za zasoby reklamowe w formacie reklamy pełnoekranowej w aplikacji, aby umieszczać reklamy zajmujące całą stronę, które wyświetlają się między ekranami podczas nawigowania po aplikacji mobilnej. Więcej informacji o tym formacie znajdziesz w artykule Jak działają reklamy pełnoekranowe w aplikacjach mobilnych.

Ustalanie stawek w przypadku reklam z nagrodą w aplikacji

Możesz ustalać stawki za zasoby reklamowe w formacie reklamy z nagrodą w aplikacji, aby umieszczać reklamy pełnoekranowe, które wyświetlają się, gdy użytkownik aplikacji mobilnej zdecyduje się obejrzeć reklamę w zamian za nagrodę, np. walutę w grze. Aby dowiedzieć się więcej o tym formacie, przeczytaj artykuł Przegląd jednostek reklamowych z nagrodą.

Określanie stawek za reklamy wyświetlane przy otwarciu aplikacji

Możesz ustalać stawki za zasoby reklamowe w formacie reklamy wyświetlanej przy otwarciu aplikacji, aby umieszczać reklamy pełnoekranowe, które renderują się na ekranie wczytywania aplikacji mobilnej. Ekrany wczytywania pojawiają się, gdy użytkownik otwiera aplikację lub wraca do niej z innej aplikacji. Więcej informacji o tym formacie znajdziesz w artykule Wskazówki i sprawdzone metody dotyczące reklam wyświetlanych przy otwarciu aplikacji.

Określanie stawek za reklamy pełnoekranowe w przeglądarce

Możesz ustalać stawki za zasoby reklamowe w formacie reklamy pełnoekranowej w przeglądarce, aby umieszczać reklamy zajmujące całą stronę, które wyświetlają się, gdy użytkownik przegląda witrynę i wchodzi z nią w interakcję. Więcej informacji o tym formacie znajdziesz w artykule Trafikowanie reklam pełnoekranowych w przeglądarce.

Określanie stawek w przypadku reklam z nagrodą w internecie

Możesz ustalać stawki za zasoby reklamowe w formacie reklamy z nagrodą w internecie, aby umieszczać reklamy pełnoekranowe, które wyświetlają się, gdy użytkownik przeglądający witrynę zdecyduje się obejrzeć reklamę w zamian za nagrodę, np. walutę w grze. Więcej informacji o tym formacie znajdziesz w artykule Trafikowanie reklam z nagrodą w przeglądarce.

Wybieranie akceptowalnego rozmiaru boksu reklamowego

Rozmiar boksu reklamowego w przypadku reklam pełnoekranowych określa obszar, który może być używany do renderowania kreacji, i zależy od kilku czynników, takich jak konkretne formaty i wymiary ekranu.

Pierwsza para szerokości i wysokości w polu BidRequest.imp.banner.format OpenRTB reprezentuje rzeczywisty rozmiar boksu reklamowego, a pozostałe pary reprezentują listę akceptowalnych rozmiarów reklam, które mieszczą się w zakresie wymagań boksu.

Kreacje nie są ograniczone do zalecanych rozmiarów w pytaniu o stawkę, ale wszystkie zalecane rozmiary w pytaniu o stawkę mieszczą się w akceptowalnym zakresie rozmiarów.

Możesz ustalać stawki za pomocą dowolnej kreacji, której szerokość i wysokość spełniają te kryteria:

  • Mniejszy lub równy szerokości i wysokości boksu reklamowego.
  • Większa lub równa 50% szerokości boksu reklamowego
  • Większa lub równa 40% wysokości boksu reklamowego

Jeśli rozmiar reklamy jest za duży lub za mały, odpowiedź na pytanie o stawkę jest odfiltrowywana z powodem odrzucenia INTERSTITIAL_SIZE_MISMATCH.

Jeśli nie określisz rozmiaru reklamy w odpowiedzi na pytanie o stawkę, odpowiedź zostanie odfiltrowana z powodem odrzucenia MISSING_AD_SIZE.

Sprawdzanie przykładowych pytań o stawkę

Oto kilka przykładowych pytań o stawkę dotyczących reklam pełnoekranowych.

OpenRTB Protobuf

Wyświetl przykład

[Serialized request](/authorized-buyers/rtb/data/request-response/openrtb_protobuf_mobile_app_interstitial_ad_request.bin){: .download}
id: "iPwd6qWwe759U5389nKgZ2"
imp {
  id: "1"
  banner {
    w: 390
    h: 764
    pos: AD_POSITION_FULLSCREEN
    api: MRAID_1
    api: MRAID_2
    format {
      w: 390
      h: 764
    }
    format {
      w: 160
      h: 600
    }
  }
  displaymanager: "GoogleMobileAds-iOS"
  displaymanagerver: "12.1.0"
  instl: true
  tagid: "6515547538"
  bidfloor: 0.01
  bidfloorcur: "USD"
  secure: true
  exp: 3600
  clickbrowser: true
  metric {
    type: "click_through_rate"
    value: 0.071259871125221252
    vendor: "EXCHANGE"
  }
  metric {
    type: "viewability"
    value: 0.93
    vendor: "EXCHANGE"
  }
  [com.google.doubleclick.imp] {
    billing_id: 20458168637
    publisher_settings_list_id: 7415902580159294065
    publisher_settings_list_id: 3858265210976003530
    allowed_vendor_type: 0
    allowed_vendor_type: 4513
    ampad: AMP_AD_NOT_ALLOWED
    excluded_creatives {
      buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
    }
    excluded_creatives {
      buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
    }
    skadn {
      sourceapp: "com.google.testapp"
      skadnetids: "jLL135hf"
      versions: "2.0"
      versions: "2.1"
      fidelities: STOREKIT_RENDERED_ADS
      fidelities: VIEW_THROUGH_ADS
    }
    creative_enforcement_settings {
      policy_enforcement: POLICY_ENFORCEMENT_NETWORK_AND_PLATFORM_POLICY
      publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
    }
    jsver: "test-sdk_123456789"
    highengagement: true
  }
}
app {
  name: "Test App"
  ver: "18.6.0"
  bundle: "com.google.testapp"
  publisher {
    id: "pub-5899129488172801"
    [com.google.doubleclick.publisher] {
      country: "IL"
    }
  }
  content {
    url: "https://www.google.com"
    language: "en"
  }
  storeurl: "https://www.google.com"
}
device {
  ua: "OMITTED"
  geo {
    lat: 0
    lon: 0
    country: "COL"
    region: "CO-DC"
    city: "Bogota"
    zip: "110851"
    type: IP
    utcoffset: -300
    accuracy: 1236
    [com.google.doubleclick.geo] {
      geo_criteria_id: 9216139
    }
  }
  ipv6: "2800:e2:5780::"
  language: "es"
  make: "Apple"
  model: "iPhone14,7"
  os: "iOS"
  osv: "18.7"
  connectiontype: WIFI
  devicetype: HIGHEND_PHONE
  hwv: "iPhone14,7"
  w: 390
  h: 844
  pxratio: 3
  sua {
    browsers {
      brand: "Mozilla"
      version: "5"
      version: "0"
    }
    browsers {
      brand: "AppleWebKit"
      version: "605"
      version: "1"
    }
    platform {
      brand: "iPhone"
      version: "18"
      version: "7"
    }
    mobile: true
    bitness: "64"
    model: "iPhone"
    source: USER_AGENT_STRING
  }
  [com.google.doubleclick.device] {
    atts: 2
    audioout: AUDIO_SPEAKER
    ifv: "5fcebf5e-462f-47fe-a528-e982d9512348"
  }
}
user {
  [com.google.doubleclick.user] {
    session {
      depth: 0
      requestssinceappopen: 5
      priorclicks: 0
    }
  }
}
at: FIRST_PRICE
tmax: 700
cur: "USD"
bcat: "32"
bcat: "33"
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-i-v12.1.0"
  }
}
cattax: GOOGLE_CATEGORIES
[com.google.doubleclick.bid_request] {
  google_query_id: "ANy-z7CT2R-7uB8g5aR7v8neLD9N5p9e04ON1C2ob93u7SZlV346yw69237l5d6p2bZ43x62"
  fcap_scope: FREQUENCY_CAPPING_SCOPE_APP
  privacy_treatments {
    allow_user_data_collection: true
  }
}

OpenRTB JSON

Wyświetl przykład

{
  "id": "iPwd6qWwe759U5389nKgZ2",
  "imp": [
    {
      "id": "1",
      "banner": {
        "w": 390,
        "h": 764,
        "pos": 7,
        "api": [
          3,
          5
        ],
        "format": [
          {
            "w": 390,
            "h": 764
          },
          {
            "w": 160,
            "h": 600
          }
        ]
      },
      "displaymanager": "GoogleMobileAds-iOS",
      "displaymanagerver": "12.1.0",
      "instl": 1,
      "tagid": "6515547538",
      "bidfloor": 0.01,
      "bidfloorcur": "USD",
      "secure": 1,
      "exp": 3600,
      "clickbrowser": 1,
      "metric": [
        {
          "type": "click_through_rate",
          "value": 0.07125987112522125,
          "vendor": "EXCHANGE"
        },
        {
          "type": "viewability",
          "value": 0.93,
          "vendor": "EXCHANGE"
        }
      ],
      "ext": {
        "billing_id": [
          "20458168637"
        ],
        "publisher_settings_list_id": [
          "7415902580159294065",
          "3858265210976003530"
        ],
        "allowed_vendor_type": [
          0,
          4513
        ],
        "ampad": 2,
        "excluded_creatives": [
          {
            "buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID"
          },
          {
            "buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID"
          }
        ],
        "skadn": {
          "sourceapp": "com.google.testapp",
          "skadnetids": [
            "jLL135hf"
          ],
          "versions": [
            "2.0",
            "2.1"
          ],
          "fidelities": [
            1,
            0
          ]
        },
        "creative_enforcement_settings": {
          "policy_enforcement": 2,
          "publisher_blocks_enforcement": 1
        },
        "jsver": "test-sdk_123456789",
        "highengagement": 1
      }
    }
  ],
  "app": {
    "name": "Test App",
    "ver": "18.6.0",
    "bundle": "com.google.testapp",
    "publisher": {
      "id": "pub-5899129488172801",
      "ext": {
        "country": "IL"
      }
    },
    "content": {
      "url": "https://www.google.com",
      "language": "en"
    },
    "storeurl": "https://www.google.com"
  },
  "device": {
    "ua": "OMITTED",
    "geo": {
      "lat": 0.0,
      "lon": 0.0,
      "country": "COL",
      "region": "CO-DC",
      "city": "Bogota",
      "zip": "110851",
      "type": 2,
      "utcoffset": -300,
      "accuracy": 1236,
      "ext": {
        "geo_criteria_id": 9216139
      }
    },
    "ipv6": "2800:e2:5780::",
    "language": "es",
    "make": "Apple",
    "model": "iPhone14,7",
    "os": "iOS",
    "osv": "18.7",
    "connectiontype": 2,
    "devicetype": 4,
    "hwv": "iPhone14,7",
    "w": 390,
    "h": 844,
    "pxratio": 3.0,
    "sua": {
      "browsers": [
        {
          "brand": "Mozilla",
          "version": [
            "5",
            "0"
          ]
        },
        {
          "brand": "AppleWebKit",
          "version": [
            "605",
            "1"
          ]
        }
      ],
      "platform": {
        "brand": "iPhone",
        "version": [
          "18",
          "7"
        ]
      },
      "mobile": 1,
      "bitness": "64",
      "model": "iPhone",
      "source": 3
    },
    "ext": {
      "atts": 2,
      "audioout": 1,
      "ifv": "5fcebf5e-462f-47fe-a528-e982d9512348"
    }
  },
  "user": {
    "ext": {
      "session": {
        "depth": 0,
        "requestssinceappopen": 5,
        "priorclicks": 0
      }
    }
  },
  "at": 1,
  "tmax": 700,
  "cur": [
    "USD"
  ],
  "bcat": [
    "32",
    "33"
  ],
  "source": {
    "schain": {
      "complete": 1,
      "nodes": [
        {
          "asi": "testssp.com",
          "sid": "pub-1111111111111111",
          "hp": 1
        }
      ],
      "ver": "1.0"
    },
    "ext": {
      "omidpn": "Google",
      "omidpv": "afma-sdk-i-v12.1.0"
    }
  },
  "cattax": 500,
  "ext": {
    "google_query_id": "ANy-z7CT2R-7uB8g5aR7v8neLD9N5p9e04ON1C2ob93u7SZlV346yw69237l5d6p2bZ43x62",
    "fcap_scope": 4,
    "privacy_treatments": {
      "allow_user_data_collection": 1
    }
  }
}

Stosowanie sprawdzonych metod

Google zaleca stosowanie tych sprawdzonych metod:

  • Aby wyśrodkować reklamy w boksie reklamowym, dodaj atrybuty formatowania we fragmentach kodu kreacji HTML. W przeciwnym razie reklamy będą renderowane w lewym górnym rogu boksu reklamowego.

  • Odpowiedz reklamą pełnoekranową, która zajmuje jak najwięcej miejsca w boksie reklamowym. Nie wypełniaj boksu reklamy pełnoekranowej znacznie mniejszą reklamą. Na przykład reklama o wymiarach 320 x 480 jest za mała na boks pełnoekranowy o wymiarach 420 x 800.

  • Nie dodawaj przycisku zamykania:

    • Nasz pakiet SDK automatycznie wyświetla przycisk zamknięcia (w odpowiednich przypadkach), aby użytkownicy mogli go kliknąć.
    • MRAID useCustomClose() nie jest obsługiwany.
  • Użyj zalecanych rozmiarów z pytania o stawkę, aby wybrać akceptowalne rozmiary reklam w odpowiedzi na pytanie o stawkę.

  • Porównaj pola BidRequest.device.w i BidRequest.device.h, aby wybrać kreacje o odpowiedniej orientacji.

    • Zalecamy stosowanie kreacji pionowych i poziomych, aby móc ustalać stawki za kreacje o odpowiedniej orientacji.

Ustalanie stawek za reklamy pełnoekranowe bez rozmiaru

Reklamy pełnoekranowe bez rozmiaru (nazywane też elastycznymi) dynamicznie zmieniają rozmiar, aby wypełnić całą szerokość i wysokość boksu reklamowego. Authorized Buyers nie zmienia rozmiaru kreacji. Musisz dostarczyć kreację, która dynamicznie zmienia rozmiar.

Reklamy pełnoekranowe bez rozmiaru wystarczy przesłać do sprawdzenia tylko raz, nawet jeśli mogą się wyświetlać w różnych rozmiarach. Aby mieć pewność, że kreacja nie będzie ponownie sprawdzana pod kątem każdego rozmiaru boksu reklamowego, zalecamy wykonanie tych czynności:

Wypełnij pola: BidResponse

  • Aby zadeklarować Rendering: Sizeless AdX (atrybut 105) w odpowiedzi na pytanie o stawkę, użyj BidResponse.seatbid.bid.ext.attribute. Atrybuty kreacji, które można zadeklarować, znajdziesz w pliku danych buyer-declarable-creative-attributes.txt.

  • Wypełnij pola BidResponse.seatbid.bid.w i BidResponse.seatbid.bid.h, podając rozmiar, w jakim kreacja ma być renderowana, zgodnie z wymaganiami dotyczącymi rozmiaru reklamy, np. 360 x 480 w przypadku boksu reklamowego 360 x 480. Kreacja może nadal wyświetlać się w innych rozmiarach. W przypadku wycofanego protokołu RTB od Google należy wypełnić pola BidResponse.Ad.width i BidResponse.Ad.height.

Jeśli dodasz atrybut Rendering: Sizeless AdX do istniejącej kreacji, musi ona zostać ponownie sprawdzona.

Przesyłanie kreacji do wstępnego zatwierdzenia

  • Przesyłając kreację do sprawdzenia, dodaj atrybut RENDERING_SIZELESS_ADX w polu declaredAttributes. W interfejsie Real-time Bidding API atrybuty kreacji są reprezentowane przez wartość typu wyliczeniowego ciągu znaków. Aby dowiedzieć się więcej o tym, jak te wartości odpowiadają liczbowym identyfikatorom z pliku buyer-declarable-creative-attributes.txt, zapoznaj się z przewodnikiem po mapowaniu.
  • Prześlij kreację w rozmiarze, w którym ma się wyświetlać, czyli w typowym rozmiarze 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.

Dalsze kroki