Engage SDK Travel: instrukcje integracji technicznej firm zewnętrznych

Google tworzy platformę na urządzeniu, która porządkuje aplikacje użytkowników według kategorii i zapewnia nowe, atrakcyjne możliwości związane z oglądaniem i odkrywaniem treści aplikacji w spersonalizowany sposób. Dzięki tej funkcji partnerzy programistów mogą prezentować swoje najlepsze treści na specjalnym kanale poza aplikacją. Ten przewodnik zawiera instrukcje dla deweloperów, które pomogą im zintegrować treści o podróżach i wydarzeniach przy użyciu pakietu SDK Engage w tej nowej przestrzeni.

Szczegóły integracji

Terminologia

Ta integracja obejmuje 3 typy klastrów: Rekomendacja, Polecane i Kontynuacja.

  • Klastry rekomendacji wyświetlają spersonalizowane sugestie dotyczące podróży i wydarzeń od konkretnego partnera ds. deweloperów. Te rekomendacje mogą być spersonalizowane pod kątem użytkownika lub uogólnione (np. dotyczące produktów zyskujących popularność). Dzięki nim możesz polecać artykuły, wydarzenia, noclegi lub miejsca, które Cię interesują.

    • Klaster rekomendacji może składać się z list ArticleEntity, EventEntity, LodgingEntity, PointOfInterestEntity lub StoreEntity, ale nie może być mieszanką różnych typów elementów.

    Rekomendacje mają taką strukturę:

    • Klaster rekomendacji: widok interfejsu zawierający grupę rekomendacji od tego samego partnera ds. deweloperów.

    • Encja: obiekt reprezentujący pojedynczy element w klastrze. Ta integracja obejmuje elementy, które będą udostępniane za pomocą klastra rekomendacji:

      • ArticleEntity: element ArticleEntity zawiera rekomendację dotyczącą treści tekstowych związanych z podróżami i wydarzeniami. Można go używać w artykułach, postach na blogu, materiałach marketingowych, wiadomościach itp.

        Rysunek 1. Interfejs przedstawiający pojedynczy element Article w klastrze rekomendacji.
      • EventEntity: reprezentuje zdarzenie odbywające się w przyszłości. Godzina rozpoczęcia zdarzenia to kluczowa informacja, którą musisz przekazać użytkownikom.

        Rys. 2. Interfejs przedstawiający pojedynczy obiekt EventEntity w klastrze rekomendacji.
      • LodgingEntity: obiekt zakwaterowania, np. hotelu, apartamentu, domu letniskowego z wynajmem krótkoterminowym lub długoterminowym.

        Rysunek 3. Interfejs przedstawiający pojedynczy obiekt LodgingEntity w klastrze rekomendacji.
      • StoreEntity: określa sklep, restaurację, kawiarnię itp. Wyróżnia treści, w których przypadku restauracja lub sklep to kluczowa informacja, którą należy przekazać użytkownikom.

        Rys. 4. Interfejs przedstawiający pojedynczy obiekt StoreEntity w klastrze rekomendacji.
      • PointOfInterestEntity: to interesujące miejsce, np. stacja benzynowa, miejsce wydarzeń, park rozrywki, muzeum, atrakcja turystyczna, szlak pieszy. Wskazuje treści, w których przypadku lokalizacja jest kluczowym elementem informacji, który trzeba przekazać użytkownikom. Nie powinna być używana do zakwaterowania, sklepu ani restauracji.

        Rysunek 5. Interfejs przedstawiający pojedynczy element PointOfInterestEntity w klastrze rekomendacji.
  • Klaster Kontynuacja w jednym zgrupowaniu UI pokazuje treści, w których ostatnio angażowali się użytkownicy z wielu partnerów. Każdy partner będący deweloperem będzie mógł transmitować maksymalnie 10 encji w klastrze Kontynuacja.

    Ciąg dalszy może mieć taką strukturę:

    • ArticleEntity: element ArticleEntity zawiera rekomendację dotyczącą treści związanych z podróżami i wydarzeniami. Element ten może służyć do reprezentowania niedokończonych artykułów lub innych treści, które użytkownik chce kontynuować od momentu, w którym je przerwał. Przykład: fragment wiadomości, fragment posta na blogu o miejscu docelowym lub wydarzeniu.

      Rysunek 6. Interfejs przedstawiający pojedynczy element ArticleEntity w klastrze kontynuacji.
    • RestaurantreservationEntity: rezerwacja w restauracji lub kawiarni. Pomaga użytkownikom śledzić nadchodzące lub bieżące rezerwacje w restauracjach.

      Rysunek 7. Interfejs przedstawiający pojedynczy obiekt RestaurantreservationEntity w klastrze Continuation.
    • EventRezerwacjaEntity: rezerwacja na wydarzenie, która pomaga użytkownikom śledzić rezerwacje nadchodzących lub trwających wydarzeń. Zdarzenia to między innymi:

      • Wydarzenia sportowe, takie jak rezerwacja meczu piłki nożnej
      • Wydarzenia związane z grami, np. rezerwacje w przypadku e-sportu
      • wydarzenia rozrywkowe, np. rezerwowanie filmów w kinie, koncert, kino, podpisywanie książek.
      • rezerwacje wycieczek lub atrakcji, np. zwiedzanie z przewodnikiem, bilety do muzeum).
      • Rezerwacje na spotkania towarzyskie, seminaria i konferencje
      • Rezerwacje na sesje edukacyjne / szkoleniowe
      Rysunek 8. Interfejs przedstawiający pojedynczy element Event ReserveEntity w klastrze Continuation.
    • LodgingreservationEntity: obiekt LodgingEntityreservation służy do rezerwowania zakwaterowania w podróży i pomaga użytkownikom śledzić nadchodzące lub bieżące rezerwacje hoteli bądź kwater wakacyjnych.

      Rysunek 9. Interfejs przedstawiający pojedynczy obiekt LodgingreservationEntity w klastrze Continuation.
    • TransportShippingEntity: umożliwia rezerwowanie usług transportu według dowolnego środka transportu i pomaga użytkownikom śledzić rezerwacje zbliżających się lub trwających lotów, promów, pociągów, autobusów, przejazdów i rejsów.

      Rysunek 10. Interfejs przedstawiający pojedynczy obiekt TransportationreservationEntity w klastrze kontynuacji.
    • VehicleRentalreservationEntity: element VehicleRentalreservationEntity reprezentuje rezerwację pojazdu w celu wypożyczenia pojazdu i pomaga użytkownikom śledzić nadchodzące lub bieżące rezerwacje wynajmu pojazdów.

      Rysunek 11. Interfejs przedstawiający jeden obiekt VehicleRental ReserveEntity w klastrze Kontynuacja.
  • Klaster Polecane to widok interfejsu, w którym w jednej grupie UI pojawia się wybrany główny element (GenericFeaturedEntity) od wielu partnerów dla deweloperów. U góry interfejsu znajduje się pojedynczy klaster Polecane, który ma wyższy priorytet niż wszystkie klastry rekomendacji. Każdy deweloper może w sekcji Polecane transmitować jeden element obsługiwanego typu, w którym znajduje się wiele elementów (potencjalnie różnych typów) od wielu deweloperów aplikacji.

    • OgólnaPolecaneEntity: element GeneralFeaturedEntity różni się od Rekomendacji tym, że Polecany element powinien być używany jako 1 najpopularniejsza treść od programistów i powinna przedstawiać jedną najważniejsze treści, które będą interesujące i istotne dla użytkowników.

      Rysunek 12. Interfejs przedstawiający klaster Polecane z listą elementów Ogólnych wyróżnionych elementów

Przygotowanie

Minimalny poziom interfejsu API: 19

Dodaj bibliotekę com.google.android.play:engage do aplikacji:

dependencies {
    // Make sure you also include that repository in your project's build.gradle file.
    implementation 'com.google.android.engage:engage-core:1.4.1'
}

Podsumowanie

Projekt opiera się na implementacji powiązanej usługi.

Dane, które klient może publikować, podlegają tym ograniczeniom w przypadku różnych typów klastrów:

Typ klastra Limity klastrów Minimalne limity encji w klastrze Maksymalne limity encji w klastrze
Klastry rekomendacji Maksymalnie 5 Co najmniej 5 Maksymalnie 25 (ArticleEntity, EventEntity, LodgingEntity, StoreEntity lub PointOfInterestEntity)
Klaster kontynuacji Maksymalnie 1 Co najmniej 1 Maksymalnie 10 (ArticleEntity, RestaurantReservationEntity EventReservationEntity, LodgingReservationEntity, TransportationReservationEntity lub VehicleRentalReservationEntity)
Polecany klaster Maksymalnie 1 Co najmniej 1 Maksymalnie 10 (GenericFeaturedEntity)

Krok 1. Podaj dane encji

Pakiet SDK ma zdefiniowane różne elementy reprezentujące każdy typ elementu. W kategorii Podróże i wydarzenia obsługujemy takie podmioty:

  1. GenericFeaturedEntity
  2. ArticleEntity
  3. EventEntity
  4. LodgingEntity
  5. StoreEntity
  6. PointOfInterestEntity
  7. RestaurantReservationEntity
  8. EventReservationEntity
  9. LodgingReservationEntity
  10. TransportationReservationEntity
  11. VehicleRentalReservationEntity

W tabelach poniżej znajdziesz dostępne atrybuty i wymagania dla poszczególnych typów.

GenericFeaturedEntity

Atrybut Wymóg Opis Format
Identyfikator URI działania Wymagany

Precyzyjny link do encji w aplikacji dostawcy.

Uwaga: do atrybucji możesz używać precyzyjnych linków. Zapoznaj się z tymi odpowiedziami na najczęstsze pytania

Identyfikator URI
Obrazy plakatu Wymagany

Jeśli prześlesz wiele obrazów, wyświetlimy tylko 1 obraz. Zalecany współczynnik proporcji to 16:9

Uwaga: jeśli plakietka jest dostępna, upewnij się, że u góry i u dołu obrazu jest bezpieczna przestrzeń o szerokości 24 dps.

Wskazówki znajdziesz w specyfikacji obrazów.
tytuł; Opcjonalnie Nazwa elementu.

