Google tworzy platformę na urządzeniu, która porządkuje aplikacje użytkowników według branż i zapewnia nowe, immersyjne środowisko do przeglądania i odkrywania treści z aplikacji. Ten tryb pełnoekranowy daje partnerom deweloperom możliwość zaprezentowania swoich najlepszych treści w ramach dedykowanego kanału poza aplikacją. Ten przewodnik zawiera instrukcje dotyczące integracji treści dotyczących podróży i wydarzeń za pomocą pakietu Engage SDK, aby wypełnić tę nową powierzchnię.
Szczegóły integracji
Terminologia
Ta integracja obejmuje 3 typy klastrów: Rekomendacja, Polecane i Kontynuacja.
Rekomendacje to grupy zawierające spersonalizowane sugestie dotyczące podróży i imprez od konkretnego partnera deweloperskiego. Te rekomendacje mogą być spersonalizowane pod kątem użytkownika lub ogólne (np. dotyczące popularnych produktów). Za ich pomocą możesz prezentować artykuły, informacje o wydarzeniach, noclegi i ciekawe miejsca.
- Klastry rekomendacji mogą składać się z kart
ArticleEntity
,EventEntity
,LodgingEntity
,PointOfInterestEntity
lubStoreEntity
, ale nie z różnych typów encji.
Rekomendacje mają następującą strukturę:
Klaster rekomendacji: widok interfejsu, który zawiera grupę rekomendacji od tego samego partnera dewelopera.
Jednostka: obiekt reprezentujący pojedynczy element w klastrze. Ta integracja udostępnia niektóre typy jednostek, które będą wyświetlane za pomocą klastra rekomendacji:
ArticleEntity to rekomendacja treści tekstowych związanych z podróżami i wydarzeniami. Można go używać w artykułach, postach na blogu, treściach marketingowych, wiadomościach itp.
EventEntity: obiekt EventEntity reprezentuje zdarzenie, które ma nastąpić w przyszłości. Czas rozpoczęcia wydarzenia to kluczowa informacja, którą należy przekazać użytkownikom.
LodgingEntity: obiekt LodgingEntity oznacza zakwaterowanie, takie jak hotel, apartament, dom wakacyjny na wynajem krótko- i długoterminowy.
StoreEntity: StoreEntity reprezentuje sklep, restaurację, kawiarnię itp. Podkreśla treści, w których przypadku lokal gastronomiczny lub sklep jest kluczowym elementem informacji, który należy przekazać użytkownikom.
PointOfInterestEntity: obiekt PointOfInterestEntity reprezentuje miejsce, np. stację benzynową, miejsce wydarzenia, park rozrywki, muzeum, atrakcję turystyczną, szlak turystyczny itp. Podkreśla treści, w których przypadku lokalizacja jest istotną informacją, którą należy przekazać użytkownikom. Nie powinien on dotyczyć obiektu noclegowego, sklepu ani lokalu gastronomicznego.
- Klastry rekomendacji mogą składać się z kart
Klaster Kontynuacja zawiera treści, z którymi użytkownicy ostatnio się angażowali, pochodzące od wielu partnerów deweloperów w jednym układzie interfejsu. Każdy partner deweloper może nadawać maksymalnie 10 elementów w klastrze Kontynuacji.
Treści kontynuacji mogą mieć taką strukturę:
ArticleEntity: ArticleEntity reprezentuje rekomendację treści związanych z podróżami i wydarzeniami. Ten element może reprezentować niedokończone artykuły lub inne treści, które użytkownik chce kontynuować od miejsca, w którym je przerwał. Przykład: fragment wiadomości lub wpisu na blogu dotyczący miejsca docelowego podróży lub wydarzenia.
RestaurantRezerwacjaEntity: rezerwacja w restauracji lub kawiarni pomaga użytkownikom śledzić nadchodzące lub trwające rezerwacje w restauracji.
EventReservationEntity: EventReservationEntity reprezentuje rezerwację wydarzenia i pomaga użytkownikom śledzić nadchodzące lub trwające rezerwacje wydarzeń. Do takich wydarzeń należą m.in.:
- wydarzenia sportowe, np. rezerwacja meczu piłki nożnej.
- wydarzenia związane z grami, np. rezerwacje na mecze e-sportowe;
- wydarzenia rozrywkowe, takie jak rezerwacja biletów do kina, koncert, teatr, spotkanie autorskie;
- rezerwacje dotyczące podróży lub atrakcji turystycznych, takie jak wycieczki z przewodnikiem czy bilety do muzeum;
- Rezerwacje na spotkania towarzyskie, seminaria i konferencje
- Rezerwacje na zajęcia edukacyjne lub szkolenia
LodgingEntityRezerwacja: rezerwacja noclegów w obiektach podróżnych pomaga użytkownikom śledzić nadchodzące lub trwające rezerwacje hoteli i kwater wakacyjnych.
TransportationReservationEntity: TransportationReservationEntity reprezentuje rezerwację transportu w dowolnym trybie i pomaga użytkownikom śledzić rezerwacje dotyczące nadchodzących lub trwających lotów, przepraw, pociągów, autobusów, przejazdów taksówką lub rejsów.
VehicleRentalReservationEntity: reprezentuje rezerwację wynajmu pojazdu i pomaga użytkownikom śledzić nadchodzące lub bieżące rezerwacje wynajmu pojazdów.
Klaster Polecane prezentuje wybrane elementy pochodzące od kilku partnerów deweloperów w jednej grupie UI. Będzie jeden wyróżniony klaster, który będzie wyświetlany u góry interfejsu w priorytetowym miejscu nad wszystkimi innymi klastrami rekomendacji. Każdy partner deweloper może transmitować maksymalnie 10 elementów w klastrze Polecane.
GenericFeaturedEntity: GenericFeaturedEntity różni się od elementu Rekomendacja tym, że element Featured powinien być używany do pojedynczego najlepszego elementu treści od dewelopera i powinien reprezentować jeden najważniejszy element treści, który będzie interesujący i trafny dla użytkowników.
Przygotowanie
Minimalny poziom interfejsu API: 19
Dodaj bibliotekę com.google.android.engage:engage-core
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.5.2'
}
Podsumowanie
Projekt jest oparty na implementacji usługi powiązanej.
Dane, które klient może publikować, podlegają następującym limitom dotyczącym różnych typów klastrów:
Typ klastra | Limity klastra | Minimalne limity elementów w klastrze | Maksymalne limity elementów 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 o podmiocie
Pakiet SDK ma zdefiniowane różne jednostki reprezentujące każdy typ elementu. W przypadku kategorii Podróże i wydarzenia obsługujemy te elementy:
GenericFeaturedEntity
ArticleEntity
EventEntity
LodgingEntity
StoreEntity
PointOfInterestEntity
RestaurantReservationEntity
EventReservationEntity
LodgingReservationEntity
TransportationReservationEntity
VehicleRentalReservationEntity
W tabelach poniżej znajdziesz dostępne atrybuty i wymagania dotyczące poszczególnych typów.
GenericFeaturedEntity
Atrybut | Wymaganie | Opis | Format |
---|---|---|---|
Identyfikator URI działania | Wymagany |
Precyzyjny link do elementu w aplikacji dostawcy. Uwaga: do atrybucji możesz używać precyzyjnych linków. Zapoznaj się z odpowiedziami na najczęstsze pytania |
Identyfikator URI |
Plakat | Wymagany | Jeśli prześlesz kilka obrazów, wyświetlimy tylko jeden obraz. Zalecany format obrazu to 16:9 Uwaga: jeśli dodasz plakietkę, pamiętaj o pozostawieniu 24 dps wolnego miejsca u góry i u dołu obrazu. |
Więcej informacji znajdziesz w specyfikacji zdjęć. |
Tytuł | Opcjonalnie | Tytuł elementu. | Tekst otwarty Zalecany rozmiar tekstu: 50 znaków |
Opis | Opcjonalnie | Jeden akapit tekstu opisujący daną encję. Uwaga: użytkownik zobaczy albo opis, albo listę napisów, ale nie oba naraz. |
Tekst otwarty Zalecany rozmiar tekstu: 180 znaków |
Lista napisów | Opcjonalnie | maksymalnie 3 napisy, z których każdy może zawierać jeden wiersz tekstu. Uwaga: użytkownik zobaczy albo opis, albo listę napisów, ale nie oba naraz. |
Dowolny tekst Zalecany rozmiar tekstu dla każdego podtytułu: maks. 50 znaków |
Odznaki | Opcjonalnie | Każda plakietka może zawierać dowolny tekst (maksymalnie 15 znaków) lub mały obraz. Specjalne wrażenia użytkownika na obrazie lub filmie, np. w postaci plakietki nałożonej na obraz
|
|
Odznaka – tekst | Opcjonalnie | Tytuł plakietki Uwaga: na plakietce musi znajdować się tekst lub obraz. |
Dowolny tekst Zalecany rozmiar tekstu: maks. 15 znaków |
Plakietka – obraz | Opcjonalnie | Mały obraz specjalne wrażenia użytkownika, na przykład w postaci plakietki nałożonej na obrazie lub miniaturze filmu; Uwaga: na plakietce musi znajdować się tekst lub obraz. |
Więcej informacji znajdziesz w specyfikacji zdjęć. |
Kategorie treści | Opcjonalnie | Opisz kategorię treści w podmiocie. | Lista wartości w polu enum Więcej informacji znajdziesz w sekcji Kategoria treści. |
ArticleEntity
Atrybut | Wymaganie | Opis | Format |
---|---|---|---|
Identyfikator URI działania | Wymagany |
Precyzyjny link do elementu w aplikacji dostawcy. Uwaga: do atrybucji możesz używać precyzyjnych linków. Zapoznaj się z odpowiedziami na najczęstsze pytania |
Identyfikator URI |
Tytuł | Wymagany | Tytuł elementu. | Dowolny tekst Zalecany rozmiar tekstu: maks. 50 znaków |
Plakat | Opcjonalnie | Jeśli podasz kilka obrazów, wyświetlimy tylko 1 z nich. Zalecany format obrazu to 16:9 Uwaga: zdecydowanie zalecamy dodanie obrazu. Jeśli w ramach logo znajduje się plakietka, należy zapewnić bezpieczną odległość 24 dp od góry i dołu obrazu. |
Więcej informacji znajdziesz w specyfikacji zdjęć. |
Źródło – tytuł | Opcjonalnie | imię i nazwisko autora, organizacji lub reportera; | Tekst otwarty Zalecany rozmiar tekstu: poniżej 25 znaków |
Źródło – obraz | Opcjonalnie | obraz źródła, np. autora, organizacji, reportera; | Wskazówki znajdziesz w specyfikacjach obrazów. |
Opis | Opcjonalnie | Jeden akapit tekstu opisujący daną encję. Uwaga: użytkownik zobaczy albo opis, albo listę napisów, ale nie oba naraz. |
Tekst otwarty Zalecany rozmiar tekstu: 180 znaków |
Lista napisów | Opcjonalnie | maksymalnie 3 napisy, z których każdy może zawierać jeden wiersz tekstu. Uwaga: użytkownik zobaczy albo opis, albo listę napisów, ale nie oba naraz. |
Dowolny tekst Zalecany rozmiar tekstu dla każdego podtytułu: maks. 50 znaków |
Odznaki | Opcjonalnie | Każda plakietka może zawierać dowolny tekst (maksymalnie 15 znaków) lub mały obraz. specjalne wrażenia użytkownika na obrazie lub filmie, np. w postaci plakietki nałożonej na obraz
|
|
Odznaka – tekst | Opcjonalnie | Tytuł plakietki Uwaga: na plakietce musi znajdować się tekst lub obraz. |
Dowolny tekst Zalecany rozmiar tekstu: maks. 15 znaków |
Plakietka – obraz | Opcjonalnie | Mały obraz specjalne wrażenia użytkownika, na przykład w postaci plakietki nałożonej na obrazie lub miniaturze filmu; Uwaga: na plakietce musi znajdować się tekst lub obraz. |
Więcej informacji znajdziesz w specyfikacji zdjęć. |
Czas publikacji treści | Opcjonalnie | Jest to sygnatura czasowa epoki (w milisekundach) opublikowania lub zaktualizowania treści w aplikacji. | Sygnatura czasowa epoki w milisekundach |
Ostatni czas zaangażowania | Wymagane warunkowo | Sygnatura czasowa w epoce (w milisekundach) ostatniej interakcji użytkownika z tym elementem. Uwaga: to pole jest wymagane, jeśli ten element jest częścią klastra kontynuacji. |
Sygnatura czasowa od początku epoki w milisekundach |
Procent postępów | Wymagane warunkowo | Odsetek pełnych treści przetworzonych do tej pory przez użytkownika. Uwaga: to pole jest wymagane, jeśli ta encja jest częścią klastra kontynuacji. |
Wartość typu int z zakresu 0–100. |
Kategorie treści | Opcjonalnie | Opisz kategorię treści w podmiocie. | Lista enum Więcej informacji znajdziesz w sekcji Kategoria treści. |
EventEntity
Atrybut | Wymaganie | Opis | Format |
---|---|---|---|
Identyfikator URI działania | Wymagany |
Precyzyjny link do elementu w aplikacji dostawcy. Uwaga: do atrybucji możesz używać precyzyjnych linków. Zapoznaj się z odpowiedziami na najczęstsze pytania |
Identyfikator URI |
Tytuł | Wymagany | Tytuł elementu. | Ciąg znaków Zalecany rozmiar tekstu: maks. 50 znaków |
Godzina rozpoczęcia | Wymagany |
Sygnatura czasowa epoki, w której ma się rozpocząć zdarzenie. Uwaga: wartość ta jest podawana w milisekundach. |
Sygnatura czasowa epoki w milisekundach |
Tryb zdarzenia | Wymagany | Pole, w którym należy wskazać, czy wydarzenie będzie wirtualne, stacjonarne czy obie te formy. |
Enum: VIRTUAL, IN_PERSON lub HYBRID |
obrazy plakatu, | Wymagany | Jeśli podasz kilka obrazów, wyświetlimy tylko 1 z nich. Zalecany format obrazu to 16:9 Uwaga: zdecydowanie zalecamy dodanie obrazu. Jeśli masz plakietkę, umieść wolną przestrzeń 24 dps u góry i u dołu obrazu |
Wskazówki znajdziesz w specyfikacjach obrazów. |
Lokalizacja – kraj | Wymagane warunkowo | Kraj, w którym odbywa się wydarzenie. Uwaga: jest to wymagane w przypadku zdarzeń o typie IN_PERSON lub HYBRID. |
Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – miasto | Wymagane warunkowo | Miasto, w którym odbywa się wydarzenie. Uwaga: jest to wymagane w przypadku zdarzeń o typie IN_PERSON lub HYBRID. |
Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – wyświetlany adres | Wymagane warunkowo | Adres lub nazwa miejsca, w którym odbędzie się wydarzenie, który powinien być wyświetlany użytkownikowi. Uwaga: jest to wymagane w przypadku zdarzeń o typie IN_PERSON lub HYBRID. |
Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Lokalizacja – adres | Opcjonalnie | Adres (jeśli dotyczy) miejsca, w którym odbywa się wydarzenie. | Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – stan | Opcjonalnie | Stan lub prowincja (jeśli ma zastosowanie), w którym odbywa się wydarzenie. | Dowolny tekst Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Lokalizacja – kod pocztowy | Opcjonalnie | Kod pocztowy (jeśli występuje) miejsca, w którym odbywa się wydarzenie. | Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – okolica | Opcjonalnie | Dzielnica (jeśli dotyczy), w której odbywa się wydarzenie. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Godzina zakończenia | Opcjonalnie |
Znak czasu w epoce, w której ma się zakończyć zdarzenie. Uwaga: wartość zostanie podana w milisekundach. |
Sygnatura czasowa od początku epoki w milisekundach |
Opis | Opcjonalnie | Jeden akapit tekstu opisujący daną encję. Uwaga: użytkownik zobaczy albo opis, albo listę napisów, ale nie oba naraz. |
Tekst otwarty Zalecany rozmiar tekstu: 180 znaków |
Lista napisów | Opcjonalnie | maksymalnie 3 napisy, z których każdy może zawierać jeden wiersz tekstu. Uwaga: użytkownik zobaczy albo opis, albo listę napisów, ale nie oba naraz. |
Dowolny tekst Zalecany rozmiar tekstu dla każdego podtytułu: maks. 50 znaków |
Odznaki | Opcjonalnie |
Każda plakietka może zawierać dowolny tekst (maksymalnie 15 znaków) lub mały obraz. |
|
Odznaka – tekst | Opcjonalnie | Tytuł plakietki Uwaga: na plakietce musi znajdować się tekst lub obraz. |
Dowolny tekst Zalecany rozmiar tekstu: maks. 15 znaków |
Plakietka – obraz | Opcjonalnie | Mały obraz specjalne wrażenia użytkownika, na przykład w postaci plakietki nałożonej na obrazie lub miniaturze filmu; Uwaga: na plakietce musi znajdować się tekst lub obraz. |
Więcej informacji znajdziesz w specyfikacji zdjęć. |
Price - CurrentPrice | Wymagane warunkowo |
Aktualna cena biletu na wydarzenie. Musi być podana, jeśli podano cenę z przekreśleniem. |
Tekst otwarty |
Cena – przekreślona cena | Opcjonalnie | Pierwotna cena biletu/karnetu na wydarzenie. | Tekst otwarty |
Objaśnienie dotyczące ceny | Opcjonalnie | Podkreślenie ceny, aby poinformować o promocji, wydarzeniu lub rabacie dla członków programu lojalnościowego (jeśli są dostępne). | Tekst otwarty Zalecane rozmiary tekstu: poniżej 45 znaków (w przypadku zbyt długiego tekstu mogą być wyświetlane wielokropki) |
Kategorie treści | Opcjonalnie | Opisz kategorię treści znajdujących się w danym elemencie. | Lista odpowiednich wyliczenia
Więcej informacji znajdziesz w sekcji Kategoria treści. |
LodgingEntity
Atrybut | Wymaganie | Opis | Format |
---|---|---|---|
Identyfikator URI działania | Wymagany |
Precyzyjny link do elementu w aplikacji dostawcy. Uwaga: do atrybucji możesz używać precyzyjnych linków. Zapoznaj się z odpowiedziami na najczęstsze pytania |
Identyfikator URI |
Tytuł | Wymagany | Tytuł elementu. | Ciąg znaków Zalecany rozmiar tekstu: maks. 50 znaków |
obrazy plakatu, | Wymagany |
Jeśli prześlesz kilka obrazów, wyświetlimy tylko jeden obraz. Zalecany format obrazu to 16:9 Uwaga: jeśli dodasz plakietkę, pamiętaj o pozostawieniu 24 dps wolnego miejsca u góry i u dołu obrazu. |
Więcej informacji znajdziesz w specyfikacji zdjęć. |
Lokalizacja – kraj | Wymagany | Kraj, w którym odbywa się zakwaterowanie. | Dowolny tekst Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – miasto | Wymagany | Miasto, w którym odbywa się zakwaterowanie. | Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – wyświetlany adres | Wymagany | Adres obiektu zakwaterowania, który będzie wyświetlany użytkownikowi. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Lokalizacja – adres | Opcjonalnie | Ulica i numer (jeśli dotyczy) miejsca zamieszkania. | Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – stan | Opcjonalnie | Stan lub prowincja (jeśli ma zastosowanie), w których znajduje się obiekt zakwaterowania. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Lokalizacja – kod pocztowy | Opcjonalnie | Kod pocztowy (jeśli dotyczy) miejsca zakwaterowania. | Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – okolica | Opcjonalnie | Dzielnica (jeśli dotyczy) hotelu, | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Odznaki | Opcjonalnie |
Każda plakietka może zawierać dowolny tekst (maksymalnie 15 znaków) lub mały obraz. |
|
Odznaka – tekst | Opcjonalnie | Tytuł plakietki Uwaga: na plakietce musi znajdować się tekst lub obraz. |
Dowolny tekst Zalecany rozmiar tekstu: maks. 15 znaków |
Plakietka – obraz | Opcjonalnie | Mały obraz specjalne wrażenia użytkownika, na przykład w postaci plakietki nałożonej na obrazie lub miniaturze filmu; Uwaga: na plakietce musi znajdować się tekst lub obraz. |
Wskazówki znajdziesz w specyfikacjach obrazów. |
Opis | Opcjonalnie | Jeden akapit tekstu opisujący daną encję. Uwaga: użytkownik zobaczy albo opis, albo listę napisów, ale nie oba naraz. |
Tekst otwarty Zalecany rozmiar tekstu: 180 znaków |
Lista napisów | Opcjonalnie | maksymalnie 3 napisy, z których każdy może zawierać jeden wiersz tekstu. Uwaga: użytkownik zobaczy albo opis, albo listę napisów, ale nie oba naraz. |
Dowolny tekst Zalecane rozmiary tekstu dla każdego z napisów: maks. 50 znaków |
AvailabilityTimeWindow – czas rozpoczęcia | Opcjonalnie | Znak czasowy epoki w milisekundach, kiedy obiekt zakwaterowania ma być otwarty/dostępny. | Sygnatura czasowa od początku epoki w milisekundach |
AvailabilityTimeWindow – czas zakończenia | Opcjonalnie | Znak czasowy epoki w milisekundach, do którego obiekt zakwaterowania ma być otwarty/dostępny. | Sygnatura czasowa od początku epoki w milisekundach |
Ocena – wartość maksymalna | Opcjonalnie | Maksymalna wartość skali oceny. Musi być podana, jeśli podana jest też aktualna wartość oceny. |
Liczba >= 0,0 |
Rating - Current value | Opcjonalnie | Bieżąca wartość skali ocen. Musi być podana, jeśli podana jest też maksymalna wartość oceny. |
Liczba >= 0,0 |
Ocena – liczba | Opcjonalnie | Liczba ocen obiektu zakwaterunkowego. Uwaga: wypełnij to pole, jeśli aplikacja ma kontrolować sposób wyświetlania tego elementu użytkownikom. Podaj zwięzły ciąg znaków, który może być wyświetlany użytkownikowi. Jeśli np. liczba wynosi 1 000 000, rozważ użycie skrótu, np. 1 mln, aby nie została ona obcięta w mniejszych rozmiarach wyświetlacza. |
Ciąg znaków |
Rating - Count Value | Opcjonalnie | Liczba ocen obiektu zakwaterunkowego. Uwaga: wypełnij to pole, jeśli nie chcesz samodzielnie obsługiwać logiki wyświetlania skrótów. Jeśli występują zarówno liczba, jak i wartość liczby, wyświetlimy użytkownikom liczbę. |
Długie |
Cena – aktualna cena | Wymagane warunkowo | bieżąca cena zakwaterowania; Musi być podana, jeśli podano cenę z przekreśleniem. |
Tekst otwarty |
Cena – przekreślona cena | Opcjonalnie | Pierwotna cena zakwaterowania, która jest przekreślona w interfejsie. | Tekst otwarty |
Objaśnienie dotyczące ceny | Opcjonalnie | Podkreślenie ceny, aby poinformować o promocji, wydarzeniu lub rabacie dla członków programu lojalnościowego (jeśli są dostępne). | Tekst otwarty Zalecane rozmiary tekstu: poniżej 45 znaków (w przypadku zbyt długiego tekstu mogą być wyświetlane wielokropki) |
StoreEntity
Obiekt StoreEntity
reprezentuje pojedynczy sklep, który partnerzy deweloperzy chcą opublikować, np. restaurację lub sklep spożywczy.
Atrybut | Wymaganie | Opis | Format |
---|---|---|---|
obrazy plakatu, | Wymagany | Musisz podać co najmniej 1 obraz. | Wskazówki znajdziesz w specyfikacjach obrazów. |
Identyfikator URI działania | Wymagany |
Precyzyjny link do elementu w aplikacji dostawcy. Uwaga: do atrybucji możesz używać precyzyjnych linków. Zapoznaj się z 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. | Tekst otwarty Zalecany rozmiar tekstu: poniżej 45 znaków (zbyt długi tekst może zawierać wielokropki) |
Objaśnienie | Opcjonalnie | Ramka z informacją o promocji, wydarzeniu lub aktualizacji sklepu (jeśli jest dostępna). | Tekst otwarty Zalecane rozmiary tekstu: poniżej 45 znaków (za długi tekst może zawierać wielokropki) |
Drobny druk w ramach objaśnienia | Opcjonalnie | Drobny druk objaśnienia. | Tekst otwarty Zalecane rozmiary tekstu: poniżej 45 znaków (za długi tekst może zawierać wielokropki) |
Opis | Opcjonalnie | Opis sklepu. | Dowolny tekst Zalecana długość tekstu: poniżej 90 znaków (za długi tekst może być wyświetlany z wielokropem) |
Ocena – wartość maksymalna | Opcjonalnie | Maksymalna wartość skali oceny. Musi być podana, jeśli podana jest też aktualna wartość oceny. |
Liczba >= 0,0 |
Rating - Current value | Opcjonalnie | Bieżąca wartość skali ocen. Musi być podana, jeśli podana jest też maksymalna wartość oceny. |
Liczba >= 0,0 |
Ocena – liczba | Opcjonalnie | Liczba ocen obiektu zakwaterunkowego. Uwaga: wypełnij to pole, jeśli aplikacja ma kontrolować sposób wyświetlania tego elementu użytkownikom. Podaj zwięzły ciąg znaków, który może być wyświetlany użytkownikowi. Jeśli np. liczba wynosi 1 000 000, rozważ użycie skrótu, np. 1 mln, aby nie została ona obcięta w mniejszych rozmiarach wyświetlacza. |
Ciąg znaków |
Rating - Count Value | Opcjonalnie | Liczba ocen obiektu zakwaterunkowego. Uwaga: wypełnij to pole, jeśli nie chcesz samodzielnie obsługiwać logiki wyświetlania skrótów. Jeśli występują zarówno liczba, jak i wartość liczby, wyświetlimy użytkownikom liczbę. |
Długie |
PointOfInterestEntity
Atrybut | Wymaganie | Opis | Format |
---|---|---|---|
Identyfikator URI działania | Wymagany |
Precyzyjny link do elementu w aplikacji dostawcy. Uwaga: do atrybucji możesz używać precyzyjnych linków. Zapoznaj się z odpowiedziami na najczęstsze pytania |
Identyfikator URI |
Tytuł | Wymagany | Tytuł elementu. | Ciąg znaków Zalecany rozmiar tekstu: maks. 50 znaków |
obrazy plakatu, | Wymagany | Jeśli podasz kilka obrazów, wyświetlimy tylko 1 z nich. Zalecany format obrazu to 16:9 Uwaga: zdecydowanie zalecamy dodanie obrazu. Jeśli w ramach projektu jest przewidziana plakietka, należy zapewnić bezpieczną odległość 24 dps od góry i dołu obrazu. |
Więcej informacji znajdziesz w specyfikacji zdjęć. |
Lokalizacja – kraj | Wymagany | Kraj, w którym znajduje się punkt zainteresowania. | Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – miasto | Wymagany | Miasto, w którym znajduje się ciekawe miejsce. | Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – wyświetlany adres | Wymagany | Adres ciekawego miejsca, które będzie wyświetlane użytkownikowi. | Dowolny tekst Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Lokalizacja – adres | Opcjonalnie | Adres (jeśli dotyczy) ciekawego miejsca. | Dowolny tekst Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – stan | Opcjonalnie | Województwo, w którym znajduje się ciekawe miejsce (jeśli ma zastosowanie). | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Lokalizacja – kod pocztowy | Opcjonalnie | Kod pocztowy (jeśli występuje) ciekawego miejsca. | Dowolny tekst Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – okolica | Opcjonalnie | Okolica (jeśli występuje) ciekawego miejsca. | Dowolny tekst Zalecany rozmiar tekstu: maks. 20 znaków |
AvailabilityTimeWindow – Start Time | Opcjonalnie | Sygnatura czasowa w epoce w milisekundach, kiedy punkt zainteresowania ma być otwarty/dostępny. | Sygnatura czasowa epoki w milisekundach |
AvailabilityTimeWindow – czas zakończenia | Opcjonalnie | Sygnatura czasowa epoki w milisekundach, do której punkt zainteresowania ma być otwarty/dostępny. | Sygnatura czasowa od początku epoki w milisekundach |
Odznaki | Opcjonalnie |
Każda plakietka może zawierać dowolny tekst (maksymalnie 15 znaków) lub mały obraz. |
|
Odznaka – tekst | Opcjonalnie | Tytuł plakietki Uwaga: na plakietce musi znajdować się tekst lub obraz. |
Dowolny tekst Zalecany rozmiar tekstu: maks. 15 znaków |
Plakietka – obraz | Opcjonalnie | Mały obraz specjalne wrażenia użytkownika, na przykład w postaci plakietki nałożonej na obrazie lub miniaturze filmu; Uwaga: plakietka musi zawierać tekst lub obraz. |
Więcej informacji znajdziesz w specyfikacji zdjęć. |
Opis | Opcjonalnie | Jeden akapit tekstu opisujący daną encję. Uwaga: użytkownik zobaczy albo opis, albo listę napisów, ale nie oba naraz. |
Tekst otwarty Zalecany rozmiar tekstu: 180 znaków |
Lista napisów | Opcjonalnie | maksymalnie 3 napisy, z których każdy może zawierać jeden wiersz tekstu. Uwaga: użytkownik zobaczy albo opis, albo listę napisów, ale nie oba naraz. |
Dowolny tekst Zalecane rozmiary tekstu dla każdego z napisów: maks. 50 znaków |
Ocena – wartość maksymalna | Opcjonalnie | Maksymalna wartość skali oceny. Musi być podana, jeśli podana jest też aktualna wartość oceny. |
Liczba >= 0,0 |
Rating - Current value | Opcjonalnie | Bieżąca wartość skali ocen. Musi być podana, jeśli podana jest też maksymalna wartość oceny. |
Liczba >= 0,0 |
Ocena – liczba | Opcjonalnie | Liczba ocen ciekawego miejsca. Uwaga: wypełnij to pole, jeśli aplikacja ma kontrolować sposób wyświetlania tego elementu użytkownikom. Podaj zwięzły ciąg znaków, który będzie wyświetlany użytkownikowi. Jeśli na przykład liczba wynosi 1 000 000, możesz użyć skrótów, takich jak 1 mln, aby nie została przycięta na mniejszych ekranach. |
Ciąg znaków |
Rating - Count Value | Opcjonalnie | Liczba ocen ciekawego miejsca. Uwaga: podaj to pole, jeśli nie chcesz samodzielnie obsługiwać wyświetlanych skrótów. Jeśli występują zarówno liczba, jak i wartość liczby, wyświetlimy użytkownikom liczbę. |
Długie |
Cena – aktualna cena | Wymagane warunkowo |
Aktualna cena biletów wstępu do danego miejsca. Jeśli podano przekreśloną cenę, ta wartość jest wymagana. |
Tekst otwarty |
Cena – przekreślona cena | Opcjonalnie | Pierwotna cena biletów/kart wstępu do atrakcji. | Tekst otwarty |
Objaśnienie dotyczące ceny | Opcjonalnie | Podkreślenie ceny, aby poinformować o promocji, wydarzeniu lub rabacie dla członków programu lojalnościowego (jeśli są dostępne). |
Tekst otwarty Zalecany rozmiar tekstu: poniżej 45 znaków (zbyt długi tekst może zawierać wielokropki) |
Kategorie treści | Opcjonalnie | Opisz kategorię treści znajdujących się w danym elemencie. | Lista typów wyliczeniowych spełniających wymagania
Wskazówki znajdziesz w sekcji Kategoria treści. |
RestaurantReservationEntity
Atrybut | Wymaganie | Opis | Format |
---|---|---|---|
Identyfikator URI działania | Wymagany |
Precyzyjny link do elementu w aplikacji dostawcy. Uwaga: do atrybucji możesz używać precyzyjnych linków. Zapoznaj się z odpowiedziami na najczęstsze pytania |
Identyfikator URI |
Tytuł | Wymagany | Tytuł elementu. | Ciąg znaków Zalecany rozmiar tekstu: maks. 50 znaków |
Godzina rozpoczęcia rezerwacji | Wymagany | Sygnatura czasowa epoki w milisekundach, w której ma się rozpocząć rezerwacja. | Sygnatura czasowa epoki w milisekundach |
Lokalizacja – kraj | Wymagany | Kraj, w którym znajduje się restauracja. | Dowolny tekst Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – miasto | Wymagany | Miasto, w którym znajduje się restauracja. | Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – wyświetlany adres | Wymagany | Adres restauracji, który będzie wyświetlany użytkownikowi. | Dowolny tekst Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Lokalizacja – adres | Opcjonalnie | Adres restauracji (jeśli jest dostępny). | Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – stan | Opcjonalnie | Województwo (jeśli dotyczy), w którym znajduje się restauracja. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Lokalizacja – kod pocztowy | Opcjonalnie | Kod pocztowy (jeśli dotyczy) restauracji. | Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – okolica | Opcjonalnie | Dzielnica (jeśli dotyczy) restauracji. | Dowolny tekst Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Plakat | Opcjonalnie | Jeśli podasz kilka obrazów, wyświetlimy tylko 1 z nich. Zalecany format obrazu to 16:9 | Więcej informacji znajdziesz w specyfikacji zdjęć. |
Opis | Opcjonalnie | Jeden akapit tekstu opisujący daną encję. Uwaga: użytkownik zobaczy albo opis, albo listę napisów, ale nie oba naraz. |
Tekst otwarty Zalecany rozmiar tekstu: 180 znaków |
Lista napisów | Opcjonalnie | maksymalnie 3 napisy, z których każdy może zawierać jeden wiersz tekstu. Uwaga: użytkownik zobaczy albo opis, albo listę napisów, ale nie oba naraz. |
Dowolny tekst Zalecane rozmiary tekstu dla każdego z napisów: maks. 50 znaków |
Rozmiar tabeli | Opcjonalnie | Liczba osób w grupie rezerwacji | Liczba całkowita > 0 |
EventReservationEntity
Atrybut | Wymaganie | Opis | Format |
---|---|---|---|
Identyfikator URI działania | Wymagany |
Precyzyjny link do elementu w aplikacji dostawcy. Uwaga: na potrzeby atrybucji możesz używać precyzyjnych linków. Zapoznaj się z odpowiedziami na najczęstsze pytania |
Identyfikator URI |
Tytuł | Wymagany | Tytuł elementu. | Ciąg znaków Zalecany rozmiar tekstu: maks. 50 znaków |
Godzina rozpoczęcia | Wymagany |
Sygnatura czasowa epoki, w której ma się rozpocząć zdarzenie. Uwaga: wartość ta jest podawana w milisekundach. |
Sygnatura czasowa epoki w milisekundach |
Tryb zdarzenia | Wymagany | Pole, w którym należy wskazać, czy wydarzenie będzie wirtualne, stacjonarne czy obie te formy. |
Typ enumeracji: VIRTUAL, IN_PERSON lub HYBRID |
Lokalizacja – kraj | Wymagane warunkowo | Kraj, w którym odbywa się wydarzenie. Uwaga: jest to wymagane w przypadku zdarzeń o typie IN_PERSON lub HYBRID. |
Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – miasto | Wymagane warunkowo | Miasto, w którym odbywa się wydarzenie. Uwaga: jest to wymagane w przypadku zdarzeń o typie IN_PERSON lub HYBRID. |
Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – wyświetlany adres | Wymagane warunkowo | Adres lub nazwa miejsca, w którym odbędzie się wydarzenie, który powinien być wyświetlany użytkownikowi. Uwaga: jest to wymagane w przypadku zdarzeń o typie IN_PERSON lub HYBRID. |
Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Lokalizacja – adres | Opcjonalnie | Adres (jeśli dotyczy) miejsca, w którym odbywa się wydarzenie. | Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – stan | Opcjonalnie | Stan lub prowincja (jeśli ma zastosowanie), w którym odbywa się wydarzenie. | Dowolny tekst Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Lokalizacja – kod pocztowy | Opcjonalnie | Kod pocztowy (jeśli występuje) miejsca, w którym odbywa się wydarzenie. | Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – okolica | Opcjonalnie | Dzielnica (jeśli dotyczy), w której odbywa się wydarzenie. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Plakat | Opcjonalnie | Jeśli podasz kilka obrazów, wyświetlimy tylko 1 z nich. Zalecany format obrazu to 16:9 Uwaga: zdecydowanie zalecamy dodanie obrazu. Jeśli masz plakietkę, umieść wolną przestrzeń 24 dps u góry i u dołu obrazu |
Więcej informacji znajdziesz w specyfikacji zdjęć. |
Godzina zakończenia | Opcjonalnie |
Znak czasu w epoce, w której ma się zakończyć zdarzenie. Uwaga: wartość zostanie podana w milisekundach. |
Sygnatura czasowa od początku epoki w milisekundach |
Dostawca usług – nazwa | Opcjonalnie |
Nazwa dostawcy usług. Uwaga: dostawca usługi musi podać tekst lub obraz. |
Dowolny tekst. Na przykład nazwa organizatora wydarzenia lub nazwa wycieczki |
Dostawca usług – obraz | Opcjonalnie |
Logo/obraz dostawcy usług. Uwaga: dostawca usługi musi podać tekst lub obraz. |
Wskazówki znajdziesz w specyfikacjach obrazów. |
Opis | Opcjonalnie | Jeden akapit tekstu opisujący daną encję. Uwaga: użytkownik zobaczy albo opis, albo listę napisów, ale nie oba naraz. |
Tekst otwarty Zalecany rozmiar tekstu: 180 znaków |
Lista napisów | Opcjonalnie | maksymalnie 3 napisy, z których każdy może zawierać jeden wiersz tekstu. Uwaga: użytkownik zobaczy albo opis, albo listę napisów, ale nie oba naraz. |
Dowolny tekst Zalecany rozmiar tekstu dla każdego podtytułu: maks. 50 znaków |
Odznaki | Opcjonalnie |
Każda plakietka może zawierać dowolny tekst (maksymalnie 15 znaków) lub mały obraz. |
|
Odznaka – tekst | Opcjonalnie | Tytuł plakietki Uwaga: na plakietce musi znajdować się tekst lub obraz. |
Dowolny tekst Zalecany rozmiar tekstu: maks. 15 znaków |
Plakietka – obraz | Opcjonalnie | Mały obraz specjalne wrażenia użytkownika, na przykład w postaci plakietki nałożonej na obrazie lub miniaturze filmu; Uwaga: na plakietce musi znajdować się tekst lub obraz. |
Więcej informacji znajdziesz w specyfikacji zdjęć. |
Identyfikator rezerwacji | Opcjonalnie | Identyfikator rezerwacji wydarzenia. | Tekst otwarty |
Price - CurrentPrice | Wymagane warunkowo |
Aktualna cena biletu na wydarzenie. Musi być podana, jeśli podano cenę z przekreśleniem. |
Tekst otwarty |
Cena – przekreślona cena | Opcjonalnie | Pierwotna cena biletu/karnetu na wydarzenie. | Tekst otwarty |
Objaśnienie dotyczące ceny | Opcjonalnie | Podkreślenie ceny, aby poinformować o promocji, wydarzeniu lub rabacie dla członków programu lojalnościowego (jeśli są dostępne). | Tekst otwarty Zalecane rozmiary tekstu: poniżej 45 znaków (w przypadku zbyt długiego tekstu mogą być wyświetlane wielokropki) |
Ocena – wartość maksymalna | Opcjonalnie | Maksymalna wartość skali oceny. Musi być podana, jeśli podana jest też aktualna wartość oceny. |
Liczba >= 0,0 |
Rating - Current value | Opcjonalnie | Bieżąca wartość skali ocen. Musi być podana, jeśli podana jest też maksymalna wartość oceny. |
Liczba >= 0,0 |
Ocena – liczba | Opcjonalnie | Liczba ocen zdarzenia. Uwaga: wypełnij to pole, jeśli aplikacja ma kontrolować sposób wyświetlania tego elementu użytkownikom. Podaj zwięzły ciąg znaków, który będzie wyświetlany użytkownikowi. Jeśli np. liczba wynosi 1 000 000, rozważ użycie skrótu, np. 1 mln, aby nie została ona obcięta w mniejszych rozmiarach wyświetlacza. |
Ciąg znaków |
Rating - Count Value | Opcjonalnie | Liczba ocen zdarzenia. Uwaga: wypełnij to pole, jeśli nie chcesz samodzielnie obsługiwać logiki wyświetlania skrótów. Jeśli występują zarówno liczba, jak i wartość liczby, wyświetlimy użytkownikom liczbę. |
Długie |
Kategorie treści | Opcjonalnie | Opisz kategorię treści znajdujących się w danym elemencie. | Lista odpowiednich wyliczenia
Więcej informacji znajdziesz w sekcji Kategoria treści. |
LodgingReservationEntity
Atrybut | Wymaganie | Opis | Format |
---|---|---|---|
Identyfikator URI działania | Wymagany |
Precyzyjny link do elementu w aplikacji dostawcy. Uwaga: do atrybucji możesz używać precyzyjnych linków. Zapoznaj się z odpowiedziami na najczęstsze pytania |
Identyfikator URI |
Tytuł | Wymagany | Tytuł elementu. | Dowolny tekst. Na przykład „Twój pobyt od 12 grudnia” Zalecany rozmiar tekstu: maks. 50 znaków |
Godzina zameldowania | Wymagany | Sygnatura czasowa epoki w milisekundach, która reprezentuje czas zameldowania w rezerwacji. | Sygnatura czasowa epoki w milisekundach |
Godzina wymeldowania | Wymagany | Sygnatura czasowa epoki w milisekundach, która reprezentuje czas wymeldowania z rezerwacji. | Sygnatura czasowa od początku epoki w milisekundach |
Lokalizacja – kraj | Wymagany | Kraj, w którym znajduje się zakwaterowanie. | Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – miasto | Wymagany | Miasto, w którym znajduje się hotel. | Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – wyświetlany adres | Wymagany | Adres obiektu zakwaterowania, który będzie wyświetlany użytkownikowi. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Lokalizacja – adres | Opcjonalnie | Ulica i numer (jeśli dotyczy) miejsca zamieszkania. | Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – stan | Opcjonalnie | Stan lub prowincja (jeśli ma zastosowanie), w których znajduje się obiekt zakwaterowania. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Lokalizacja – kod pocztowy | Opcjonalnie | Kod pocztowy (jeśli dotyczy) miejsca zakwaterowania. | Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja – okolica | Opcjonalnie | Dzielnica (jeśli dotyczy) hotelu, | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Plakat | Opcjonalnie |
Jeśli podasz kilka obrazów, wyświetlimy tylko 1 z nich. Zalecany format obrazu to 16:9 Uwaga: jeśli masz plakietkę, upewnij się, że u góry i u dołu obrazu jest bezpieczna przestrzeń o wartości 24 dps |
Więcej informacji znajdziesz w specyfikacji zdjęć. |
Opis | Opcjonalnie | Jeden akapit tekstu opisujący daną encję. Uwaga: użytkownik zobaczy albo opis, albo listę napisów, ale nie oba naraz. |
Tekst otwarty Zalecany rozmiar tekstu: 180 znaków |
Lista napisów | Opcjonalnie | maksymalnie 3 napisy, z których każdy może zawierać jeden wiersz tekstu. Uwaga: użytkownik zobaczy albo opis, albo listę napisów, ale nie oba naraz. |
Dowolny tekst Zalecane rozmiary tekstu dla każdego z napisów: maks. 50 znaków |
Identyfikator rezerwacji | Opcjonalnie | Identyfikator rezerwacji miejsca zakwaterowania. | Dowolny tekst |
Ocena – wartość maksymalna | Opcjonalnie | Maksymalna wartość skali oceny. Musi być podana, jeśli podana jest też aktualna wartość oceny. |
Liczba >= 0,0 |
Rating - Current value | Opcjonalnie | Bieżąca wartość skali ocen. Musi być podana, jeśli podana jest też maksymalna wartość oceny. |
Liczba >= 0,0 |
Ocena – liczba | Opcjonalnie | Liczba ocen obiektu zakwaterunkowego. Uwaga: wypełnij to pole, jeśli aplikacja ma kontrolować sposób wyświetlania tego elementu użytkownikom. Podaj zwięzły ciąg znaków, który może być wyświetlany użytkownikowi. Jeśli np. liczba wynosi 1 000 000, rozważ użycie skrótu, np. 1 mln, aby nie została ona obcięta w mniejszych rozmiarach wyświetlacza. |
Ciąg znaków |
Rating - Count Value | Opcjonalnie | Liczba ocen obiektu zakwaterunkowego. Uwaga: wypełnij to pole, jeśli nie chcesz samodzielnie obsługiwać logiki wyświetlania skrótów. Jeśli występują zarówno liczba, jak i wartość liczby, wyświetlimy użytkownikom liczbę. |
Długie |
Cena – aktualna cena | Wymagane warunkowo | bieżąca cena zakwaterowania; Musi być podana, jeśli podano cenę z przekreśleniem. |
Tekst otwarty |
Cena – przekreślona cena | Opcjonalnie | Pierwotna cena zakwaterowania, która jest przekreślona w interfejsie. | Tekst otwarty |
Objaśnienie dotyczące ceny | Opcjonalnie | Podkreślenie ceny, aby poinformować o promocji, wydarzeniu lub rabacie dla członków programu lojalnościowego (jeśli są dostępne). | Tekst otwarty Zalecane rozmiary tekstu: poniżej 45 znaków (w przypadku zbyt długiego tekstu mogą być wyświetlane wielokropki) |
TransportationReservationEntity
Atrybut | Wymaganie | Opis | Format |
---|---|---|---|
Identyfikator URI działania | Wymagany |
Precyzyjny link do elementu w aplikacji dostawcy. Uwaga: do atrybucji możesz używać precyzyjnych linków. Zapoznaj się z odpowiedziami na najczęstsze pytania |
Identyfikator URI |
Tytuł | Wymagany | Tytuł elementu. | Dowolny tekst. Przykład: „SFO to SAN” Zalecany rozmiar tekstu: maks. 50 znaków |
Typ transportu | Wymagany | Środek lub typ transportu powiązany z rezerwacją. | Enum: FLIGHT, TRAIN, BUS lub FERRY |
Godzina wylotu | Wymagany | Sygnatura czasowa w milisekundach od początku epoki, która reprezentuje czas wyjazdu. | Sygnatura czasowa od początku epoki w milisekundach |
Godzina przyjazdu | Wymagany | Sygnatura czasowa epoki określająca czas przyjazdu (w milisekundach). | Sygnatura czasowa od początku epoki w milisekundach |
Miejsce wylotu – kraj | Opcjonalnie | Kraj wyjazdu. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Miejsce wylotu – miasto | Opcjonalnie | Miasto wylotu. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Miejsce wyjazdu – adres wyświetlania | Opcjonalnie | Lokalizacja wyjazdu, która będzie wyświetlana użytkownikowi. | Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Miejsce wylotu – adres | Opcjonalnie | Adres miejsca wyjazdu (jeśli dotyczy). | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Miejsce wylotu – stan | Opcjonalnie | Województwo (jeśli dotyczy) miejsca wyjazdu. | Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Miejsce wylotu – kod pocztowy | Opcjonalnie | Kod pocztowy (jeśli dotyczy) miejsca wylotu. | Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Lokalizacja wyjazdu – okolica | Opcjonalnie | Okolica (jeśli dotyczy) miejsca wylotu. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Miejsce docelowe – kraj | Opcjonalnie | Kraj docelowy. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Miejsce przyjazdu – miasto | Opcjonalnie | Miasto docelowe. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Miejsce docelowe – adres wyświetlany | Opcjonalnie | Lokalizacja przybycia, która będzie wyświetlana użytkownikowi. | Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Miejsce przybycia – adres | Opcjonalnie | Adres miejsca przyjazdu (jeśli jest dostępny). | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Miejsce docelowe – stan | Opcjonalnie | Województwo (jeśli dotyczy) miejsca przyjazdu. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Miejsce przyjazdu – kod pocztowy | Opcjonalnie | Kod pocztowy (jeśli dotyczy) miejsca docelowego. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Lokalizacja przyjazdu – okolica | Opcjonalnie | Okolica (jeśli dotyczy) miejsca docelowego. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Dostawca usług – nazwa | Opcjonalnie |
Nazwa dostawcy usług. Uwaga: dostawca usługi musi podać tekst lub obraz. |
tekst swobodny, Na przykład nazwa linii lotniczej |
Dostawca usług – obraz | Opcjonalnie |
Logo/obraz dostawcy usług. Uwaga: dostawca usługi musi podać tekst lub obraz. |
Więcej informacji znajdziesz w specyfikacji zdjęć. |
obrazy plakatu, | Opcjonalnie |
Jeśli podasz kilka obrazów, wyświetlimy tylko 1 z nich. Zalecany format obrazu to 16:9 |
Więcej informacji znajdziesz w specyfikacji zdjęć. |
Opis | Opcjonalnie | Jeden akapit tekstu opisujący daną encję. Uwaga: użytkownik zobaczy albo opis, albo listę napisów, ale nie oba naraz. |
Tekst otwarty Zalecany rozmiar tekstu: 180 znaków |
Lista napisów | Opcjonalnie | maksymalnie 3 napisy, z których każdy może zawierać jeden wiersz tekstu. Uwaga: użytkownik zobaczy albo opis, albo listę napisów, ale nie oba naraz. |
Dowolny tekst Zalecane rozmiary tekstu dla każdego z napisów: maks. 50 znaków |
Identyfikator rezerwacji | Opcjonalnie | Identyfikator rezerwacji transportu. | Tekst otwarty |
Price - CurrentPrice | Wymagane warunkowo | Obecna cena rezerwacji. Musi być podana, jeśli podano cenę z przekreśleniem. |
Tekst otwarty |
Cena – przekreślona cena | Opcjonalnie | Pierwotna cena rezerwacji, która jest przekreślona w interfejsie użytkownika. | Dowolny tekst |
Objaśnienie dotyczące ceny | Opcjonalnie | Podkreślenie ceny, aby poinformować o promocji, wydarzeniu lub rabacie dla członków programu lojalnościowego (jeśli są dostępne). | Tekst otwarty Zalecane rozmiary tekstu: poniżej 45 znaków (w przypadku zbyt długiego tekstu mogą być wyświetlane wielokropki) |
Numer transportowy | Wymagane | Numer lotu, numer autobusu, numer pociągu lub numer promu/statku wycieczkowego. | Tekst otwarty |
Wejście na pokład | Wymagane | sygnatura czasowa epoki, która reprezentuje czas wsiadania (jeśli dotyczy); | Sygnatura czasowa od początku epoki w milisekundach |
VehicleRentalReservationEntity
Atrybut | Wymaganie | Opis | Format |
---|---|---|---|
Identyfikator URI działania | Wymagany |
Precyzyjny link do elementu w aplikacji dostawcy. Uwaga: do atrybucji możesz używać precyzyjnych linków. Zapoznaj się z odpowiedziami na najczęstsze pytania |
Identyfikator URI |
Tytuł | Wymagany | Tytuł elementu. | tekst swobodny, Na przykład „Avis Union Square SF” Zalecany rozmiar tekstu: maks. 50 znaków |
Czas odbioru | Wymagany | Sygnatura czasowa epoki, która reprezentuje czas odbioru rezerwacji. | Sygnatura czasowa od początku epoki w milisekundach |
Czas powrotu | Opcjonalnie | Sygnatura czasowa epoki, która reprezentuje czas wymeldowania z rezerwacji. | Sygnatura czasowa epoki w milisekundach |
Adres odbioru – kraj | Opcjonalnie | Kraj miejsca odbioru. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Adres odbioru – miasto | Opcjonalnie | Miasto, w którym znajduje się miejsce odbioru. | Dowolny tekst Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Adres odbioru – wyświetlany adres | Opcjonalnie | Miejsce odbioru, które będzie wyświetlane użytkownikowi. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Adres odbioru – ulica | Opcjonalnie | Adres (jeśli dotyczy) miejsca odbioru. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Adres odbioru – stan | Opcjonalnie | Województwo (jeśli występuje) miejsca odbioru. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Adres odbioru – kod pocztowy | Opcjonalnie | Kod pocztowy (jeśli dotyczy) miejsca odbioru. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Adres odbioru – dzielnica | Opcjonalnie | Okolica (jeśli dotyczy) miejsca odbioru. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Adres zwrotny – kraj | Opcjonalnie | Kraj zwrotu. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Adres zwrotny – miasto | Opcjonalnie | Miasto, w którym znajduje się miejsce zwrotu. | Tekst otwarty Zalecany rozmiar tekstu: maks. 20 znaków |
Adres zwrotny – adres wyświetlany | Opcjonalnie | Miejsce zwrotu, które będzie wyświetlane użytkownikowi. | Dowolny tekst Zalecany rozmiar tekstu: maks. 20 znaków |
Adres zwrotny – adres ulicy | Opcjonalnie | Adres (jeśli dotyczy) miejsca zwrotu. | Dowolny tekst Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Adres zwrotny – stan | Opcjonalnie | Stan lub prowincja (jeśli ma zastosowanie) miejsca zwrotu. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Adres zwrotny – kod pocztowy | Opcjonalnie | Kod pocztowy (jeśli dotyczy) miejsca zwrotu. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Adres zwrotny – okolica | Opcjonalnie | Okolica (jeśli dotyczy) miejsca zwrotu. | Tekst otwarty Zalecany rozmiar tekstu: maksymalnie 20 znaków |
Dostawca usług – nazwa | Opcjonalnie |
Nazwa dostawcy usług. Uwaga: dostawca usługi musi podać tekst lub obraz. |
tekst swobodny, Na przykład „Avis Car Rental” |
Dostawca usług – obraz | Opcjonalnie |
Logo/obraz dostawcy usług. Uwaga: dostawca usługi musi podać tekst lub obraz. |
Wskazówki znajdziesz w specyfikacjach obrazów. |
obrazy plakatu, | Opcjonalnie |
Jeśli podasz kilka obrazów, wyświetlimy tylko 1 z nich. Zalecany format obrazu to 16:9 |
Więcej informacji znajdziesz w specyfikacji zdjęć. |
Opis | Opcjonalnie | Jeden akapit tekstu opisujący daną encję. Uwaga: użytkownik zobaczy albo opis, albo listę napisów, ale nie oba naraz. |
Tekst otwarty Zalecany rozmiar tekstu: 180 znaków |
Lista napisów | Opcjonalnie | maksymalnie 3 napisy, z których każdy może zawierać jeden wiersz tekstu. Uwaga: użytkownik zobaczy albo opis, albo listę napisów, ale nie oba naraz. |
Dowolny tekst Zalecane rozmiary tekstu dla każdego z napisów: maks. 50 znaków |
Identyfikator potwierdzenia | Opcjonalnie | Identyfikator potwierdzenia rezerwacji wynajmu pojazdu. | Tekst otwarty |
Price - CurrentPrice | Wymagane warunkowo | Obecna cena rezerwacji. Musi być podana, jeśli podano cenę z przekreśleniem. |
Tekst otwarty |
Cena – przekreślona cena | Opcjonalnie | Pierwotna cena rezerwacji, która jest przekreślona w interfejsie użytkownika. | Dowolny tekst |
Objaśnienie dotyczące ceny | Opcjonalnie | Podkreślenie ceny, aby poinformować o promocji, wydarzeniu lub rabacie dla członków programu lojalnościowego (jeśli są dostępne). | Tekst otwarty Zalecany rozmiar tekstu: poniżej 45 znaków (zbyt długi tekst może zawierać wielokropki) |
Specyfikacja obrazu
Wymagania dotyczące komponentów z obrazem:
Format obrazu | Minimalna liczba pikseli | Zalecany rozmiar w pikselach |
---|---|---|
Kwadrat (1 x 1) Preferowana |
300 x 300 | 1200 x 1200 |
Prostokąt w orientacji poziomej (1,91 x 1) | 600 x 314 | 1200 x 628 |
Orientacja pionowa (4 x 5) | 480 x 600 | 960 x 1200 |
Obrazy muszą być hostowane w publicznych sieciach CDN, aby Google mogło do nich uzyskać dostęp.
Formaty plików
PNG, JPG, statyczny GIF, WebP
Maksymalny rozmiar pliku
5120 KB
Dodatkowe rekomendacje
- Bezpieczny obszar obrazu: ważne treści umieść w środkowych 80% obrazu.
- Użyj przezroczystego tła, by obraz wyświetlał się prawidłowo w ustawieniach ciemnego i jasnego motywu.
Kategoria treści
Kategoria treści umożliwia publikowanie treści należących do wielu kategorii. Dzięki temu treści są przypisywane do niektórych wstępnie zdefiniowanych kategorii, takich jak:
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 Google mogło do nich uzyskać dostęp.
Wskazówki dotyczące korzystania z kategorii treści
- Niektóre typy jednostek, np. ArticleEntity i GenericFeaturedEntity, mogą być używane w dowolnej kategorii treści. W przypadku innych elementów, takich jak EventEntity, EventReservationEntity czy PointOfInterestEntity, kwalifikuje się tylko podzbiór tych kategorii. Przed wypełnieniem listy sprawdź listę kategorii dostępnych dla danego typu elementu.
W przypadku niektórych kategorii treści używaj określonego typu elementu zamiast kombinacji elementów ogólnych i kategorii treści:
- TYPE_MOVIES_AND_TV_SHOWS – przed użyciem elementów ogólnych zapoznaj się z elementami z przewodnika po integracji z Watch.
- TYPE_BOOKS – przed użyciem elementów ogólnych zapoznaj się z elementem EbookEntity.
- TYPE_AUDIOBOOKS – przed użyciem elementów ogólnych sprawdź element AudiobookEntity.
- TYPE_SHOPPING – zapoznaj się z obiektem ShoppingEntity, zanim użyjesz jednostek ogólnych.
- TYPE_FOOD_AND_DRINK – przed użyciem elementów ogólnych zapoznaj się z elementami z przewodnika po integracji z jedzeniem.
Pole ContentCategory jest opcjonalne i powinno być puste, jeśli treść nie należy do żadnej z wymienionych wcześniej kategorii.
Jeśli podajesz kilka kategorii treści, podaj je w kolejności od najbardziej do najmniej trafnych. Najtrafniejszą kategorię treści umieść na początku listy.
Krok 2. Podaj dane klastra
Zaleca się, aby zadanie publikowania treści było wykonywane w tle (np. za pomocą narzędzia WorkManager) i zaplanowane w regularnych odstępach czasu lub w określonych zdarzeniach (na przykład za każdym razem, gdy użytkownik otworzy aplikację lub gdy użytkownik właśnie dodał coś do koszyka).
Za publikowanie klastrów odpowiada AppEngagePublishClient
.
Dostępne są 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 można wyświetlić treści 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 wykona te działania:
- Istniejące dane
RecommendationCluster
od partnera dewelopera zostaną usunięte. - Dane z zapytania są analizowane i przechowywane w zaktualizowanym klastrze rekomendacji.
W przypadku błędu żądanie w całości jest odrzucane, a obecny 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 wykona te działania:
- Istniejące dane
FeaturedCluster
od partnera dewelopera zostaną usunięte. - Dane z zapytania są analizowane i przechowywane w zaktualizowanym zbiorze polecanych.
W przypadku błędu cała prośba jest odrzucana, a obecny stan jest 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 wykona te działania:
- Istniejące dane
ContinuationCluster
od partnera dewelopera zostaną usunięte. - Dane z zapytania są analizowane i przechowywane w zaktualizowanym klastrze kontynuacji.
W przypadku błędu cała prośba jest odrzucana, a obecny stan jest zachowany.
publishUserAccountManagementRequest
Ten interfejs API służy do publikowania karty logowania. Działanie logowania kieruje użytkowników na stronę logowania w aplikacji, aby aplikacja mogła publikować treści (lub udostępniać bardziej spersonalizowane treści).
Te metadane są częścią karty logowania:
Atrybut | Wymaganie | Opis |
---|---|---|
Identyfikator URI działania | Wymagane | Precyzyjny link do aplikacji Action (np. przekierowuje na stronę logowania do aplikacji) |
Obraz | Opcjonalnie – jeśli nie podano tytułu, należy podać tytuł |
Obraz na karcie Obrazy o współczynniku proporcji 16 x 9 i rozdzielczości 1264 x 712 |
Tytuł | Opcjonalnie – jeśli nie zostanie podany, należy podać obraz | Tytuł na karcie |
Tekst wezwania do działania | Opcjonalnie | Tekst wezwania do działania (np. Zaloguj się) |
Podtytuł | Opcjonalnie | Opcjonalny tekst 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 wykona te działania:
- Dotychczasowe dane
UserAccountManagementCluster
pochodzące od partnera dewelopera zostaną usunięte. - Dane z żądania są analizowane i przechowywane w zaktualizowanym klastrze UserAccountManagementCluster.
W przypadku błędu żądanie w całości jest odrzucane, a obecny stan zostaje zachowany.
updatePublishStatus
Jeśli z jakiegokolwiek wewnętrznego powodu biznesowego żaden z tych klastrów nie został opublikowany, zdecydowanie zalecamy zaktualizowanie stanu publikacji za pomocą interfejsu updatePublishStatus API. Jest to ważne, ponieważ:
- Podanie stanu we wszystkich scenariuszach, nawet po opublikowaniu treści (STATUS == PUBLISHED), ma kluczowe znaczenie przy wypełnianiu paneli, które używają tego stanu wprost do przekazywania danych o stanie i innych wskaźnikach związanych z integracją.
- Jeśli nie ma opublikowanych treści, ale integracja nie jest uszkodzona (STATUS = NOT_PUBLISHED), Google może nie uruchamiać alertów na panelach danych dotyczących zdrowia w aplikacji. Potwierdza, że treści nie są publikowane z powodu oczekiwanej sytuacji z punktu widzenia dostawcy.
- Pomaga on deweloperom określić, kiedy dane są publikowane, a kiedy nie.
- Google może używać kodów stanu, aby zachęcić użytkownika do wykonania określonych działań w aplikacji, dzięki którym będzie on mógł zobaczyć jej zawartość lub je pokonać.
Lista kodów stanu publikacji, które kwalifikują się do opublikowania:
// 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 są publikowane, ponieważ użytkownik nie jest zalogowany, Google zaleca opublikowanie karty logowania. Jeśli z jakiegokolwiek powodu dostawcy nie mogą opublikować karty logowania, zalecamy wywołanie interfejsu updatePublishStatus z kodem stanu NOT_PUBLISHED_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 treści z grup rekomendacji.
Kotlin
client.deleteRecommendationClusters()
Java
client.deleteRecommendationClusters();
Gdy usługa otrzyma prośbę, usunie istniejące dane z klastrów rekomendacji. W przypadku błędu całe żądanie zostaje odrzucone, a obecny stan zostaje zachowany.
deleteFeaturedCluster
Ten interfejs API służy do usuwania zawartości polecanego klastra.
Kotlin
client.deleteFeaturedCluster()
Java
client.deleteFeaturedCluster();
Gdy usługa otrzyma żądanie, usunie istniejące dane z klastra wyróżnionego. W przypadku błędu cała prośba jest odrzucana, a istniejący stan jest 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ła prośba jest odrzucana, a istniejący stan jest zachowany.
deleteUserManagementCluster
Ten interfejs API służy do usuwania treści z klastra UserAccountManagement.
Kotlin
client.deleteUserManagementCluster()
Java
client.deleteUserManagementCluster();
Gdy usługa otrzyma żądanie, usuwa istniejące dane z klastra UserAccountManagement. W przypadku błędu cała prośba jest odrzucana, a obecny stan jest zachowany.
deleteClusters
Ten interfejs API służy do usuwania treści danego 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 otrzyma żądanie, usunie istniejące dane ze wszystkich klastrów pasujących do określonych typów klastrów. Klienty mogą przesyłać 1 lub wiele typów klastrów. W przypadku błędu cała prośba jest odrzucana, a istniejący stan jest zachowany.
Obsługa błędów
Zdecydowanie zalecamy odsłuchanie wyniku zadania z interfejsów API do publikowania, aby móc podjąć dalsze działania w celu odzyskania i ponowniego przesłania zadania, które zostało wykonane prawidłowo.
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 jego przyczyna jest podana w postaci kodu błędu.
Kod błędu | Nazwa błędu | Uwaga: |
---|---|---|
1 |
SERVICE_NOT_FOUND |
Usługa jest niedostępna na danym urządzeniu. |
2 |
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). |
3 |
SERVICE_CALL_EXECUTION_FAILURE |
Nie udało się wykonać zadania z powodu problemów z wątkami. W takim przypadku można spróbować jeszcze raz. |
4 |
SERVICE_CALL_PERMISSION_DENIED |
Rozmówca nie ma uprawnień do zgłoszenia. |
5 |
SERVICE_CALL_INVALID_ARGUMENT |
Żądanie zawiera nieprawidłowe dane (np. więcej niż dozwoloną liczbę klastrów). |
6 |
SERVICE_CALL_INTERNAL |
Po stronie usługi wystąpił błąd. |
7 |
SERVICE_CALL_RESOURCE_EXHAUSTED |
Dzwonienie do zespołu pomocy jest wykonywane zbyt często. |
Krok 3. Obsługa intencji przesyłania
Oprócz wywoływania interfejsu Content API za pomocą zadania musisz też skonfigurować BroadcastReceiver
, aby odbierać prośby o publikowanie treści.
Intencje przesyłania strumieniowego służą głównie do ponownego aktywowania aplikacji i wymuszania synchronizacji danych. Intencje dotyczące transmisji nie są przeznaczone do wysyłania bardzo często. Jest ona wywoływana tylko wtedy, gdy usługa Engage stwierdzi, że treści mogą być nieaktualne (np. mają tydzień). Dzięki temu użytkownik ma pewność, że będzie mieć dostęp do aktualnych treści, nawet jeśli aplikacja nie była uruchamiana przez długi czas.
Element BroadcastReceiver
musi być skonfigurowany w jednym z tych 2 sposobów:
- Dynamicznie zarejestruj instancję klasy
BroadcastReceiver
za pomocą funkcjiContext.registerReceiver()
. Umożliwia to komunikację z aplikacji, które są nadal aktywne 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)); }
- Zadeklaruj statycznie implementację za pomocą tagu
<receiver>
w plikuAndroidManifest.xml
. Dzięki temu aplikacja może odbierać intencje przesyłania, gdy nie jest uruchomiona, a także 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 intencje:
com.google.android.engage.action.PUBLISH_RECOMMENDATION
Gdy otrzymasz ten zamiar, zalecamy rozpoczęcie rozmowypublishRecommendationClusters
.com.google.android.engage.action.PUBLISH_FEATURED
Po otrzymaniu tej intencji zalecamy uruchomienie wywołaniapublishFeaturedCluster
.com.google.android.engage.action.PUBLISH_CONTINUATION
Po otrzymaniu tej intencji zalecamy uruchomienie wywołaniapublishContinuationCluster
.
Proces integracji
Szczegółowy przewodnik dotyczący weryfikacji integracji po jej zakończeniu znajdziesz w artykule Procedura integracji Engage z aplikacją dewelopera.
Najczęstsze pytania
Odpowiedzi na najczęstsze pytania znajdziesz w odpowiedziach na najczęstsze pytania o pakiet SDK dla Agencji.
Kontakt
Jeśli masz pytania dotyczące procesu integracji, wyślij e-maila na adres engage-developers@google.com.
Dalsze kroki
Po zakończeniu tej 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 sprawdza integrację wewnętrznie, aby upewnić się, że działa ona zgodnie z oczekiwaniami. Jeśli będą potrzebne zmiany, Google skontaktuje się z Tobą, podając niezbędne informacje.
- Gdy testy zostaną zakończone i nie trzeba będzie wprowadzać żadnych zmian, skontaktujemy się z Tobą, aby poinformować, ż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, Twoje klastry Rekomendacja, Polecane i Kontynuacja mogą zostać opublikowane i staną się widoczne dla użytkowników.