Dowolny tekst

Zalecany rozmiar tekstu: 50 znaków

Opis Opcjonalnie

Pojedynczy akapit tekstu opisujący element.

Uwaga: użytkownikowi zostanie wyświetlony opis lub lista napisów, ale nie oba te rodzaje treści.

Dowolny tekst

Zalecany rozmiar tekstu: 180 znaków

Lista napisów Opcjonalnie

Maksymalnie 3 napisy, a każdy z nich to 1 wiersz tekstu.

Uwaga: użytkownikowi zostanie wyświetlony opis lub lista napisów, ale nie oba te rodzaje treści.

Dowolny tekst

Zalecany rozmiar tekstu każdego podtytułu: maks. 50 znaków

Odznaki Opcjonalnie

Każda plakietka zawiera dowolny tekst (maks. 15 znaków) lub mały obraz.

Specjalne traktowanie wrażeń użytkownika w przypadku obrazu/filmu, np. jako nakładka z plakietką na obrazie

  • np. „Aktualizacja na żywo”
  • np. Czas czytania artykułu

Plakietka – tekst Opcjonalnie

Tytuł plakietki

Uwaga: na plakietkę wymagany jest tekst lub obraz.

Dowolny tekst

Zalecany rozmiar tekstu: maks. 15 znaków

Plakietka – obraz Opcjonalnie

Mały obraz

Specjalne podejście do wrażeń użytkownika, np. jako nakładka plakietki na miniaturze obrazu/filmu.

Uwaga: na plakietkę wymagany jest tekst lub obraz.

Wskazówki znajdziesz w specyfikacji obrazów.
Kategorie treści Opcjonalnie Opisz kategorię treści w elemencie.

Lista wyliczeń

Wskazówki znajdziesz w sekcji Kategoria treści.

ArticleEntity

Atrybut Wymóg Opis Format
Identyfikator URI działania Wymagany

Precyzyjny link do encji w aplikacji dostawcy.

Uwaga: do atrybucji możesz używać precyzyjnych linków. Zapoznaj się z tymi odpowiedziami na najczęstsze pytania

Identyfikator URI
tytuł; Wymagany Nazwa elementu.

Dowolny tekst

Zalecany rozmiar tekstu: maks. 50 znaków

Obrazy plakatu Opcjonalnie

Jeśli prześlesz wiele obrazów, wyświetlimy tylko 1 obraz. Zalecany współczynnik proporcji to 16:9

Uwaga: zdecydowanie zalecamy użycie obrazu. Jeśli plakietka jest dostępna, upewnij się, że u góry i u dołu obrazu jest bezpieczna przestrzeń o szerokości 24 dps.

Wskazówki znajdziesz w specyfikacji obrazów.
Źródło – tytuł Opcjonalnie Imię i nazwisko autora, organizacji lub raportującego

Dowolny tekst

Zalecany rozmiar tekstu: poniżej 25 znaków

Źródło – obraz Opcjonalnie Zdjęcie źródła, np. autor, organizacja, reporter Wskazówki znajdziesz w specyfikacji obrazów.
Opis Opcjonalnie

Pojedynczy akapit tekstu opisujący element.

Uwaga: użytkownikowi zostanie wyświetlony opis lub lista napisów, ale nie oba te rodzaje treści.

Dowolny tekst

Zalecany rozmiar tekstu: 180 znaków

Lista napisów Opcjonalnie

Maksymalnie 3 napisy, a każdy z nich to 1 wiersz tekstu.

Uwaga: użytkownikowi zostanie wyświetlony opis lub lista napisów, ale nie oba te rodzaje treści.

Dowolny tekst

Zalecany rozmiar tekstu każdego podtytułu: maks. 50 znaków

Odznaki Opcjonalnie

Każda plakietka zawiera dowolny tekst (maks. 15 znaków) lub mały obraz.

Specjalne traktowanie wrażeń użytkownika w przypadku obrazu/filmu, np. jako nakładka z plakietką na obrazie

  • np. „Aktualizacja na żywo”
  • np. Czas czytania artykułu

Plakietka – tekst Opcjonalnie

Tytuł plakietki

Uwaga: na plakietkę wymagany jest tekst lub obraz.

Dowolny tekst

Zalecany rozmiar tekstu: maks. 15 znaków

Plakietka – obraz Opcjonalnie

Mały obraz

Specjalne podejście do wrażeń użytkownika, np. jako nakładka plakietki na miniaturze obrazu/filmu.

Uwaga: na plakietkę wymagany jest tekst lub obraz.

Wskazówki znajdziesz w specyfikacji obrazów.
Czas publikacji treści Opcjonalnie To sygnatura czasowa początku epoki (w milisekundach), która określa czas opublikowania lub zaktualizowania treści w aplikacji. Sygnatura czasowa epoki w milisekundach
Czas ostatniego zaangażowania Wymagane warunkowo

Sygnatura czasowa (w milisekundach) czasu, w którym użytkownik ostatnio wchodził w interakcję z tym elementem.

Uwaga: to pole jest wymagane, jeśli ta encja należy do klastra kontynuacyjnego.

Sygnatura czasowa epoki w milisekundach
Procent postępu Wymagane warunkowo

Odsetek całej treści wykorzystanej do tej pory przez użytkownika.

Uwaga: to pole jest wymagane, jeśli ta encja należy do klastra kontynuacyjnego.

Wartość całkowita z zakresu od 0 do 100 włącznie.
Kategorie treści Opcjonalnie Opisz kategorię treści w elemencie.

Lista wyliczeń

Wskazówki znajdziesz w sekcji Kategoria treści.

EventEntity

Atrybut Wymóg Opis Format
Identyfikator URI działania Wymagany

Precyzyjny link do encji w aplikacji dostawcy.

Uwaga: do atrybucji możesz używać precyzyjnych linków. Zapoznaj się z tymi odpowiedziami na najczęstsze pytania

Identyfikator URI
tytuł; Wymagany Nazwa elementu.

Ciąg znaków

Zalecany rozmiar tekstu: maks. 50 znaków

Godzina rozpoczęcia Wymagany

Sygnatura czasowa oczekiwanego rozpoczęcia zdarzenia.

Uwaga: wartość jest podawana w milisekundach.

Sygnatura czasowa epoki w milisekundach
Tryb zdarzenia Wymagany

Pole, w którym można określić, czy wydarzenie będzie odbywać się wirtualnie, na żywo czy w obu tych miejscach.

Enum: VIRTUALNE, IN_PERSON lub HYBRID
Obrazy plakatu Wymagany

Jeśli prześlesz wiele obrazów, wyświetlimy tylko 1 obraz. Zalecany współczynnik proporcji to 16:9

Uwaga: zdecydowanie zalecamy użycie obrazu. Jeśli plakietka jest dostępna, upewnij się, że u góry i u dołu obrazu jest bezpieczna przestrzeń o szerokości 24 dps.

Wskazówki znajdziesz w specyfikacji obrazów.
Lokalizacja – kraj Wymagane warunkowo

Kraj, w którym odbywa się wydarzenie.

Uwaga: ta opcja jest wymagana w przypadku wydarzeń, które są IN_PERSON lub HYBRID.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – miasto Wymagane warunkowo

Miasto, w którym odbywa się wydarzenie.

Uwaga: ta opcja jest wymagana w przypadku wydarzeń, które są IN_PERSON lub HYBRID.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – wyświetlany adres Wymagane warunkowo

Adres lub nazwa miejsca, w którym odbędzie się wydarzenie, która powinna być widoczna dla użytkownika.

Uwaga: ta opcja jest wymagana w przypadku wydarzeń, które są IN_PERSON lub HYBRID.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – adres Opcjonalnie Adres (jeśli dotyczy) lokalizacji, w której odbędzie się wydarzenie.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – stan Opcjonalnie Województwo (jeśli ma zastosowanie), w którym jest organizowane wydarzenie.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – kod pocztowy Opcjonalnie Kod pocztowy lokalizacji, w której jest organizowane wydarzenie (jeśli dotyczy).

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – okolica Opcjonalnie Dzielnica (jeśli dotyczy), w której odbędzie się wydarzenie.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Godzina zakończenia Opcjonalnie

Sygnatura czasowa oczekiwanego zakończenia zdarzenia.

Uwaga: wartość jest podawana w milisekundach.

Sygnatura czasowa epoki w milisekundach
Opis Opcjonalnie

Pojedynczy akapit tekstu opisujący element.

Uwaga: użytkownikowi zostanie wyświetlony opis lub lista napisów, ale nie oba te rodzaje treści.

Dowolny tekst

Zalecany rozmiar tekstu: 180 znaków

Lista napisów Opcjonalnie

Maksymalnie 3 napisy, a każdy z nich to 1 wiersz tekstu.

Uwaga: użytkownikowi zostanie wyświetlony opis lub lista napisów, ale nie oba te rodzaje treści.

Dowolny tekst

Zalecany rozmiar tekstu każdego podtytułu: maks. 50 znaków

Odznaki Opcjonalnie

Każda plakietka zawiera dowolny tekst (maks. 15 znaków) lub mały obraz.

Plakietka – tekst Opcjonalnie

Tytuł plakietki

Uwaga: na plakietkę wymagany jest tekst lub obraz.

Dowolny tekst

Zalecany rozmiar tekstu: maks. 15 znaków

Plakietka – obraz Opcjonalnie

Mały obraz

Specjalne podejście do wrażeń użytkownika, np. jako nakładka plakietki na miniaturze obrazu/filmu.

Uwaga: na plakietkę wymagany jest tekst lub obraz.

Wskazówki znajdziesz w specyfikacji obrazów.
Cena – aktualna cena Wymagane warunkowo

Aktualna cena biletu na wydarzenie.

Jeśli podano przekreśloną cenę, należy ją podać.

Dowolny tekst
Cena – przekreślona cena Opcjonalnie Pierwotna cena biletu na wydarzenie. Dowolny tekst
Objaśnienie ceny Opcjonalnie Objaśnienie dotyczące ceny, które przedstawia promocję, wydarzenie lub rabat dla subskrybentów, jeśli jest dostępny.

Dowolny tekst

Zalecany rozmiar tekstu: poniżej 45 znaków (zbyt długi tekst może zawierać wielokropki)

Kategorie treści Opcjonalnie Opisz kategorię treści w elemencie.

Lista odpowiednich wyliczeń

  • TYPE_MOVIES_AND_TV_SHOWS (np. kino)
  • TYPE_DIGITAL_GAMES (np. e-sport)
  • TYPE_MUSIC (np. koncert)
  • TYPE_TRAVEL_AND_LOCAL (np. trasa, festiwal)
  • TYPE_HEALTH_AND_FITENESS (np. zajęcia jogi)
  • TYPE_EDUCATION (np. klasa)
  • TYPE_SPORTS (np. mecz piłkarski)
  • TYPE_DATING (np. spotkanie)

Wskazówki znajdziesz w sekcji Kategoria treści.

LodgingEntity

Atrybut Wymóg Opis Format
Identyfikator URI działania Wymagany

Precyzyjny link do encji w aplikacji dostawcy.

Uwaga: do atrybucji możesz używać precyzyjnych linków. Zapoznaj się z tymi odpowiedziami na najczęstsze pytania

Identyfikator URI
tytuł; Wymagany Nazwa elementu.

Ciąg znaków

Zalecany rozmiar tekstu: maks. 50 znaków

Obrazy plakatu Wymagany

Jeśli prześlesz wiele obrazów, wyświetlimy tylko 1 obraz. Zalecany współczynnik proporcji to 16:9

Uwaga: jeśli plakietka jest dostępna, upewnij się, że u góry i u dołu obrazu jest bezpieczna przestrzeń o szerokości 24 dps.

Wskazówki znajdziesz w specyfikacji obrazów.
Lokalizacja – kraj Wymagany Kraj, w którym się odbywa zakwaterowanie.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – miasto Wymagany Miasto, w którym się odbywa zakwaterowanie.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – wyświetlany adres Wymagany Adres miejsca zakwaterowania, który będzie wyświetlany użytkownikowi.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – adres Opcjonalnie Adres (jeśli istnieje) hotelu.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – stan Opcjonalnie Województwo (jeśli ma zastosowanie), w którym znajduje się zakwaterowanie.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – kod pocztowy Opcjonalnie Kod pocztowy miejsca zakwaterowania (jeśli dotyczy).

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – okolica Opcjonalnie Sąsiedztwo (jeśli dotyczy) hotelu.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Odznaki Opcjonalnie

Każda plakietka zawiera dowolny tekst (maks. 15 znaków) lub mały obraz.

Plakietka – tekst Opcjonalnie

Tytuł plakietki

Uwaga: na plakietkę wymagany jest tekst lub obraz.

Dowolny tekst

Zalecany rozmiar tekstu: maks. 15 znaków

Plakietka – obraz Opcjonalnie

Mały obraz

Specjalne podejście do wrażeń użytkownika, np. jako nakładka plakietki na miniaturze obrazu/filmu.

Uwaga: na plakietkę wymagany jest tekst lub obraz.

Wskazówki znajdziesz w specyfikacji obrazów.
Opis Opcjonalnie

Pojedynczy akapit tekstu opisujący element.

Uwaga: użytkownikowi zostanie wyświetlony opis lub lista napisów, ale nie oba te rodzaje treści.

Dowolny tekst

Zalecany rozmiar tekstu: 180 znaków

Lista napisów Opcjonalnie

Maksymalnie 3 napisy, a każdy z nich to 1 wiersz tekstu.

Uwaga: użytkownikowi zostanie wyświetlony opis lub lista napisów, ale nie oba te rodzaje treści.

Dowolny tekst

Zalecany rozmiar tekstu każdego podtytułu: maks. 50 znaków

Okres dostępności – czas rozpoczęcia Opcjonalnie Sygnatura czasowa (w milisekundach) czasu, w którym miejsce zakwaterowania ma być otwarte/dostępne. Sygnatura czasowa epoki w milisekundach
Okres dostępności – czas zakończenia Opcjonalnie Sygnatura czasowa czasu (w milisekundach), do którego spodziewane jest otwarcie/udostępnienie miejsca zakwaterowania. Sygnatura czasowa epoki w milisekundach
Ocena – wartość maksymalna Opcjonalnie

Maksymalna wartość skali ocen.

Trzeba podać tę wartość, jeśli podano również bieżącą wartość oceny.

Liczba >= 0,0
Ocena – aktualna wartość Opcjonalnie

Bieżąca wartość skali ocen.

Trzeba go podać, jeśli podano też maksymalną wartość oceny.

Liczba >= 0,0
Ocena – liczba Opcjonalnie

Liczba ocen przyznanych danego hotelu.

Uwaga: wypełnij to pole, jeśli Twoja aplikacja chce kontrolować sposób wyświetlania informacji użytkownikom. Podaj zwięzły ciąg znaków, który może zostać wyświetlony użytkownikowi. Jeśli np. liczba to 1 000 000, rozważ użycie skrótów, np. 1 mln, aby nie obcinano go przy mniejszych ekranach.

Ciąg znaków
Ocena – liczba wartości Opcjonalnie

Liczba ocen przyznanych danego hotelu.

Uwaga: wypełnij to pole, jeśli nie chcesz samodzielnie obsługiwać logiki skrótów wyświetlanych. Jeśli podasz zarówno liczbę, jak i wartość, użyjemy funkcji Liczba do wyświetlenia użytkownikom.

Długi
Cena – aktualna cena Wymagane warunkowo

Aktualna cena pokoju.

Trzeba go podać, jeśli podano przekreśloną cenę.

Dowolny tekst
Cena – przekreślona cena Opcjonalnie Pierwotna cena pokoju, która jest przekreślona w interfejsie. Dowolny tekst
Objaśnienie ceny Opcjonalnie Objaśnienie dotyczące ceny, które przedstawia promocję, wydarzenie lub rabat dla subskrybentów, jeśli jest dostępny.

Dowolny tekst

Zalecany rozmiar tekstu: poniżej 45 znaków (zbyt długi tekst może zawierać wielokropki)

StoreEntity

Obiekt StoreEntity reprezentuje pojedynczy sklep, który partnerzy chcą opublikować, na przykład restaurację lub sklep spożywczy.

Atrybut Wymóg Opis Format
Obrazy plakatu Wymagany Musisz przesłać co najmniej 1 obraz. Wskazówki znajdziesz w specyfikacji obrazów.
Identyfikator URI działania Wymagany

Precyzyjny link do encji w aplikacji dostawcy.

Uwaga: do atrybucji możesz używać precyzyjnych linków. Zapoznaj się z tymi odpowiedziami na najczęstsze pytania

Identyfikator URI
tytuł; Opcjonalnie Nazwa sklepu.

Dowolny tekst

Zalecany rozmiar tekstu: poniżej 45 znaków (zbyt długi tekst może zawierać wielokropki)

Lokalizacja Opcjonalnie Lokalizacja sklepu.

Dowolny tekst

Zalecany rozmiar tekstu: poniżej 45 znaków (zbyt długi tekst może zawierać wielokropki)

Objaśnienie Opcjonalnie Objaśnienie zawierające informacje o promocji, wydarzeniu lub nowościach w sklepie, jeśli są dostępne.

Dowolny tekst

Zalecany rozmiar tekstu: poniżej 45 znaków (zbyt długi tekst może zawierać wielokropki)

Objaśnienie drobnym drukiem Opcjonalnie Tekst objaśnienia drobnym drukiem.

Dowolny tekst

Zalecany rozmiar tekstu: poniżej 45 znaków (zbyt długi tekst może zawierać wielokropki)

Opis Opcjonalnie Opis sklepu.

Dowolny tekst

Zalecany rozmiar tekstu: poniżej 90 znaków (zbyt długi tekst może zawierać wielokropki)

Ocena – wartość maksymalna Opcjonalnie

Maksymalna wartość skali ocen.

Trzeba podać tę wartość, jeśli podano również bieżącą wartość oceny.

Liczba >= 0,0
Ocena – aktualna wartość Opcjonalnie

Bieżąca wartość skali ocen.

Trzeba go podać, jeśli podano też maksymalną wartość oceny.

Liczba >= 0,0
Ocena – liczba Opcjonalnie

Liczba ocen przyznanych danego hotelu.

Uwaga: wypełnij to pole, jeśli Twoja aplikacja chce kontrolować sposób wyświetlania informacji użytkownikom. Podaj zwięzły ciąg znaków, który może zostać wyświetlony użytkownikowi. Jeśli np. liczba to 1 000 000, rozważ użycie skrótów, np. 1 mln, aby nie obcinano go przy mniejszych ekranach.

Ciąg znaków
Ocena – liczba wartości Opcjonalnie

Liczba ocen przyznanych danego hotelu.

Uwaga: wypełnij to pole, jeśli nie chcesz samodzielnie obsługiwać logiki skrótów wyświetlanych. Jeśli podasz zarówno liczbę, jak i wartość, użyjemy funkcji Liczba do wyświetlenia użytkownikom.

Długi

PointOfInterestEntity

Atrybut Wymóg Opis Format
Identyfikator URI działania Wymagany

Precyzyjny link do encji w aplikacji dostawcy.

Uwaga: do atrybucji możesz używać precyzyjnych linków. Zapoznaj się z tymi odpowiedziami na najczęstsze pytania

Identyfikator URI
tytuł; Wymagany Nazwa elementu.

Ciąg znaków

Zalecany rozmiar tekstu: maks. 50 znaków

Obrazy plakatu Wymagany

Jeśli prześlesz wiele obrazów, wyświetlimy tylko 1 obraz. Zalecany współczynnik proporcji to 16:9

Uwaga: zdecydowanie zalecamy użycie obrazu. Jeśli plakietka jest dostępna, upewnij się, że u góry i u dołu obrazu jest bezpieczna przestrzeń o szerokości 24 dps.

Wskazówki znajdziesz w specyfikacji obrazów.
Lokalizacja – kraj Wymagany Kraj, w którym znajduje się ważne miejsce.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – miasto Wymagany Miasto, w którym znajduje się ważne miejsce.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – wyświetlany adres Wymagany Adres ciekawego miejsca, które będzie wyświetlane użytkownikowi.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – adres Opcjonalnie Adres (jeśli dotyczy) ciekawego miejsca.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – stan Opcjonalnie Województwo (jeśli ma zastosowanie), w którym znajduje się ciekawe miejsce.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – kod pocztowy Opcjonalnie Kod pocztowy (jeśli dotyczy) ciekawego miejsca.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – okolica Opcjonalnie Dzielnica (jeśli dotyczy) danego miejsca.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Okres dostępności – czas rozpoczęcia Opcjonalnie Sygnatura czasowa (w milisekundach) czasu, w którym ważne miejsce ma być otwarte/dostępne. Sygnatura czasowa epoki w milisekundach
Okres dostępności – czas zakończenia Opcjonalnie Sygnatura czasowa czasu (w milisekundach), do której ważne miejsce ma być otwarte/dostępne. Sygnatura czasowa epoki w milisekundach
Odznaki Opcjonalnie

Każda plakietka zawiera dowolny tekst (maks. 15 znaków) lub mały obraz.

Plakietka – tekst Opcjonalnie

Tytuł plakietki

Uwaga: na plakietkę wymagany jest tekst lub obraz.

Dowolny tekst

Zalecany rozmiar tekstu: maks. 15 znaków

Plakietka – obraz Opcjonalnie

Mały obraz

Specjalne podejście do wrażeń użytkownika, np. jako nakładka plakietki na miniaturze obrazu/filmu.

Uwaga: na plakietkę wymagany jest tekst lub obraz.

Wskazówki znajdziesz w specyfikacji obrazów.
Opis Opcjonalnie

Pojedynczy akapit tekstu opisujący element.

Uwaga: użytkownikowi zostanie wyświetlony opis lub lista napisów, ale nie oba te rodzaje treści.

Dowolny tekst

Zalecany rozmiar tekstu: 180 znaków

Lista napisów Opcjonalnie

Maksymalnie 3 napisy, a każdy z nich to 1 wiersz tekstu.

Uwaga: użytkownikowi zostanie wyświetlony opis lub lista napisów, ale nie oba te rodzaje treści.

Dowolny tekst

Zalecany rozmiar tekstu każdego podtytułu: maks. 50 znaków

Ocena – wartość maksymalna Opcjonalnie

Maksymalna wartość skali ocen.

Trzeba podać tę wartość, jeśli podano również bieżącą wartość oceny.

Liczba >= 0,0
Ocena – aktualna wartość Opcjonalnie

Bieżąca wartość skali ocen.

Trzeba go podać, jeśli podano też maksymalną wartość oceny.

Liczba >= 0,0
Ocena – liczba Opcjonalnie

Liczba ocen danego miejsca.

Uwaga: wypełnij to pole, jeśli Twoja aplikacja chce kontrolować sposób wyświetlania informacji użytkownikom. Podaj zwięzły ciąg znaków, który może zostać wyświetlony użytkownikowi. Jeśli np. liczba to 1 000 000, rozważ użycie skrótów, np. 1 mln, aby nie obcinano go przy mniejszych ekranach.

Ciąg znaków
Ocena – liczba wartości Opcjonalnie

Liczba ocen danego miejsca.

Uwaga: wypełnij to pole, jeśli nie chcesz samodzielnie obsługiwać logiki skrótów wyświetlanych. Jeśli podasz zarówno liczbę, jak i wartość, użyjemy funkcji Liczba do wyświetlenia użytkownikom.

Długi
Cena – aktualna cena Wymagane warunkowo

Aktualna cena biletów wstępu do danego miejsca.

Jeśli podano przekreśloną cenę, należy ją podać.

Dowolny tekst
Cena – przekreślona cena Opcjonalnie Pierwotna cena biletów wstępu do danego miejsca. Dowolny tekst
Objaśnienie ceny Opcjonalnie Objaśnienie dotyczące ceny, które przedstawia promocję, wydarzenie lub rabat dla subskrybentów, jeśli jest dostępny.

Dowolny tekst

Zalecany rozmiar tekstu: poniżej 45 znaków (zbyt długi tekst może zawierać wielokropki)

Kategorie treści Opcjonalnie Opisz kategorię treści w elemencie.

Lista odpowiednich wyliczeń

  • TYPE_TRAVEL_AND_LOCAL
  • TYPE_MOVIES_AND_TV_SHOWS (np. kino)
  • TYPE_MEDYCZNY (np. szpital)
  • TYPE_EDUCATION (np. szkoła)
  • TYPE_SPORTS (np. stadion)

Wskazówki znajdziesz w sekcji Kategoria treści.

RestaurantReservationEntity

Atrybut Wymóg Opis Format
Identyfikator URI działania Wymagany

Precyzyjny link do encji w aplikacji dostawcy.

Uwaga: do atrybucji możesz używać precyzyjnych linków. Zapoznaj się z tymi odpowiedziami na najczęstsze pytania

Identyfikator URI
tytuł; Wymagany Nazwa elementu.

Ciąg znaków

Zalecany rozmiar tekstu: maks. 50 znaków

Godzina rozpoczęcia rezerwacji Wymagany Sygnatura czasowa (w milisekundach), w której ma się rozpocząć rezerwacja. Sygnatura czasowa epoki w milisekundach
Lokalizacja – kraj Wymagany Kraj, w którym restauracja działa.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – miasto Wymagany Miasto, w którym znajduje się restauracja.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – wyświetlany adres Wymagany Adres restauracji, który będzie wyświetlany użytkownikowi.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – adres Opcjonalnie Ulica i numer (jeśli dotyczy) restauracji.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – stan Opcjonalnie Województwo (jeśli ma zastosowanie), w którym znajduje się restauracja.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – kod pocztowy Opcjonalnie Kod pocztowy restauracji (jeśli dotyczy).

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – okolica Opcjonalnie Dzielnica (jeśli dotyczy) restauracja.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Obrazy plakatu Opcjonalnie Jeśli prześlesz wiele obrazów, wyświetlimy tylko 1 obraz. Zalecany współczynnik proporcji to 16:9 Wskazówki znajdziesz w specyfikacji obrazów.
Opis Opcjonalnie

Pojedynczy akapit tekstu opisujący element.

Uwaga: użytkownikowi zostanie wyświetlony opis lub lista napisów, ale nie oba te rodzaje treści.

Dowolny tekst

Zalecany rozmiar tekstu: 180 znaków

Lista napisów Opcjonalnie

Maksymalnie 3 napisy, a każdy z nich to 1 wiersz tekstu.

Uwaga: użytkownikowi zostanie wyświetlony opis lub lista napisów, ale nie oba te rodzaje treści.

Dowolny tekst

Zalecany rozmiar tekstu każdego podtytułu: maks. 50 znaków

Wielkość tabeli Opcjonalnie Liczba osób w grupie rezerwacji Liczba całkowita > 0

EventReservationEntity

Atrybut Wymóg Opis Format
Identyfikator URI działania Wymagany

Precyzyjny link do encji w aplikacji dostawcy.

Uwaga: do atrybucji możesz używać precyzyjnych linków. Zapoznaj się z tymi odpowiedziami na najczęstsze pytania

Identyfikator URI
tytuł; Wymagany Nazwa elementu.

Ciąg znaków

Zalecany rozmiar tekstu: maks. 50 znaków

Godzina rozpoczęcia Wymagany

Sygnatura czasowa oczekiwanego rozpoczęcia zdarzenia.

Uwaga: wartość jest podawana w milisekundach.

Sygnatura czasowa epoki w milisekundach
Tryb zdarzenia Wymagany

Pole, w którym można określić, czy wydarzenie będzie odbywać się wirtualnie, na żywo czy w obu tych miejscach.

Enum: VIRTUALNE, IN_PERSON lub HYBRID
Lokalizacja – kraj Wymagane warunkowo

Kraj, w którym odbywa się wydarzenie.

Uwaga: ta opcja jest wymagana w przypadku wydarzeń, które są IN_PERSON lub HYBRID.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – miasto Wymagane warunkowo

Miasto, w którym odbywa się wydarzenie.

Uwaga: ta opcja jest wymagana w przypadku wydarzeń, które są IN_PERSON lub HYBRID.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – wyświetlany adres Wymagane warunkowo

Adres lub nazwa miejsca, w którym odbędzie się wydarzenie, która powinna być widoczna dla użytkownika.

Uwaga: ta opcja jest wymagana w przypadku wydarzeń, które są IN_PERSON lub HYBRID.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – adres Opcjonalnie Adres (jeśli dotyczy) lokalizacji, w której odbędzie się wydarzenie.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – stan Opcjonalnie Województwo (jeśli ma zastosowanie), w którym jest organizowane wydarzenie.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – kod pocztowy Opcjonalnie Kod pocztowy lokalizacji, w której jest organizowane wydarzenie (jeśli dotyczy).

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – okolica Opcjonalnie Dzielnica (jeśli dotyczy), w której odbędzie się wydarzenie.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Obrazy plakatu Opcjonalnie

Jeśli prześlesz wiele obrazów, wyświetlimy tylko 1 obraz. Zalecany współczynnik proporcji to 16:9

Uwaga: zdecydowanie zalecamy użycie obrazu. Jeśli plakietka jest dostępna, upewnij się, że u góry i u dołu obrazu jest bezpieczna przestrzeń o szerokości 24 dps.

Wskazówki znajdziesz w specyfikacji obrazów.
Godzina zakończenia Opcjonalnie

Sygnatura czasowa oczekiwanego zakończenia zdarzenia.

Uwaga: wartość jest podawana w milisekundach.

Sygnatura czasowa epoki w milisekundach
Dostawca usług – nazwa Opcjonalnie

Nazwa dostawcy usług.

Uwaga: dostawca usług potrzebuje tekstu lub obrazu.

Dowolny tekst. Na przykład nazwa organizatora wydarzenia/wycieczki
Dostawca usług – obraz Opcjonalnie

Logo lub obraz dostawcy usług.

Uwaga: dostawca usług potrzebuje tekstu lub obrazu.

Wskazówki znajdziesz w specyfikacji obrazów.
Opis Opcjonalnie

Pojedynczy akapit tekstu opisujący element.

Uwaga: użytkownikowi zostanie wyświetlony opis lub lista napisów, ale nie oba te rodzaje treści.

Dowolny tekst

Zalecany rozmiar tekstu: 180 znaków

Lista napisów Opcjonalnie

Maksymalnie 3 napisy, a każdy z nich to 1 wiersz tekstu.

Uwaga: użytkownikowi zostanie wyświetlony opis lub lista napisów, ale nie oba te rodzaje treści.

Dowolny tekst

Zalecany rozmiar tekstu każdego podtytułu: maks. 50 znaków

Odznaki Opcjonalnie

Każda plakietka zawiera dowolny tekst (maks. 15 znaków) lub mały obraz.

Plakietka – tekst Opcjonalnie

Tytuł plakietki

Uwaga: na plakietkę wymagany jest tekst lub obraz.

Dowolny tekst

Zalecany rozmiar tekstu: maks. 15 znaków

Plakietka – obraz Opcjonalnie

Mały obraz

Specjalne podejście do wrażeń użytkownika, np. jako nakładka plakietki na miniaturze obrazu/filmu.

Uwaga: na plakietkę wymagany jest tekst lub obraz.

Wskazówki znajdziesz w specyfikacji obrazów.
Identyfikator rezerwacji Opcjonalnie Identyfikator rezerwacji wydarzenia. Dowolny tekst
Cena – aktualna cena Wymagane warunkowo

Aktualna cena biletu na wydarzenie.

Jeśli podano przekreśloną cenę, należy ją podać.

Dowolny tekst
Cena – przekreślona cena Opcjonalnie Pierwotna cena biletu na wydarzenie. Dowolny tekst
Objaśnienie ceny Opcjonalnie Objaśnienie dotyczące ceny, które przedstawia promocję, wydarzenie lub rabat dla subskrybentów, jeśli jest dostępny.

Dowolny tekst

Zalecany rozmiar tekstu: poniżej 45 znaków (zbyt długi tekst może zawierać wielokropki)

Ocena – wartość maksymalna Opcjonalnie

Maksymalna wartość skali ocen.

Trzeba podać tę wartość, jeśli podano również bieżącą wartość oceny.

Liczba >= 0,0
Ocena – aktualna wartość Opcjonalnie

Bieżąca wartość skali ocen.

Trzeba go podać, jeśli podano też maksymalną wartość oceny.

Liczba >= 0,0
Ocena – liczba Opcjonalnie

Liczba ocen zdarzenia.

Uwaga: wypełnij to pole, jeśli Twoja aplikacja chce kontrolować sposób wyświetlania informacji użytkownikom. Podaj zwięzły ciąg znaków, który może zostać wyświetlony użytkownikowi. Jeśli np. liczba to 1 000 000, rozważ użycie skrótów, np. 1 mln, aby nie obcinano go przy mniejszych ekranach.

Ciąg znaków
Ocena – liczba wartości Opcjonalnie

Liczba ocen zdarzenia.

Uwaga: wypełnij to pole, jeśli nie chcesz samodzielnie obsługiwać logiki skrótów wyświetlanych. Jeśli podasz zarówno liczbę, jak i wartość, użyjemy funkcji Liczba do wyświetlenia użytkownikom.

Długi
Kategorie treści Opcjonalnie Opisz kategorię treści w elemencie.

Lista odpowiednich wyliczeń

  • TYPE_MOVIES_AND_TV_SHOWS (np. kino)
  • TYPE_DIGITAL_GAMES (np. e-sport)
  • TYPE_MUSIC (np. koncert)
  • TYPE_TRAVEL_AND_LOCAL (np. trasa, festiwal)
  • TYPE_HEALTH_AND_FITENESS (np. zajęcia jogi)
  • TYPE_EDUCATION (np. klasa)
  • TYPE_SPORTS (np. mecz piłkarski)
  • TYPE_DATING (np. spotkanie)

Wskazówki znajdziesz w sekcji Kategoria treści.

LodgingReservationEntity

Atrybut Wymóg Opis Format
Identyfikator URI działania Wymagany

Precyzyjny link do encji w aplikacji dostawcy.

Uwaga: do atrybucji możesz używać precyzyjnych linków. Zapoznaj się z tymi odpowiedziami na najczęstsze pytania

Identyfikator URI
tytuł; Wymagany Nazwa elementu.

Dowolny tekst. Na przykład „Twój pobyt od 12 grudnia”

Zalecany rozmiar tekstu: maks. 50 znaków

Godzina zameldowania Wymagany Sygnatura czasowa (w milisekundach), która określa czas zameldowania w rezerwacji. Sygnatura czasowa epoki w milisekundach
Godzina wymeldowania Wymagany Sygnatura czasowa (w milisekundach), która określa czas wymeldowania z rezerwacji. Sygnatura czasowa epoki w milisekundach
Lokalizacja – kraj Wymagany Kraj, w którym znajduje się zakwaterowanie.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – miasto Wymagany Miasto, w którym znajduje się zakwaterowanie.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – wyświetlany adres Wymagany Adres miejsca zakwaterowania, który będzie wyświetlany użytkownikowi.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – adres Opcjonalnie Adres (jeśli istnieje) hotelu.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – stan Opcjonalnie Województwo (jeśli ma zastosowanie), w którym znajduje się zakwaterowanie.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – kod pocztowy Opcjonalnie Kod pocztowy miejsca zakwaterowania (jeśli dotyczy).

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja – okolica Opcjonalnie Sąsiedztwo (jeśli dotyczy) hotelu.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Obrazy plakatu Opcjonalnie

Jeśli prześlesz wiele obrazów, wyświetlimy tylko 1 obraz. Zalecany współczynnik proporcji to 16:9

Uwaga: jeśli plakietka jest dostępna, upewnij się, że u góry i u dołu obrazu jest bezpieczna przestrzeń o szerokości 24 dps.

Wskazówki znajdziesz w specyfikacji obrazów.
Opis Opcjonalnie

Pojedynczy akapit tekstu opisujący element.

Uwaga: użytkownikowi zostanie wyświetlony opis lub lista napisów, ale nie oba te rodzaje treści.

Dowolny tekst

Zalecany rozmiar tekstu: 180 znaków

Lista napisów Opcjonalnie

Maksymalnie 3 napisy, a każdy z nich to 1 wiersz tekstu.

Uwaga: użytkownikowi zostanie wyświetlony opis lub lista napisów, ale nie oba te rodzaje treści.

Dowolny tekst

Zalecany rozmiar tekstu każdego podtytułu: maks. 50 znaków

Identyfikator rezerwacji Opcjonalnie Identyfikator rezerwacji miejsca zakwaterowania. Dowolny tekst
Ocena – wartość maksymalna Opcjonalnie

Maksymalna wartość skali ocen.

Trzeba podać tę wartość, jeśli podano również bieżącą wartość oceny.

Liczba >= 0,0
Ocena – aktualna wartość Opcjonalnie

Bieżąca wartość skali ocen.

Trzeba go podać, jeśli podano też maksymalną wartość oceny.

Liczba >= 0,0
Ocena – liczba Opcjonalnie

Liczba ocen przyznanych danego hotelu.

Uwaga: wypełnij to pole, jeśli Twoja aplikacja chce kontrolować sposób wyświetlania informacji użytkownikom. Podaj zwięzły ciąg znaków, który może zostać wyświetlony użytkownikowi. Jeśli np. liczba to 1 000 000, rozważ użycie skrótów, np. 1 mln, aby nie obcinano go przy mniejszych ekranach.

Ciąg znaków
Ocena – liczba wartości Opcjonalnie

Liczba ocen przyznanych danego hotelu.

Uwaga: wypełnij to pole, jeśli nie chcesz samodzielnie obsługiwać logiki skrótów wyświetlanych. Jeśli podasz zarówno liczbę, jak i wartość, użyjemy funkcji Liczba do wyświetlenia użytkownikom.

Długi
Cena – aktualna cena Wymagane warunkowo

Aktualna cena pokoju.

Trzeba go podać, jeśli podano przekreśloną cenę.

Dowolny tekst
Cena – przekreślona cena Opcjonalnie Pierwotna cena pokoju, która jest przekreślona w interfejsie. Dowolny tekst
Objaśnienie ceny Opcjonalnie Objaśnienie dotyczące ceny, które przedstawia promocję, wydarzenie lub rabat dla subskrybentów, jeśli jest dostępny.

Dowolny tekst

Zalecany rozmiar tekstu: poniżej 45 znaków (zbyt długi tekst może zawierać wielokropki)

TransportationReservationEntity

Atrybut Wymóg Opis Format
Identyfikator URI działania Wymagany

Precyzyjny link do encji w aplikacji dostawcy.

Uwaga: do atrybucji możesz używać precyzyjnych linków. Zapoznaj się z tymi odpowiedziami na najczęstsze pytania

Identyfikator URI
tytuł; Wymagany Nazwa elementu.

Dowolny tekst. Na przykład: „SFO do SAN”

Zalecany rozmiar tekstu: maks. 50 znaków

Typ transportu Wymagany Środek transportu wymieniony w rezerwacji. Enum: FLIGHT, TRAIN, BUS lub FERRY
Godzina wylotu Wymagany Sygnatura czasowa (w milisekundach) epoki, która określa czas odjazdu. Sygnatura czasowa epoki w milisekundach
Godzina przyjazdu Wymagany Sygnatura czasowa (w milisekundach) epoki, która przedstawia czas przyjazdu. Sygnatura czasowa epoki w milisekundach
Lokalizacja wyjazdu – kraj Opcjonalnie Kraj wyjazdu.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja wyjazdu – miasto Opcjonalnie Miasto wyjazdu.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja wyjazdu – wyświetlany adres Opcjonalnie Lokalizacja wyjazdu, która będzie wyświetlana użytkownikowi.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja wyjazdu – adres Opcjonalnie Adres (jeśli istnieje) miejsca wylotu.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja wyjazdu – stan Opcjonalnie Stan lub prowincja (jeśli dotyczy) miejsca wylotu.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja wyjazdu – kod pocztowy Opcjonalnie Kod pocztowy miejsca wyjazdu (jeśli dotyczy).

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja wyjazdu – okolica Opcjonalnie Dzielnica (jeśli dotyczy) miejsca wylotu.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Miejsce przyjazdu – kraj Opcjonalnie Kraj przyjazdu.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Miejsce przyjazdu – miasto Opcjonalnie Miasto przybycia.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja przyjazdu – wyświetlany adres Opcjonalnie Lokalizacja przyjazdu, która będzie wyświetlana użytkownikowi.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Miejsce przyjazdu – adres Opcjonalnie Adres (jeśli istnieje) miejsca przyjazdu.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Miejsce przyjazdu – stan Opcjonalnie Stan lub prowincja (jeśli dotyczy) miejsca przyjazdu.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Miejsce przyjazdu – kod pocztowy Opcjonalnie Kod pocztowy miejsca przyjazdu (jeśli dotyczy).

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Lokalizacja przyjazdu – okolica Opcjonalnie Dzielnica (jeśli dotyczy), w której chcesz przyjechać.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Dostawca usług – nazwa Opcjonalnie

Nazwa dostawcy usług.

Uwaga: dostawca usług potrzebuje tekstu lub obrazu.

Dowolny tekst. Na przykład nazwa linii lotniczej
Dostawca usług – obraz Opcjonalnie

Logo lub obraz dostawcy usług.

Uwaga: dostawca usług potrzebuje tekstu lub obrazu.

Wskazówki znajdziesz w specyfikacji obrazów.
Obrazy plakatu Opcjonalnie

Jeśli prześlesz wiele obrazów, wyświetlimy tylko 1 obraz. Zalecany współczynnik proporcji to 16:9

Wskazówki znajdziesz w specyfikacji obrazów.
Opis Opcjonalnie

Pojedynczy akapit tekstu opisujący element.

Uwaga: użytkownikowi zostanie wyświetlony opis lub lista napisów, ale nie oba te rodzaje treści.

Dowolny tekst

Zalecany rozmiar tekstu: 180 znaków

Lista napisów Opcjonalnie

Maksymalnie 3 napisy, a każdy z nich to 1 wiersz tekstu.

Uwaga: użytkownikowi zostanie wyświetlony opis lub lista napisów, ale nie oba te rodzaje treści.

Dowolny tekst

Zalecany rozmiar tekstu każdego podtytułu: maks. 50 znaków

Identyfikator rezerwacji Opcjonalnie Identyfikator rezerwacji transportu. Dowolny tekst
Cena – aktualna cena Wymagane warunkowo

Aktualna cena rezerwacji.

Trzeba go podać, jeśli podano przekreśloną cenę.

Dowolny tekst
Cena – przekreślona cena Opcjonalnie Pierwotna cena rezerwacji, która jest przekreślona w interfejsie. Dowolny tekst
Objaśnienie ceny Opcjonalnie Objaśnienie dotyczące ceny, które przedstawia promocję, wydarzenie lub rabat dla subskrybentów, jeśli jest dostępny.

Dowolny tekst

Zalecany rozmiar tekstu: poniżej 45 znaków (zbyt długi tekst może zawierać wielokropki)

Numer transportowy Wymagane Numer lotu, numer autobusu, numer pociągu lub numer promu albo rejsu. Dowolny tekst
Wejście na pokład Wymagane Sygnatura czasowa początku epoki, która określa czas wejścia na pokład do rezerwacji (jeśli dotyczy) Sygnatura czasowa epoki w milisekundach

VehicleRentalReservationEntity

Atrybut Wymóg Opis Format
Identyfikator URI działania Wymagany

Precyzyjny link do encji w aplikacji dostawcy.

Uwaga: do atrybucji możesz używać precyzyjnych linków. Zapoznaj się z tymi odpowiedziami na najczęstsze pytania

Identyfikator URI
tytuł; Wymagany Nazwa elementu.

Dowolny tekst. Na przykład „Avis Union Square SF”

Zalecany rozmiar tekstu: maks. 50 znaków

Godzina odbioru Wymagany Sygnatura czasowa momentu, w którym odbyła się wizyta z rezerwacji. Sygnatura czasowa epoki w milisekundach
Godzina zwrotu Opcjonalnie Sygnatura czasowa momentu, w którym wymeldowano się z rezerwacji. Sygnatura czasowa epoki w milisekundach
Adres odbioru – kraj Opcjonalnie Kraj, w którym znajduje się miejsce odbioru.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Adres odbioru – miasto Opcjonalnie Miasto, w którym znajduje się miejsce odbioru.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Adres odbioru – wyświetlany adres Opcjonalnie Miejsce odbioru, które wyświetli się użytkownikowi.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Adres odbioru – ulica i numer Opcjonalnie Adres (jeśli dotyczy) miejsca odbioru.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Adres odbioru – stan Opcjonalnie Stan lub prowincja (jeśli dotyczy) miejsca odbioru.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Adres odbioru – kod pocztowy Opcjonalnie Kod pocztowy miejsca odbioru (jeśli dotyczy).

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Adres odbioru – okolica Opcjonalnie Dzielnica (jeśli dotyczy) miejsca odbioru.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Adres zwrotny – kraj Opcjonalnie Kraj zwrotu.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Adres zwrotny – miasto Opcjonalnie Miasto, z którego wrócisz.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Adres zwrotny – wyświetlany adres Opcjonalnie Lokalizacja zwrotu, która wyświetli się użytkownikowi.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Adres zwrotny – ulica i numer Opcjonalnie Adres (jeśli istnieje) miejsca zwrotu.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Adres zwrotny – stan Opcjonalnie Stan lub prowincja (jeśli dotyczy) miejsca zwrotu.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Adres zwrotny – kod pocztowy Opcjonalnie Kod pocztowy miejsca zwrotu (jeśli dotyczy).

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Adres zwrotny – dzielnica Opcjonalnie Dzielnica (jeśli dotyczy) miejsca zwrotu.

Dowolny tekst

Zalecany rozmiar tekstu: maks. ok. 20 znaków

Dostawca usług – nazwa Opcjonalnie

Nazwa dostawcy usług.

Uwaga: dostawca usług potrzebuje tekstu lub obrazu.

Dowolny tekst. Na przykład „Wynajem samochodów Avis”
Dostawca usług – obraz Opcjonalnie

Logo lub obraz dostawcy usług.

Uwaga: dostawca usług potrzebuje tekstu lub obrazu.

Wskazówki znajdziesz w specyfikacji obrazów.
Obrazy plakatu Opcjonalnie

Jeśli prześlesz wiele obrazów, wyświetlimy tylko 1 obraz. Zalecany współczynnik proporcji to 16:9

Wskazówki znajdziesz w specyfikacji obrazów.
Opis Opcjonalnie

Pojedynczy akapit tekstu opisujący element.

Uwaga: użytkownikowi zostanie wyświetlony opis lub lista napisów, ale nie oba te rodzaje treści.

Dowolny tekst

Zalecany rozmiar tekstu: 180 znaków

Lista napisów Opcjonalnie

Maksymalnie 3 napisy, a każdy z nich to 1 wiersz tekstu.

Uwaga: użytkownikowi zostanie wyświetlony opis lub lista napisów, ale nie oba te rodzaje treści.

Dowolny tekst

Zalecany rozmiar tekstu każdego podtytułu: maks. 50 znaków

Identyfikator potwierdzenia Opcjonalnie Identyfikator potwierdzenia rezerwacji wynajmu pojazdu. Dowolny tekst
Cena – aktualna cena Wymagane warunkowo

Aktualna cena rezerwacji.

Trzeba go podać, jeśli podano przekreśloną cenę.

Dowolny tekst
Cena – przekreślona cena Opcjonalnie Pierwotna cena rezerwacji, która jest przekreślona w interfejsie. Dowolny tekst
Objaśnienie ceny Opcjonalnie Objaśnienie dotyczące ceny, które przedstawia promocję, wydarzenie lub rabat dla subskrybentów, jeśli jest dostępny.

Dowolny tekst

Zalecany rozmiar tekstu: poniżej 45 znaków (zbyt długi tekst może zawierać wielokropki)

Specyfikacja obrazu

W tej tabeli znajdziesz wymagane specyfikacje komponentów z obrazem:

Format obrazu Minimalny rozmiar w pikselach Zalecany rozmiar w pikselach

Kwadrat (1 x 1)

Preferowana

300 × 300 1200x1200
Poziomy (1,91 x 1) 600x314 1200x628
Orientacja pionowa (4 x 5) 480 × 600 960x1200

Obrazy muszą być hostowane w publicznych sieciach CDN, aby umożliwić Google dostęp do nich.

Formaty plików

PNG, JPG, statyczne pliki GIF, WebP

Maksymalny rozmiar pliku

5120 KB

Dodatkowe zalecenia

  • Bezpieczny obszar obrazu: ważne treści umieść w środkowych 80% obrazu.
  • Użyj przezroczystego tła, aby obraz był poprawnie wyświetlany w ustawieniach ciemnego i jasnego motywu.

Kategoria treści

Kategoria treści umożliwia aplikacjom publikowanie treści należących do wielu kategorii. W ten sposób treści będą mapowane na niektóre ze wstępnie zdefiniowanych kategorii:

  • TYPE_EDUCATION
  • TYPE_SPORTS
  • TYPE_MOVIES_AND_TV_SHOWS
  • TYPE_BOOKS
  • TYPE_AUDIOBOOKS
  • TYPE_MUSIC
  • TYPE_DIGITAL_GAMES
  • TYPE_TRAVEL_AND_LOCAL
  • TYPE_HOME_AND_AUTO
  • TYPE_BUSINESS
  • TYPE_NEWS
  • TYPE_FOOD_AND_DRINK
  • TYPE_SHOPPING
  • TYPE_HEALTH_AND_FITENESS
  • TYPE_MEDICAL
  • TYPE_PARENTING
  • TYPE_DATING

Obrazy muszą być hostowane w publicznych sieciach CDN, aby umożliwić Google dostęp do nich.

Wskazówki dotyczące korzystania z kategorii treści

  1. Niektóre elementy, np. ArticleEntity i GeneralFeaturedEntity, mogą korzystać z dowolnej kategorii treści. W przypadku innych elementów, takich jak EventEntity, EventBookEntity i PointOfInterestEntity, kwalifikują się tylko niektóre elementy z tych kategorii. Zanim wypełnisz listę, sprawdź listę kategorii, które mogą być przypisane do danego typu encji.
  2. W przypadku niektórych kategorii treści użyj określonego typu elementu, a nie kombinacji elementów ogólnych i kategorii treści:

  3. Pole ContentCategory jest opcjonalne i powinno pozostać puste, jeśli treść nie należy do żadnej z wymienionych wcześniej kategorii.

  4. Jeśli podano kilka kategorii treści, podaj je w kolejności od najbardziej odpowiedniej do danej treści (najlepiej z nich na liście).

Krok 2. Podaj dane klastra

Zalecamy, aby zadanie publikowania treści było wykonywane w tle (np. za pomocą WorkManagera) i planowane regularnie lub na podstawie zdarzeń (np. za każdym razem, gdy użytkownik otworzy aplikację lub gdy tylko doda coś do koszyka).

Za publikowanie klastrów odpowiada AppEngagePublishClient.

Istnieją następujące interfejsy API do publikowania klastrów w kliencie:

  • isServiceAvailable
  • publishRecommendationClusters
  • publishFeaturedCluster
  • publishContinuationCluster
  • publishUserAccountManagementRequest
  • updatePublishStatus
  • deleteRecommendationsClusters
  • deleteFeaturedCluster
  • deleteContinuationCluster
  • deleteUserManagementCluster
  • deleteClusters

isServiceAvailable

Ten interfejs API służy do sprawdzania, czy usługa jest dostępna do integracji i czy treści można zaprezentować na urządzeniu.

Kotlin


client.isServiceAvailable.addOnCompleteListener { task ->
    if (task.isSuccessful) {
        // Handle IPC call success
        if(task.result) {
          // Service is available on the device, proceed with content publish
          // calls.
        } else {
          // Service is not available, no further action is needed.
        }
    } else {
      // The IPC call itself fails, proceed with error handling logic here,
      // such as retry.
    }
}

Java


client.isServiceAvailable().addOnCompleteListener(task - > {
    if (task.isSuccessful()) {
        // Handle success
        if(task.getResult()) {
          // Service is available on the device, proceed with content publish
          // calls.
        } else {
          // Service is not available, no further action is needed.
        }
    } else {
      // The IPC call itself fails, proceed with error handling logic here,
      // such as retry.
    }
});

publishRecommendationClusters

Ten interfejs API służy do publikowania listy obiektów RecommendationCluster.

Kotlin


client.publishRecommendationClusters(
      PublishRecommendationClustersRequest.Builder()
        .addRecommendationCluster(
          RecommendationCluster.Builder()
            .addEntity(entity1)
            .addEntity(entity2)
            .setTitle("Top Picks For You")
            .build()
        )
        .build()
    )

Java


client.publishRecommendationClusters(
            new PublishRecommendationClustersRequest.Builder()
                .addRecommendationCluster(
                    new RecommendationCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .setTitle("Top Picks For You")
                        .build())
                .build());

Gdy usługa otrzyma żądanie, w ramach jednej transakcji wykonywane są te działania:

  • Dotychczasowe dane aplikacji RecommendationCluster od partnera dewelopera zostaną usunięte.
  • Dane z żądania są analizowane i przechowywane w zaktualizowanym klastrze rekomendacji.

W przypadku błędu całe żądanie jest odrzucane, a istniejący stan zostaje zachowany.

publishFeaturedCluster

Ten interfejs API służy do publikowania listy obiektów FeaturedCluster.

Kotlin


client.publishFeaturedCluster(
    PublishFeaturedClusterRequest.Builder()
      .setFeaturedCluster(
        FeaturedCluster.Builder()
          .addEntity(entity1)
          .addEntity(entity2)
          .build())
      .build())

Java


client.publishFeaturedCluster(
            new PublishFeaturedClustersRequest.Builder()
                .addFeaturedCluster(
                    new FeaturedCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .build())
                .build());

Gdy usługa otrzyma żądanie, w ramach jednej transakcji wykonywane są te działania:

  • Dotychczasowe dane aplikacji FeaturedCluster od partnera dewelopera zostaną usunięte.
  • Dane z żądania są analizowane i przechowywane w zaktualizowanym klastrze Polecane.

W przypadku błędu całe żądanie jest odrzucane, a istniejący stan zostaje zachowany.

publishContinuationCluster

Ten interfejs API służy do publikowania obiektu ContinuationCluster.

Kotlin


client.publishContinuationCluster(
    PublishContinuationClusterRequest.Builder()
      .setContinuationCluster(
        ContinuationCluster.Builder()
          .addEntity(entity1)
          .addEntity(entity2)
          .build())
      .build())

Java


client.publishContinuationCluster(
            new PublishContinuationClusterRequest.Builder()
                .setContinuationCluster(
                    new ContinuationCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .build())
                .build());

Gdy usługa otrzyma żądanie, w ramach jednej transakcji wykonywane są te działania:

  • Dotychczasowe dane aplikacji ContinuationCluster od partnera dewelopera zostaną usunięte.
  • Dane z żądania są analizowane i przechowywane w zaktualizowanym klastrze kontynuacji.

W przypadku błędu całe żądanie jest odrzucane, a istniejący stan zostaje zachowany.

publishUserAccountManagementRequest

Ten interfejs API służy do publikowania karty logowania . Użytkownicy są kierowani na stronę logowania w aplikacji, na której mogą publikować treści (lub udostępniać im bardziej spersonalizowane treści).

Te metadane są częścią karty logowania –

Atrybut Wymóg Opis
Identyfikator URI działania Wymagane Precyzyjny link do działania (np. do strony logowania w aplikacji)
Obraz Opcjonalnie – jeśli nie podano tytułu, należy podać tytuł

Obraz widoczny na karcie

obrazy o współczynniku proporcji 16 x 9 i rozdzielczości 1264 x 712,

tytuł; Opcjonalnie – jeśli nie podano, należy przesłać obraz. Tytuł na karcie
Tekst działania Opcjonalnie Tekst wyświetlany w wezwaniu do działania (np. „Zaloguj się”)
Podtytuł Opcjonalnie Opcjonalne napisy na karcie

Kotlin


var SIGN_IN_CARD_ENTITY =
      SignInCardEntity.Builder()
          .addPosterImage(
              Image.Builder()
                  .setImageUri(Uri.parse("http://www.x.com/image.png"))
                  .setImageHeightInPixel(500)
                  .setImageWidthInPixel(500)
                  .build())
          .setActionText("Sign In")
          .setActionUri(Uri.parse("http://xx.com/signin"))
          .build()

client.publishUserAccountManagementRequest(
            PublishUserAccountManagementRequest.Builder()
                .setSignInCardEntity(SIGN_IN_CARD_ENTITY)
                .build());

Java


SignInCardEntity SIGN_IN_CARD_ENTITY =
      new SignInCardEntity.Builder()
          .addPosterImage(
              new Image.Builder()
                  .setImageUri(Uri.parse("http://www.x.com/image.png"))
                  .setImageHeightInPixel(500)
                  .setImageWidthInPixel(500)
                  .build())
          .setActionText("Sign In")
          .setActionUri(Uri.parse("http://xx.com/signin"))
          .build();

client.publishUserAccountManagementRequest(
            new PublishUserAccountManagementRequest.Builder()
                .setSignInCardEntity(SIGN_IN_CARD_ENTITY)
                .build());

Gdy usługa otrzyma żądanie, w ramach jednej transakcji wykonywane są te działania:

  • Dotychczasowe dane UserAccountManagementCluster od partnera dewelopera zostaną usunięte.
  • Dane z żądania są analizowane i przechowywane w zaktualizowanym klastrze UserAccountManagementCluster.

W przypadku błędu całe żądanie jest odrzucane, a istniejący stan zostaje zachowany.

updatePublishStatus

Jeśli z jakichkolwiek wewnętrznych powodów biznesowych nie zostanie opublikowany żaden z klastrów, zdecydowanie zalecamy zaktualizowanie stanu publikacji za pomocą interfejsu API updatePublishStatus. To ważne, ponieważ :

  • Podanie stanu we wszystkich scenariuszach, nawet po opublikowaniu treści (STAN == OPUBLIKOWANO), ma kluczowe znaczenie przy wypełnianiu paneli, które korzystają z tego jednoznacznego stanu do przekazywania informacji o stanie i innych wskaźnikach integracji.
  • Jeśli treści nie są opublikowane, ale stan integracji nie jest uszkodzony (STATUS == NOT_OpublikujED), Google może uniknąć aktywowania alertów w panelach stanu aplikacji. Jest to potwierdzenie, że treści nie zostały opublikowane z powodu oczekiwanej sytuacji z punktu widzenia dostawcy.
  • Dzięki temu deweloperzy mogą określić, kiedy dane są publikowane, a kiedy nie.
  • Google może używać kodów stanu, aby skłonić użytkownika do wykonania określonych działań w aplikacji, co pozwoli mu zobaczyć zawartość aplikacji lub ją przezwyciężyć.

Lista kodów stanu kwalifikującego się do publikacji :

// Content is published
AppEngagePublishStatusCode.PUBLISHED,

// Content is not published as user is not signed in
AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN,

// Content is not published as user is not subscribed
AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SUBSCRIPTION,

// Content is not published as user location is ineligible
AppEngagePublishStatusCode.NOT_PUBLISHED_INELIGIBLE_LOCATION,

// Content is not published as there is no eligible content
AppEngagePublishStatusCode.NOT_PUBLISHED_NO_ELIGIBLE_CONTENT,

// Content is not published as the feature is disabled by the client
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_FEATURE_DISABLED_BY_CLIENT,

// Content is not published as the feature due to a client error
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_CLIENT_ERROR,

// Content is not published as the feature due to a service error
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_SERVICE_ERROR,

// Content is not published due to some other reason
// Reach out to engage-developers@ before using this enum.
AppEngagePublishStatusCode.NOT_PUBLISHED_OTHER

Jeśli treści nie zostały opublikowane, ponieważ użytkownik nie jest zalogowany, zalecamy opublikowanie karty logowania. Jeśli z jakiegoś powodu dostawcy nie mogą opublikować karty logowania, zalecamy wywołanie interfejsu API updatePublishStatus z kodem stanu NOT_OpublikujED_REQUIRES_SIGN_IN.

Kotlin


client.updatePublishStatus(
   PublishStatusRequest.Builder()
     .setStatusCode(AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN)
     .build())

Java


client.updatePublishStatus(
    new PublishStatusRequest.Builder()
        .setStatusCode(AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN)
        .build());

deleteRecommendationClusters

Ten interfejs API służy do usuwania zawartości klastrów rekomendacji.

Kotlin


client.deleteRecommendationClusters()

Java


client.deleteRecommendationClusters();

Gdy usługa otrzyma żądanie, usunie istniejące dane z klastrów rekomendacji. W przypadku błędu całe żądanie jest odrzucane, a obecny stan zostaje zachowany.

deleteFeaturedCluster

Ten interfejs API służy do usuwania zawartości polecanego klastra.

Kotlin


client.deleteFeaturedCluster()

Java


client.deleteFeaturedCluster();

Po otrzymaniu żądania usługa usuwa istniejące dane z polecanego klastra. W przypadku błędu całe żądanie jest odrzucane, a obecny stan zostaje zachowany.

deleteContinuationCluster

Ten interfejs API służy do usuwania zawartości klastra kontynuacji.

Kotlin


client.deleteContinuationCluster()

Java


client.deleteContinuationCluster();

Gdy usługa otrzyma żądanie, usunie istniejące dane z klastra kontynuacji. W przypadku błędu całe żądanie jest odrzucane, a obecny stan zostaje zachowany.

deleteUserManagementCluster

Ten interfejs API służy do usuwania zawartości klastra UserAccountManagement.

Kotlin


client.deleteUserManagementCluster()

Java


client.deleteUserManagementCluster();

Po otrzymaniu żądania usługa usuwa istniejące dane z klastra UserAccountManagement. W przypadku błędu całe żądanie jest odrzucane, a bieżący stan zostaje zachowany.

deleteClusters

Ten interfejs API służy do usuwania treści określonego typu klastra.

Kotlin


client.deleteClusters(
    DeleteClustersRequest.Builder()
      .addClusterType(ClusterType.TYPE_CONTINUATION)
      .addClusterType(ClusterType.TYPE_FEATURED)
      .addClusterType(ClusterType.TYPE_RECOMMENDATION)
      .build())

Java


client.deleteClusters(
            new DeleteClustersRequest.Builder()
                .addClusterType(ClusterType.TYPE_CONTINUATION)
                .addClusterType(ClusterType.TYPE_FEATURED)
                .addClusterType(ClusterType.TYPE_RECOMMENDATION)
                .build());

Gdy usługa otrzymuje żądanie, usuwa istniejące dane ze wszystkich klastrów pasujących do określonych typów klastrów. Klienty mogą przekazywać 1 lub wiele typów klastrów. W przypadku błędu całe żądanie jest odrzucane, a obecny stan zostaje zachowany.

Obsługa błędów

Zdecydowanie zalecamy wsłuchiwanie się w wynik zadania z interfejsów API publikowania, aby można było podjąć dalsze działania w celu odzyskania udanego zadania i ponownego przesłania go.

Kotlin


client.publishRecommendationClusters(
        PublishRecommendationClustersRequest.Builder()
          .addRecommendationCluster(..)
          .build())
      .addOnCompleteListener { task ->
        if (task.isSuccessful) {
          // do something
        } else {
          val exception = task.exception
          if (exception is AppEngageException) {
            @AppEngageErrorCode val errorCode = exception.errorCode
            if (errorCode == AppEngageErrorCode.SERVICE_NOT_FOUND) {
              // do something
            }
          }
        }
      }

Java


client.publishRecommendationClusters(
              new PublishRecommendationClustersRequest.Builder()
                  .addRecommendationCluster(...)
                  .build())
          .addOnCompleteListener(
              task -> {
                if (task.isSuccessful()) {
                  // do something
                } else {
                  Exception exception = task.getException();
                  if (exception instanceof AppEngageException) {
                    @AppEngageErrorCode
                    int errorCode = ((AppEngageException) exception).getErrorCode();
                    if (errorCode == AppEngageErrorCode.SERVICE_NOT_FOUND) {
                      // do something
                    }
                  }
                }
              });

Błąd jest zwracany jako AppEngageException, a przyczyna jest podana w postaci kodu błędu.

Kod błędu Uwaga:
SERVICE_NOT_FOUND Usługa jest niedostępna na danym urządzeniu.
SERVICE_NOT_AVAILABLE Usługa jest dostępna na danym urządzeniu, ale nie jest dostępna w momencie połączenia (na przykład jest wyraźnie wyłączona).
SERVICE_CALL_EXECUTION_FAILURE Nie udało się wykonać zadania z powodu problemów z wątkiem. W takim przypadku można spróbować ponownie.
SERVICE_CALL_PERMISSION_DENIED Rozmówca nie może nawiązać połączenia z usługą.
SERVICE_CALL_INVALID_ARGUMENT Żądanie zawiera nieprawidłowe dane (na przykład więcej niż dozwolona liczba klastrów).
SERVICE_CALL_INTERNAL Po stronie usługi wystąpił błąd.
SERVICE_CALL_RESOURCE_EXHAUSTED Wywoływanie usługi jest wykonywane zbyt często.

Krok 3. Obsługuj intencje transmisji

Oprócz wykonywania wywołań interfejsu Content API w zadaniu musisz też skonfigurować BroadcastReceiver, aby odbierać żądanie opublikowania treści.

Intencje dotyczące przesyłania służą głównie do reaktywacji aplikacji i wymuszania synchronizacji danych. Intencje transmisji nie są przeznaczone do wysyłania zbyt często. Jest wywoływane tylko wtedy, gdy usługa dla Agencji stwierdzi, że treści mogą być nieaktualne (np. sprzed tygodnia). Dzięki temu zyska on większą pewność, że użytkownik będzie mógł korzystać z nowych treści, nawet jeśli aplikacja nie była uruchamiana od dłuższego czasu.

BroadcastReceiver należy skonfigurować na dwa sposoby:

  • Dynamicznie zarejestruj instancję klasy BroadcastReceiver za pomocą Context.registerReceiver(). Umożliwia to komunikację z aplikacji, które wciąż są zapisane w pamięci.

Kotlin

class AppEngageBroadcastReceiver : BroadcastReceiver(){
  // Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast
  // is received
  // Trigger featured cluster publish when PUBLISH_FEATURED broadcast is received
  // Trigger continuation cluster publish when PUBLISH_CONTINUATION broadcast is
  // received
}

fun registerBroadcastReceivers(context: Context){
  var  context = context
  context = context.applicationContext

// Register Recommendation Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_RECOMMENDATION))

// Register Featured Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_FEATURED))

// Register Continuation Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_CONTINUATION))
}

Java

class AppEngageBroadcastReceiver extends BroadcastReceiver {
// Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast
// is received

// Trigger featured cluster publish when PUBLISH_FEATURED broadcast is received

// Trigger continuation cluster publish when PUBLISH_CONTINUATION broadcast is
// received
}

public static void registerBroadcastReceivers(Context context) {

context = context.getApplicationContext();

// Register Recommendation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_RECOMMENDATION));

// Register Featured Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_FEATURED));

// Register Continuation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_CONTINUATION));

}
  • Statycznie zadeklaruj implementację za pomocą tagu <receiver> w pliku AndroidManifest.xml. Dzięki temu aplikacja może odbierać komunikaty, gdy nie jest uruchomiona, oraz publikować treści.
<application>
   <receiver
      android:name=".AppEngageBroadcastReceiver"
      android:exported="true"
      android:enabled="true">
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_RECOMMENDATION" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_FEATURED" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_CONTINUATION" />
      </intent-filter>
   </receiver>
</application>

Usługa wysyła te zamiary:

  • com.google.android.engage.action.PUBLISH_RECOMMENDATIONGdy odbierasz tę intencję, zalecamy uruchomienie wywołania publishRecommendationClusters.
  • com.google.android.engage.action.PUBLISH_FEATURED Po otrzymaniu tej intencji uruchom wywołanie publishFeaturedCluster.
  • com.google.android.engage.action.PUBLISH_CONTINUATION Po otrzymaniu tej intencji uruchom wywołanie publishContinuationCluster.

Przepływ pracy w integracji

Szczegółowy przewodnik dotyczący weryfikowania integracji po jej zakończeniu znajdziesz w artykule o procesie integracji programistycznej Google Workspace.

Najczęstsze pytania

Zapoznaj się z odpowiedziami na najczęstsze pytania dotyczące pakietu SDK dla Agencji.

Kontakt

Jeśli masz pytania dotyczące procesu integracji, wyślij e-maila na adres engagement-developers@google.com.

Dalsze kroki

Po zakończeniu integracji wykonaj te czynności:

  • Wyślij e-maila na adres Engage-developers@google.com i załącz zintegrowany pakiet APK, który jest gotowy do przetestowania przez Google.
  • Google przeprowadza weryfikację i weryfikację wewnętrzną, aby mieć pewność, że integracja działa zgodnie z oczekiwaniami. Jeśli potrzebne będą zmiany, Google skontaktuje się z Tobą, aby przekazać Ci niezbędne informacje.
  • Gdy testy zostaną ukończone i nie będą wymagane żadne zmiany, Google skontaktuje się z Tobą, aby powiadomić Cię, że możesz rozpocząć publikowanie zaktualizowanego i zintegrowanego pakietu APK w Sklepie Play.
  • Gdy Google potwierdzi, że zaktualizowany plik APK został opublikowany w Sklepie Play, klastry Rekomendacja, Polecane i Kontynuacja mogą zostać opublikowane i widoczne dla użytkowników.