Engage SDK – Andere Branchen: Anleitung zur technischen Integration von Drittanbietern

Google entwickelt eine On-Device-Oberfläche, die die Apps der Nutzer nach Branchen sortiert und ein neues immersives Erlebnis für personalisierte App-Inhalte ermöglicht. Diese Vollbildfunktion bietet Entwicklerpartnern die Möglichkeit, ihre besten Rich-Content-Inhalte in einem eigenen Kanal außerhalb ihrer App zu präsentieren.

Dieses Dokument enthält Anleitungen für Entwicklerpartner zur Integration neuer Inhalte wie Reservierungen, Veranstaltungen, Unterkünfte, Orte von Interesse, Personen und andere Inhalte, die möglicherweise nicht zu einer dieser Kategorien gehören und mithilfe des Engage SDK in diesen neuen Bereich aufgenommen werden.

Integrationsdetail

Terminologie

Diese Integration umfasst die folgenden drei Clustertypen: Empfehlung, Empfohlen und Fortsetzung.

  • Empfehlungscluster zeigen personalisierte Vorschläge eines einzelnen Entwicklerpartners. Es ist eine UI-Ansicht, die eine Gruppe von Empfehlungen desselben Entwicklerpartners enthält.

    • ArticleEntity: ArticleEntity, die eine textbasierte Empfehlung für Inhalte darstellt, die für mehrere Inhaltskategorien relevant sind. Mit einem ArticleEntity-Element können Entwickler eine Vielzahl von Text- und Bildinhalten mit mehr Metadaten bereitstellen, um den Nutzern im Vergleich zu GenericFeaturedEntity Informationen zu vermitteln. Beispiel: Marketinginhalte, News-Snippet

      Abbildung 1:Benutzeroberfläche mit einer einzelnen ArticleEntity im Empfehlungscluster.
    • EventEntity: EventEntity steht für ein Ereignis in der Zukunft. Der Beginn des Ereignisses ist eine wichtige Information, die den Nutzern vermittelt werden muss.

      Abbildung 2:Benutzeroberfläche mit einer einzelnen EventEntity im Empfehlungscluster.
    • LodgingEntity: LodgingEntity repräsentiert eine Unterkunft, z. B. ein Hotel, ein Apartment oder ein Ferienhaus zur kurz- und langfristigen Miete.

      Abbildung 3:Benutzeroberfläche mit einer einzelnen Hotelentität im Empfehlungscluster.
    • StoreEntity: StoreEntity repräsentiert ein Geschäft, Restaurant, Café usw. Sie hebt Inhalte hervor, bei denen ein Speiselokal oder Geschäft die entscheidende Information ist, die den Nutzern vermittelt werden muss.

      Abbildung 4:Benutzeroberfläche mit einer einzelnen StoreEntity im Empfehlungscluster.
    • PointOfInterestEntity: PointOfInterestEntity (PointOfInterestEntity) stellt einen POI wie eine Tankstelle, einen Veranstaltungsort, einen Themenpark, ein Museum, eine Touristenattraktion oder einen Wanderweg dar. Er hebt Inhalte hervor, bei denen der Standort eine wichtige Information ist, die an die Nutzer weitergegeben werden muss. Es sollte nicht für die Unterkunft, ein Geschäft oder einen Speisebereich verwendet werden.

      Abbildung 5:Benutzeroberfläche mit einem einzelnen PointOfInterestEntity im Empfehlungscluster.
    • PersonEntity: PersonEntity repräsentiert eine Person. Die Empfehlungen könnten sein, eine Person in Kategorien wie Gesundheit und Fitness, Sport, Dating usw. hervorzuheben.

      Abbildung 5:Benutzeroberfläche mit einer einzelnen PersonEntity im Empfehlungscluster.
  • Der Cluster Continuation zeigt Inhalte, die kürzlich von Nutzern mehrerer Entwicklerpartner in einer einzigen UI-Gruppierung interagiert haben. Jeder Entwicklerpartner darf maximal 10 Entitäten im Continuation-Cluster senden.

    Deine Fortsetzungsinhalte können die folgende Struktur haben:

    • ArticleEntity: ArticleEntity, die eine textbasierte Empfehlung für Inhalte darstellt, die für mehr als eine Inhaltskategorie relevant sind. Diese Entität kann für noch nicht abgeschlossene Nachrichtenartikel oder andere Inhalte verwendet werden, die der Nutzer dort weiterlesen möchte, wo er sie zuletzt gelesen hat. Beispiel: Marketinginhalte, Nachrichten-Snippet

      Abbildung 6: Benutzeroberfläche mit einer einzelnen ArticleEntity innerhalb eines Continuation-Clusters.
    • RestaurantReservationEntity: "RestaurantReservationEntity" stellt eine Reservierung für ein Restaurant oder Café dar und hilft Nutzern, anstehende oder laufende Restaurantreservierungen zu verfolgen.

      Abbildung 7: Benutzeroberfläche mit einer einzelnen RestaurantReservationEntity innerhalb eines Continuation-Clusters
    • EventReservationEntity: EventReservationEntity stellt eine Reservierung für ein Ereignis dar und hilft Nutzern, anstehende oder laufende Veranstaltungsreservierungen zu verfolgen. Beispiele für Ereignisse sind:

      • Sportereignisse wie die Reservierung eines Fußballspiels
      • Gaming-Events wie Reservierungen für eSports
      • Unterhaltungsveranstaltungen wie Kinoreservierung, Konzerte, Theater, Signierstunden
      • Reservierungen für Reisen oder POIs wie Führungen, Museumstickets
      • Reservierungen für Veranstaltungen / Seminare / Konferenzen
      • Reservierungen für Bildungs-/Schulungssitzungen
      Abbildung 8. Benutzeroberfläche mit einer einzelnen EventReservationEntity innerhalb eines Continuation-Clusters.
    • LodgingReservationEntity: LodgingEntityReservation stellt eine Reservierung für eine Reiseunterkunft dar und hilft Nutzern, anstehende oder laufende Hotel- oder Ferienunterkünfte im Blick zu behalten.

      Abbildung 9. Benutzeroberfläche mit einer einzelnen HotelReservationEntity innerhalb eines Continuation-Clusters.
    • TransportationReservationEntity: "TransportationReservationEntity" stellt eine Reservierung für den Transport in einem beliebigen Verkehrsmittel dar und hilft Nutzern, Reservierungen für anstehende oder laufende Flüge, Fähren, Züge, Busse, Fahrten oder Fahrten nachzuverfolgen.

      Abbildung 10. Benutzeroberfläche mit einer einzelnen TransportationReservationEntity in einem Continuation-Cluster.
    • VehicleRentalReservationEntity: Die VehicleRentalReservationEntity stellt eine Mietwagenreservierung dar und hilft Nutzern, anstehende oder laufende Mietwagenreservierungen nachzuverfolgen.

      Abbildung 11. Benutzeroberfläche mit einer einzelnen VehicleRentalReservationEntity in einem Continuation-Cluster
  • Der Cluster Empfohlen ist eine UI-Ansicht, in der der Hero GenericFeaturedEntity von vielen Entwicklerpartnern in einer UI-Gruppierung angezeigt wird. Es gibt einen einzelnen hervorgehobenen Cluster, der oben auf der Benutzeroberfläche angezeigt wird und Priorität über allen Empfehlungsclustern hat. Jeder Entwicklerpartner darf eine einzelne Entität eines unterstützten Typs unter „Featured“ mit vielen Entitäten (möglicherweise unterschiedlicher Typen) von mehreren App-Entwicklern im Cluster „Featured“ übertragen.

    • GenericFeaturedEntity: Die GenericFeaturedEntity unterscheidet sich vom Empfehlungselement insofern, als das hervorgehobene Element nur für einen einzelnen Top-Inhalt von Entwicklern verwendet wird und den wichtigsten Inhalt darstellt, der für Nutzer interessant und relevant ist.

      Abbildung 12: Benutzeroberfläche mit einer einzelnen Hero-Karte (GenericFeaturedEntity) in einem hervorgehobenen Cluster

Vorbereitung

Mindest-API-Level: 19

Füge deiner App die com.google.android.play:engage-Bibliothek hinzu:

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'
}

Zusammenfassung

Das Design basiert auf der Implementierung eines gebundenen Dienstes.

Die Daten, die ein Client veröffentlichen kann, unterliegen den folgenden Limits für verschiedene Clustertypen:

Clustertyp Cluster limits Minimale Entitätslimits in einem Cluster Maximale Entitätslimits in einem Cluster
Empfehlungscluster Höchstens 5 Mindestens 5 Höchstens 25 (ArticleEntity, EventEntity, LodgingEntity, StoreEntity, PointOfInterestEntity oder PersonEntity)
Fortsetzungs-Cluster Höchstens 1 Mindestens 1 Höchstens 10 (ArticleEntity, EventReservationEntity, LodgingReservationEntity, TransportationReservationEntity oder VehicleRentalReservationEntity)
Hervorgehobener Cluster Höchstens 1 Mindestens 1 Höchstens 10 (GenericFeaturedEntity)

Schritt 1: Entitätsdaten angeben

Im SDK wurden verschiedene Entitäten definiert, die die einzelnen Artikeltypen darstellen. Für die Kategorie „Andere“ werden die folgenden Entitäten unterstützt:

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

In den folgenden Tabellen sind die verfügbaren Attribute und Anforderungen für die einzelnen Typen aufgeführt.

GenericFeaturedEntity

Attribut Anforderungen Beschreibung Formatieren
Aktions-URI Erforderlich

Sie erstellen einen Deeplink zur Entität in der Anbieter-App.

Hinweis: Sie können Deeplinks für die Attribution verwenden. Weitere Informationen finden Sie in diesen FAQs.

URI
Posterbilder Erforderlich

Wenn mehrere Bilder zur Verfügung stehen, wird nur ein Bild angezeigt. Das empfohlene Seitenverhältnis ist 16:9.

Hinweis: Wenn ein Logo bereitgestellt wird, muss oben und unten im Bild ein Mindestabstand von 24 dps angegeben werden.

Siehe Bildspezifikationen für eine Orientierungshilfe.
Titel Optional Titel des Rechtssubjekts.

Freier Text

Empfohlene Textgröße: 50 Zeichen

Beschreibung Optional

Ein einzelner Absatz mit Text zur Beschreibung der Entität.

Hinweis: Den Nutzern wird entweder eine Beschreibung oder eine Untertitelliste angezeigt, nicht beides.

Freier Text

Empfohlene Textgröße: 180 Zeichen

Untertitelliste Optional

Bis zu drei Untertitel mit jeweils einer Textzeile.

Hinweis: Den Nutzern wird entweder eine Beschreibung oder eine Untertitelliste angezeigt, nicht beides.

Freier Text

Empfohlene Textgröße für jeden Untertitel: max. 50 Zeichen

Badges Optional

Jedes Badge besteht entweder aus freiem Text (max. 15 Zeichen) oder aus einem kleinen Bild.

Besondere UX-Designs über dem Bild/Video, z.B. als Badge-Overlay auf dem Bild

  • z. B. „Live-Update“
  • z. B. Lesedauer für Artikel

Badge – Text Optional

Titel des Logos

Hinweis: Für das Logo ist entweder Text oder ein Bild erforderlich.

Freier Text

Empfohlene Textgröße: max. 15 Zeichen

Logo – Bild Optional

Kleines Bild

Besondere UX-Einrichtung, z.B. als Badge-Overlay auf dem Bild-/Video-Thumbnail.

Hinweis: Für das Logo ist entweder Text oder ein Bild erforderlich.

Siehe Bildspezifikationen für eine Orientierungshilfe.
Inhaltskategorien Optional Beschreiben Sie die Kategorie des Inhalts in der Entität.

Liste der Enums

Eine Anleitung findest du im Abschnitt „Inhaltskategorie“.

ArticleEntity

Attribut Anforderungen Beschreibung Formatieren
Aktions-URI Erforderlich

Sie erstellen einen Deeplink zur Entität in der Anbieter-App.

Hinweis: Sie können Deeplinks für die Attribution verwenden. Weitere Informationen finden Sie in diesen FAQs.

URI
Titel Erforderlich Titel des Rechtssubjekts.

Freier Text

Empfohlene Textgröße: max. 50 Zeichen

Posterbilder Optional

Wenn mehrere Bilder zur Verfügung stehen, wird nur ein Bild angezeigt. Das empfohlene Seitenverhältnis ist 16:9.

Hinweis:Bilder werden dringend empfohlen. Wenn ein Logo bereitgestellt wird, muss oben und unten im Bild ein Mindestabstand von 24 dps eingehalten werden.

Siehe Bildspezifikationen für eine Orientierungshilfe.
Quelle – Titel Optional Name des Autors, der Organisation oder des Melders

Freier Text

Empfohlene Textgröße: unter 25 Zeichen

Quelle – Bild Optional Bild der Quelle wie Autor, Organisation oder Reporter Siehe Bildspezifikationen für eine Orientierungshilfe.
Beschreibung Optional

Ein einzelner Absatz mit Text zur Beschreibung der Entität.

Hinweis: Den Nutzern wird entweder eine Beschreibung oder eine Untertitelliste angezeigt, nicht beides.

Freier Text

Empfohlene Textgröße: 180 Zeichen

Untertitelliste Optional

Bis zu drei Untertitel mit jeweils einer Textzeile.

Hinweis: Den Nutzern wird entweder eine Beschreibung oder eine Untertitelliste angezeigt, nicht beides.

Freier Text

Empfohlene Textgröße für jeden Untertitel: max. 50 Zeichen

Badges Optional

Jedes Badge besteht entweder aus freiem Text (max. 15 Zeichen) oder aus einem kleinen Bild.

Besondere UX-Designs über dem Bild/Video, z.B. als Badge-Overlay auf dem Bild

  • z. B. „Live-Update“
  • z. B. Lesedauer für Artikel

Badge – Text Optional

Titel des Logos

Hinweis: Für das Logo ist entweder Text oder ein Bild erforderlich.

Freier Text

Empfohlene Textgröße: max. 15 Zeichen

Logo – Bild Optional

Kleines Bild

Besondere UX-Einrichtung, z.B. als Badge-Overlay auf dem Bild-/Video-Thumbnail.

Hinweis: Für das Logo ist entweder Text oder ein Bild erforderlich.

Siehe Bildspezifikationen für eine Orientierungshilfe.
Veröffentlichungszeit des Inhalts Optional Dies ist der Epochenzeitstempel in Millisekunden für den Zeitpunkt, an dem der Inhalt in der App veröffentlicht / aktualisiert wurde. Epochenzeitstempel in Millisekunden
Letzte Interaktionsdauer Bedingt erforderlich

Der Epochenzeitstempel in Millisekunden, als der Nutzer das letzte Mal mit dieser Entität interagiert hat.

Hinweis: Dieses Feld ist erforderlich, wenn diese Entität Teil des Fortsetzungsclusters ist.

Epochenzeitstempel in Millisekunden
Fortschritt (%) Bedingt erforderlich

Der Prozentsatz des gesamten Inhalts, der bislang vom Nutzer angesehen wurde.

Hinweis: Dieses Feld ist erforderlich, wenn diese Entität Teil des Fortsetzungsclusters ist.

Ein Ganzzahlwert zwischen 0 und 100 (jeweils einschließlich).
Inhaltskategorien Optional Beschreiben Sie die Kategorie des Inhalts in der Entität.

Liste der Enums

Eine Anleitung findest du im Abschnitt „Inhaltskategorie“.

EventEntity

Attribut Anforderungen Beschreibung Formatieren
Aktions-URI Erforderlich

Sie erstellen einen Deeplink zur Entität in der Anbieter-App.

Hinweis: Sie können Deeplinks für die Attribution verwenden. Weitere Informationen finden Sie in diesen FAQs.

URI
Titel Erforderlich Titel des Rechtssubjekts.

String

Empfohlene Textgröße: max. 50 Zeichen

Beginn Erforderlich

Der Epochenzeitstempel, an dem das Ereignis voraussichtlich beginnen wird.

Hinweis: Dieser Wert wird in Millisekunden angegeben.

Epochenzeitstempel in Millisekunden
Ereignismodus Erforderlich

Ein Feld, mit dem angegeben wird, ob die Veranstaltung virtuell, persönlich oder beides sein soll.

Enum: VIRTUAL, IN_PERSON oder HYBRID
Posterbilder Erforderlich

Wenn mehrere Bilder zur Verfügung stehen, wird nur ein Bild angezeigt. Das empfohlene Seitenverhältnis ist 16:9.

Hinweis:Bilder werden dringend empfohlen. Wenn ein Logo bereitgestellt wird, muss oben und unten im Bild ein Mindestabstand von 24 dps eingehalten werden.

Siehe Bildspezifikationen für eine Orientierungshilfe.
Standort – Land Bedingt erforderlich

Das Land, in dem das Ereignis stattfindet.

Hinweis:Dies ist für Ereignisse erforderlich, die IN_PERSON oder HYBRID sind.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Stadt Bedingt erforderlich

Die Stadt, in der das Ereignis stattfindet.

Hinweis:Dies ist für Ereignisse erforderlich, die IN_PERSON oder HYBRID sind.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – angezeigte Adresse Bedingt erforderlich

Die Adresse oder der Veranstaltungsort, an dem die Veranstaltung stattfindet, der dem Nutzer angezeigt werden soll.

Hinweis:Dies ist für Ereignisse erforderlich, die IN_PERSON oder HYBRID sind.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Adresse Optional Die Adresse des Orts, an dem die Veranstaltung stattfindet (falls zutreffend).

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Bundesland Optional Der Bundesstaat oder die Provinz (falls zutreffend), in der die Veranstaltung stattfindet.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Postleitzahl Optional Die Postleitzahl des Ortes, an dem die Veranstaltung stattfindet (falls zutreffend).

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Stadtteil Optional Der Stadtteil (falls zutreffend), in dem die Veranstaltung stattfindet.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Ende Optional

Der Epochenzeitstempel, zu dem das Ereignis voraussichtlich enden wird.

Hinweis: Dieser Wert wird in Millisekunden angegeben.

Epochenzeitstempel in Millisekunden
Beschreibung Optional

Ein einzelner Absatz mit Text zur Beschreibung der Entität.

Hinweis: Den Nutzern wird entweder eine Beschreibung oder eine Untertitelliste angezeigt, nicht beides.

Freier Text

Empfohlene Textgröße: 180 Zeichen

Untertitelliste Optional

Bis zu drei Untertitel mit jeweils einer Textzeile.

Hinweis: Den Nutzern wird entweder eine Beschreibung oder eine Untertitelliste angezeigt, nicht beides.

Freier Text

Empfohlene Textgröße für jeden Untertitel: max. 50 Zeichen

Badges Optional

Jedes Badge besteht entweder aus freiem Text (max. 15 Zeichen) oder aus einem kleinen Bild.

Badge – Text Optional

Titel des Logos

Hinweis: Für das Logo ist entweder Text oder ein Bild erforderlich.

Freier Text

Empfohlene Textgröße: max. 15 Zeichen

Logo – Bild Optional

Kleines Bild

Besondere UX-Einrichtung, z.B. als Badge-Overlay auf dem Bild-/Video-Thumbnail.

Hinweis: Für das Logo ist entweder Text oder ein Bild erforderlich.

Siehe Bildspezifikationen für eine Orientierungshilfe.
Preis – CurrentPrice Bedingt erforderlich

Der aktuelle Preis des Tickets/der Tickets für die Veranstaltung.

Muss angegeben werden, wenn ein durchgestrichener Preis angegeben ist.

Freier Text
Preis – durchgestrichener Preis Optional Der ursprüngliche Preis des Tickets/der Tickets für die Veranstaltung. Freier Text
Zusatzinformationen zu Preis Optional Zusatzinformationen zu Preisen für Werbeaktionen, Veranstaltungen oder Mitgliederrabatte (falls verfügbar).

Freier Text

Empfohlene Textgröße: unter 45 Zeichen (Ein zu langer Text enthält möglicherweise Auslassungspunkte)

Inhaltskategorien Optional Beschreiben Sie die Kategorie des Inhalts in der Entität.

Liste der zulässigen Aufzählungen

  • TYPE_MovieS_AND_TV_SHOWS (z.B. Kino)
  • TYPE_DIGITAL_GAMES (z.B. E-Sport)
  • TYPE_MUSIC (z.B. Konzert)
  • TYPE_TRAVEL_AND_LOCAL (z.B. Tour, Festival)
  • TYPE_HEALTH_AND_FITENESS (z.B. Yoga-Kurs)
  • TYPE_EDUCATION (z.B. Klasse)
  • TYPE_SPORTS (z.B. Fußballspiel)
  • TYPE_DATING (z.B. Treffen)

Eine Anleitung findest du im Abschnitt „Inhaltskategorie“.

LodgingEntity

Attribut Anforderungen Beschreibung Formatieren
Aktions-URI Erforderlich

Sie erstellen einen Deeplink zur Entität in der Anbieter-App.

Hinweis: Sie können Deeplinks für die Attribution verwenden. Weitere Informationen finden Sie in diesen FAQs.

URI
Titel Erforderlich Titel des Rechtssubjekts.

String

Empfohlene Textgröße: max. 50 Zeichen

Posterbilder Erforderlich

Wenn mehrere Bilder zur Verfügung stehen, wird nur ein Bild angezeigt. Das empfohlene Seitenverhältnis ist 16:9

Hinweis: Wenn ein Logo bereitgestellt wird, muss oben und unten im Bild ein Mindestabstand von 24 dps angegeben werden.

Siehe Bildspezifikationen für eine Orientierungshilfe.
Standort – Land Erforderlich Das Land, in dem die Unterkunft gebucht wird.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Stadt Erforderlich Die Stadt, in der sich die Unterkunft befindet.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – angezeigte Adresse Erforderlich Die Adresse der Unterkunft, die dem Nutzer angezeigt wird.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Adresse Optional Die Adresse der Unterkunft (falls zutreffend).

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Bundesland Optional Der Bundesstaat oder die Provinz (falls zutreffend), in der sich die Unterkunft befindet.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Postleitzahl Optional Die Postleitzahl der Unterkunft (falls zutreffend).

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Stadtteil Optional Der Stadtteil (falls zutreffend) der Unterkunft.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Badges Optional

Jedes Badge besteht entweder aus freiem Text (max. 15 Zeichen) oder aus einem kleinen Bild.

Badge – Text Optional

Titel des Logos

Hinweis: Für das Logo ist entweder Text oder ein Bild erforderlich.

Freier Text

Empfohlene Textgröße: max. 15 Zeichen

Logo – Bild Optional

Kleines Bild

Besondere UX-Einrichtung, z.B. als Badge-Overlay auf dem Bild-/Video-Thumbnail.

Hinweis: Für das Logo ist entweder Text oder ein Bild erforderlich.

Siehe Bildspezifikationen für eine Orientierungshilfe.
Beschreibung Optional

Ein einzelner Absatz mit Text zur Beschreibung der Entität.

Hinweis: Den Nutzern wird entweder eine Beschreibung oder eine Untertitelliste angezeigt, nicht beides.

Freier Text

Empfohlene Textgröße: 180 Zeichen

Untertitelliste Optional

Bis zu drei Untertitel mit jeweils einer Textzeile.

Hinweis: Den Nutzern wird entweder eine Beschreibung oder eine Untertitelliste angezeigt, nicht beides.

Freier Text

Empfohlene Textgröße für jeden Untertitel: max. 50 Zeichen

AvailabilityWindow – Startzeit Optional Der Epochenzeitstempel in Millisekunden für den Zeitraum, in dem die Unterkunft voraussichtlich geöffnet/verfügbar ist. Epochenzeitstempel in Millisekunden
AvailabilityWindow - Ende Optional Der Epochenzeitstempel in Millisekunden, bis zu dem die Unterkunft voraussichtlich geöffnet/verfügbar ist. Epochenzeitstempel in Millisekunden
Bewertung – Maximalwert Optional

Der Maximalwert der Bewertungsskala.

Muss angegeben werden, wenn auch der aktuelle Wert für die Bewertung angegeben ist.

Zahl >= 0,0
Bewertung – aktueller Wert Optional

Der aktuelle Wert der Bewertungsskala.

Muss angegeben werden, wenn auch der Höchstwert für die Bewertung angegeben ist.

Zahl >= 0,0
Bewertung – Anzahl Optional

Die Anzahl der Bewertungen für die Unterkunft.

Hinweis:Geben Sie dieses Feld an, wenn Ihre App steuern möchte, wie dies den Nutzern angezeigt wird. Geben Sie den kurzen String an, der dem Nutzer angezeigt werden soll. Wenn die Anzahl beispielsweise 1.000.000 beträgt, sollten Sie Abkürzungen wie 1 Million verwenden, damit die Zahl bei kleineren Bildschirmen nicht abgeschnitten wird.

String
Bewertung – Zählwert Optional

Die Anzahl der Bewertungen für die Unterkunft.

Hinweis: Geben Sie dieses Feld an, wenn Sie die Logik für die Anzeigeabkürzung nicht selbst verwenden möchten. Wenn sowohl „Count“ als auch „Count Value“ vorhanden sind, wird die Anzahl zur Anzeige für Nutzer verwendet.

Lang
Preis – CurrentPrice Bedingt erforderlich

Der aktuelle Preis der Unterkunft.

Muss angegeben werden, wenn ein durchgestrichener Preis angegeben ist.

Freier Text
Preis – durchgestrichener Preis Optional Der ursprüngliche Preis der Unterkunft, der in der UI durchgestrichen wird. Freier Text
Zusatzinformationen zu Preis Optional Zusatzinformationen zu Preisen für Werbeaktionen, Veranstaltungen oder Mitgliederrabatte (falls verfügbar).

Freier Text

Empfohlene Textgröße: unter 45 Zeichen (Ein zu langer Text enthält möglicherweise Auslassungspunkte)

StoreEntity

Das StoreEntity-Objekt steht für ein einzelnes Geschäft, das Entwicklerpartner veröffentlichen möchten, z. B. ein Restaurant oder ein Lebensmittelgeschäft.

Attribut Anforderungen Beschreibung Formatieren
Posterbilder Erforderlich Mindestens ein Bild muss angegeben werden. Siehe Bildspezifikationen für eine Orientierungshilfe.
Aktions-URI Erforderlich

Sie erstellen einen Deeplink zur Entität in der Anbieter-App.

Hinweis: Sie können Deeplinks für die Attribution verwenden. Weitere Informationen finden Sie in diesen FAQs.

URI
Titel Optional Der Name des Geschäfts.

Freier Text

Empfohlene Textgröße: unter 45 Zeichen (Bei zu langem Text werden möglicherweise Auslassungspunkte angezeigt.)

Standort Optional Der Standort des Geschäfts.

Freier Text

Empfohlene Textgröße: unter 45 Zeichen (Bei zu langem Text werden möglicherweise Auslassungspunkte angezeigt.)

Zusatzinformationen Optional Callout, um eine Werbeaktion, ein Ereignis oder ein Update für den Shop zu präsentieren, falls verfügbar.

Freier Text

Empfohlene Textgröße: unter 45 Zeichen (Bei zu langem Text werden möglicherweise Auslassungspunkte angezeigt.)

Kleingedrucktes mit Zusatzinformationen Optional Kleingedruckter Text für das Callout.

Freier Text

Empfohlene Textgröße: unter 45 Zeichen (Bei zu langem Text werden möglicherweise Auslassungspunkte angezeigt.)

Beschreibung Optional Eine Beschreibung des Geschäfts.

Freier Text

Empfohlene Textgröße: unter 90 Zeichen (Bei zu langem Text werden möglicherweise Auslassungspunkte angezeigt.)

Bewertung – Maximalwert Optional

Der Maximalwert der Bewertungsskala.

Muss angegeben werden, wenn auch der aktuelle Wert für die Bewertung angegeben ist.

Zahl >= 0,0
Bewertung – aktueller Wert Optional

Der aktuelle Wert der Bewertungsskala.

Muss angegeben werden, wenn auch der Höchstwert für die Bewertung angegeben ist.

Zahl >= 0,0
Bewertung – Anzahl Optional

Die Anzahl der Bewertungen für die Unterkunft.

Hinweis:Geben Sie dieses Feld an, wenn Ihre App steuern möchte, wie dies den Nutzern angezeigt wird. Geben Sie den kurzen String an, der dem Nutzer angezeigt werden soll. Wenn die Anzahl beispielsweise 1.000.000 beträgt, sollten Sie Abkürzungen wie 1 Million verwenden, damit die Zahl bei kleineren Bildschirmen nicht abgeschnitten wird.

String
Bewertung – Zählwert Optional

Die Anzahl der Bewertungen für die Unterkunft.

Hinweis: Geben Sie dieses Feld an, wenn Sie die Logik für die Anzeigeabkürzung nicht selbst verwenden möchten. Wenn sowohl „Count“ als auch „Count Value“ vorhanden sind, wird die Anzahl zur Anzeige für Nutzer verwendet.

Lang

PointOfInterestEntity

Attribut Anforderungen Beschreibung Formatieren
Aktions-URI Erforderlich

Sie erstellen einen Deeplink zur Entität in der Anbieter-App.

Hinweis: Sie können Deeplinks für die Attribution verwenden. Weitere Informationen finden Sie in diesen FAQs.

URI
Titel Erforderlich Titel des Rechtssubjekts.

String

Empfohlene Textgröße: max. 50 Zeichen

Posterbilder Erforderlich

Wenn mehrere Bilder zur Verfügung stehen, wird nur ein Bild angezeigt. Das empfohlene Seitenverhältnis ist 16:9.

Hinweis:Bilder werden dringend empfohlen. Wenn ein Logo bereitgestellt wird, muss oben und unten im Bild ein Mindestabstand von 24 dps eingehalten werden.

Siehe Bildspezifikationen für eine Orientierungshilfe.
Standort – Land Erforderlich Das Land, in dem sich der POI befindet.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Stadt Erforderlich Die Stadt, in der sich der POI befindet.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – angezeigte Adresse Erforderlich Die Adresse des POI, die dem Nutzer angezeigt wird.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Adresse Optional Straße (falls zutreffend) des POI.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Bundesland Optional Das Bundesland bzw. die Provinz (falls zutreffend), in der sich der POI befindet.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Postleitzahl Optional Postleitzahl (falls zutreffend) des POI.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Stadtteil Optional Der Stadtteil (falls zutreffend) des POI.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

AvailabilityWindow – Startzeit Optional Der Epochenzeitstempel in Millisekunden für den Zeitraum, in dem der POI geöffnet/verfügbar sein soll. Epochenzeitstempel in Millisekunden
AvailabilityWindow - Ende Optional Der Epochenzeitstempel in Millisekunden, bis zu dem der POI geöffnet/verfügbar ist. Epochenzeitstempel in Millisekunden
Badges Optional

Jedes Badge besteht entweder aus freiem Text (max. 15 Zeichen) oder aus einem kleinen Bild.

Badge – Text Optional

Titel des Logos

Hinweis: Für das Logo ist entweder Text oder ein Bild erforderlich.

Freier Text

Empfohlene Textgröße: max. 15 Zeichen

Logo – Bild Optional

Kleines Bild

Besondere UX-Einrichtung, z.B. als Badge-Overlay auf dem Bild-/Video-Thumbnail.

Hinweis: Für das Logo ist entweder Text oder ein Bild erforderlich.

Siehe Bildspezifikationen für eine Orientierungshilfe.
Beschreibung Optional

Ein einzelner Absatz mit Text zur Beschreibung der Entität.

Hinweis: Den Nutzern wird entweder eine Beschreibung oder eine Untertitelliste angezeigt, nicht beides.

Freier Text

Empfohlene Textgröße: 180 Zeichen

Untertitelliste Optional

Bis zu drei Untertitel mit jeweils einer Textzeile.

Hinweis: Den Nutzern wird entweder eine Beschreibung oder eine Untertitelliste angezeigt, nicht beides.

Freier Text

Empfohlene Textgröße für jeden Untertitel: max. 50 Zeichen

Bewertung – Maximalwert Optional

Der Maximalwert der Bewertungsskala.

Muss angegeben werden, wenn auch der aktuelle Wert für die Bewertung angegeben ist.

Zahl >= 0,0
Bewertung – aktueller Wert Optional

Der aktuelle Wert der Bewertungsskala.

Muss angegeben werden, wenn auch der Höchstwert für die Bewertung angegeben ist.

Zahl >= 0,0
Bewertung – Anzahl Optional

Die Anzahl der Bewertungen für den POI.

Hinweis:Geben Sie dieses Feld an, wenn Ihre App steuern möchte, wie dies den Nutzern angezeigt wird. Geben Sie den kurzen String an, der dem Nutzer angezeigt werden soll. Wenn die Anzahl beispielsweise 1.000.000 beträgt, sollten Sie Abkürzungen wie 1 Million verwenden, damit die Zahl bei kleineren Bildschirmen nicht abgeschnitten wird.

String
Bewertung – Zählwert Optional

Die Anzahl der Bewertungen für den POI.

Hinweis: Geben Sie dieses Feld an, wenn Sie die Logik für die Anzeigeabkürzung nicht selbst verwenden möchten. Wenn sowohl „Count“ als auch „Count Value“ vorhanden sind, wird die Anzahl zur Anzeige für Nutzer verwendet.

Lang
Preis – CurrentPrice Bedingt erforderlich

Der aktuelle Preis der Eintrittskarten/Tickets für den POI.

Muss angegeben werden, wenn ein durchgestrichener Preis angegeben ist.

Freier Text
Preis – durchgestrichener Preis Optional Der ursprüngliche Preis der Tickets/Eintrittskarte für den POI. Freier Text
Zusatzinformationen zu Preis Optional Zusatzinformationen zu Preisen für Werbeaktionen, Veranstaltungen oder Mitgliederrabatte (falls verfügbar).

Freier Text

Empfohlene Textgröße: unter 45 Zeichen (Ein zu langer Text enthält möglicherweise Auslassungspunkte)

Inhaltskategorien Optional Beschreiben Sie die Kategorie des Inhalts in der Entität.

Liste der zulässigen Aufzählungen

  • TYPE_TRAVEL_AND_LOCAL
  • TYPE_MovieS_AND_TV_SHOWS (z.B. Kino)
  • TYPE_MEDICAL (z.B. Krankenhaus)
  • TYPE_EDUCATION (z.B. Schule)
  • TYPE_SPORTS (z.B. Stadion)

Eine Anleitung findest du im Abschnitt „Inhaltskategorie“.

PersonEntity

Attribut Anforderungen Beschreibung Formatieren
Aktions-URI Erforderlich

Sie erstellen einen Deeplink zur Entität in der Anbieter-App.

Hinweis: Sie können Deeplinks für die Attribution verwenden. Weitere Informationen finden Sie in diesen FAQs.

URI
Profil - Name Erforderlich Profilname, -ID oder Alias, z. B. "Max Mustermann", "@TeamPixel"

String

Empfohlene Textgröße: max. 50 Zeichen

Profil – Avatar Erforderlich

Profilbild oder Avatarbild des Nutzers

Hinweis:Es muss sich um ein quadratisches Bild mit einem Seitenverhältnis von 1:1 handeln.

Siehe Bildspezifikationen für eine Orientierungshilfe.
Profil - Zusätzlicher Text Optional Freier Text wie der Profil-Alias.

Freier Text

Empfohlene Textgröße: max. 15 Zeichen

Profil - Zusätzliches Bild Optional Kleines Bild, z. B. ein Bestätigungskennzeichen. Siehe Bildspezifikationen für eine Orientierungshilfe.
Kopfzeilenbild Optional

Wenn mehrere Bilder zur Verfügung stehen, wird nur ein Bild angezeigt. Das empfohlene Seitenverhältnis ist 16:9.

Hinweis:Bilder werden dringend empfohlen. Wenn ein Logo bereitgestellt wird, muss oben und unten im Bild ein Mindestabstand von 24 dps eingehalten werden.

Siehe Bildspezifikationen für eine Orientierungshilfe.
Beliebtheit – Anzahl Optional

Stellt das Kopfzeilenbild dar. Sollte sich vom Profilbild unterscheiden. Diese Option kann verwendet werden, wenn es zusätzliche Bilder gibt, um die Person wie ihre Arbeit hervorzuheben.

Hinweis:Bilder müssen im 16:9-Format vorliegen. Wenn ein Badge zur Verfügung gestellt wird, muss oben und unten im Bild ein Mindestabstand von 24 dps eingehalten werden.

String

Empfohlene Textgröße: max. 20 Zeichen für Anzahl und Label zusammen

Beliebtheit – Zählwert Optional

Die Anzahl der Follower oder der Beliebtheitswert.

Hinweis: Geben Sie den Wert für „Count“ an, wenn Ihre App keine Logik dafür bereitstellen möchte, wie eine große Anzahl für unterschiedliche Bildschirmgrößen optimiert werden soll. Wenn sowohl Anzahl als auch Wert angegeben ist, wird „Anzahl“ verwendet.

Lang
Beliebtheit – Label Optional Geben Sie das Beliebtheitslabel an, zum Beispiel "Gefällt mir"-Angaben.

String

Empfohlene Textgröße: max. 20 Zeichen für Anzahl und Label zusammen

Beliebtheit – visuell Optional

Geben Sie an, wozu die Interaktion dient. Beispiel: Bild mit dem Symbol „Gefällt mir“-Angaben (Emojis).

Es können mehrere Bilder zur Verfügung gestellt werden, auch wenn nicht alle für alle Formfaktoren angezeigt werden.

Hinweis: Es muss sich um ein quadratisches Bild mit 1:1 handeln.

Siehe Bildspezifikationen für eine Orientierungshilfe.
Bewertung – Maximalwert Erforderlich

Der Maximalwert der Bewertungsskala.

Muss angegeben werden, wenn auch der aktuelle Wert für die Bewertung angegeben ist.

Zahl >= 0,0
Bewertung – aktueller Wert Erforderlich

Der aktuelle Wert der Bewertungsskala.

Muss angegeben werden, wenn auch der Höchstwert für die Bewertung angegeben ist.

Zahl >= 0,0
Bewertung – Anzahl Optional

Die Anzahl der Bewertungen für die Entität.

Hinweis:Geben Sie dieses Feld an, wenn Ihre App steuern möchte, wie dies den Nutzern angezeigt wird. Geben Sie den kurzen String an, der dem Nutzer angezeigt werden soll. Wenn die Anzahl beispielsweise 1.000.000 beträgt, sollten Sie Abkürzungen wie 1 Million verwenden, damit die Zahl bei kleineren Bildschirmen nicht abgeschnitten wird.

String
Bewertung – Zählwert Optional

Die Anzahl der Bewertungen für die Entität.

Hinweis: Geben Sie dieses Feld an, wenn Sie die Logik für die Anzeigeabkürzung nicht selbst verwenden möchten. Wenn sowohl „Count“ als auch „Count Value“ vorhanden sind, wird die Anzahl zur Anzeige für Nutzer verwendet.

Lang
Standort – Land Optional Das Land, in dem sich die Person befindet oder in der sie tätig ist.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Stadt Optional Die Stadt, in der sich die Person befindet oder in der sie bedient wird.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – angezeigte Adresse Optional Die Adresse, an der sich die Person befindet oder bedient, wird dem Nutzer angezeigt.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Adresse Optional Die Adresse (falls zutreffend), an der die Person wohnt oder bedient.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Bundesland Optional Der Bundesstaat (falls zutreffend), in dem sich die Person befindet oder im Dienst ist.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Postleitzahl Optional Die Postleitzahl (falls zutreffend), an der die Person wohnt oder bedient.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Stadtteil Optional Der Stadtteil (falls zutreffend), in dem sich die Person befindet oder im Dienst ist.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Badges Optional

Jedes Badge besteht entweder aus freiem Text (max. 15 Zeichen) oder aus einem kleinen Bild.

Badge – Text Optional

Titel des Logos

Hinweis: Für das Logo ist entweder Text oder ein Bild erforderlich.

Freier Text

Empfohlene Textgröße: max. 15 Zeichen

Logo – Bild Optional

Kleines Bild

Besondere UX-Einrichtung, z.B. als Badge-Overlay auf dem Bild-/Video-Thumbnail.

Hinweis: Für das Logo ist entweder Text oder ein Bild erforderlich.

Siehe Bildspezifikationen für eine Orientierungshilfe.
Beschreibung Optional

Ein einzelner Absatz mit Text zur Beschreibung der Entität.

Hinweis: Den Nutzern wird entweder eine Beschreibung oder eine Untertitelliste angezeigt, nicht beides.

Freier Text

Empfohlene Textgröße: 180 Zeichen

Untertitelliste Optional

Bis zu drei Untertitel mit jeweils einer Textzeile.

Hinweis: Den Nutzern wird entweder eine Beschreibung oder eine Untertitelliste angezeigt, nicht beides.

Freier Text

Empfohlene Textgröße für jeden Untertitel: max. 50 Zeichen

Inhaltskategorien Optional Beschreiben Sie die Kategorie des Inhalts in der Entität.

Liste der zulässigen Aufzählungen

  • TYPE_HEALTH_AND_FITENESS (z.B. Yoga-/Fitnesstrainer)
  • TYPE_HOME_AND_AUTO (z.B. Klempner)
  • TYPE_SPORTS (z.B. Spieler)
  • TYP_DATING

Eine Anleitung findest du im Abschnitt „Inhaltskategorie“.

RestaurantReservationEntity

Attribut Anforderungen Beschreibung Formatieren
Aktions-URI Erforderlich

Sie erstellen einen Deeplink zur Entität in der Anbieter-App.

Hinweis: Sie können Deeplinks für die Attribution verwenden. Weitere Informationen finden Sie in diesen FAQs.

URI
Titel Erforderlich Titel des Rechtssubjekts.

String

Empfohlene Textgröße: max. 50 Zeichen

Beginn der Reservierung Erforderlich Der Epochenzeitstempel in Millisekunden für den voraussichtlichen Beginn der Reservierung. Epochenzeitstempel in Millisekunden
Standort – Land Erforderlich Das Land, in dem das Restaurant stattfindet.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Stadt Erforderlich Die Stadt, in der sich das Restaurant befindet.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – angezeigte Adresse Erforderlich Die Adresse des prestaurant, die dem Nutzer angezeigt wird.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Adresse Optional Die Adresse des Restaurants (falls zutreffend).

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Bundesland Optional Das Bundesland bzw. die Provinz (falls zutreffend), in der sich das Restaurant befindet.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Postleitzahl Optional Die Postleitzahl des Restaurants (falls zutreffend).

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Stadtteil Optional Stadtteil (falls zutreffend) des Restaurants.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Posterbilder Optional Wenn mehrere Bilder zur Verfügung stehen, wird nur ein Bild angezeigt. Das empfohlene Seitenverhältnis ist 16:9 Siehe Bildspezifikationen für eine Orientierungshilfe.
Beschreibung Optional

Ein einzelner Absatz mit Text zur Beschreibung der Entität.

Hinweis: Den Nutzern wird entweder eine Beschreibung oder eine Untertitelliste angezeigt, nicht beides.

Freier Text

Empfohlene Textgröße: 180 Zeichen

Untertitelliste Optional

Bis zu drei Untertitel mit jeweils einer Textzeile.

Hinweis: Den Nutzern wird entweder eine Beschreibung oder eine Untertitelliste angezeigt, nicht beides.

Freier Text

Empfohlene Textgröße für jeden Untertitel: max. 50 Zeichen

Tabellengröße Optional Anzahl der Personen in der Reservierungsgruppe Ganzzahl > 0

EventReservationEntity

Attribut Anforderungen Beschreibung Formatieren
Aktions-URI Erforderlich

Sie erstellen einen Deeplink zur Entität in der Anbieter-App.

Hinweis: Sie können Deeplinks für die Attribution verwenden. Weitere Informationen finden Sie in diesen FAQs.

URI
Titel Erforderlich Titel des Rechtssubjekts.

String

Empfohlene Textgröße: max. 50 Zeichen

Beginn Erforderlich

Der Epochenzeitstempel, an dem das Ereignis voraussichtlich beginnen wird.

Hinweis: Dieser Wert wird in Millisekunden angegeben.

Epochenzeitstempel in Millisekunden
Ereignismodus Erforderlich

Ein Feld, mit dem angegeben wird, ob die Veranstaltung virtuell, persönlich oder beides sein soll.

Enum: VIRTUAL, IN_PERSON oder HYBRID
Standort – Land Bedingt erforderlich

Das Land, in dem das Ereignis stattfindet.

Hinweis:Dies ist für Ereignisse erforderlich, die IN_PERSON oder HYBRID sind.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Stadt Bedingt erforderlich

Die Stadt, in der das Ereignis stattfindet.

Hinweis:Dies ist für Ereignisse erforderlich, die IN_PERSON oder HYBRID sind.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – angezeigte Adresse Bedingt erforderlich

Die Adresse oder der Veranstaltungsort, an dem die Veranstaltung stattfindet, der dem Nutzer angezeigt werden soll.

Hinweis:Dies ist für Ereignisse erforderlich, die IN_PERSON oder HYBRID sind.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Adresse Optional Die Adresse des Orts, an dem die Veranstaltung stattfindet (falls zutreffend).

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Bundesland Optional Der Bundesstaat oder die Provinz (falls zutreffend), in der die Veranstaltung stattfindet.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Postleitzahl Optional Die Postleitzahl des Ortes, an dem die Veranstaltung stattfindet (falls zutreffend).

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Stadtteil Optional Der Stadtteil (falls zutreffend), in dem die Veranstaltung stattfindet.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Posterbilder Optional

Wenn mehrere Bilder zur Verfügung stehen, wird nur ein Bild angezeigt. Das empfohlene Seitenverhältnis ist 16:9.

Hinweis:Bilder werden dringend empfohlen. Wenn ein Logo bereitgestellt wird, muss oben und unten im Bild ein Mindestabstand von 24 dps eingehalten werden.

Siehe Bildspezifikationen für eine Orientierungshilfe.
Ende Optional

Der Epochenzeitstempel, zu dem das Ereignis voraussichtlich enden wird.

Hinweis: Dieser Wert wird in Millisekunden angegeben.

Epochenzeitstempel in Millisekunden
Dienstanbieter – Name Optional

Der Name des Dienstanbieters.

Hinweis:Für den Dienstanbieter ist entweder Text oder Bild erforderlich.

Freier Text. Beispiel: Name des Organisators/der Tour.
Dienstanbieter – Bild Optional

Das Logo oder Bild des Dienstanbieters.

Hinweis:Für den Dienstanbieter ist entweder Text oder Bild erforderlich.

Siehe Bildspezifikationen für eine Orientierungshilfe.
Beschreibung Optional

Ein einzelner Absatz mit Text zur Beschreibung der Entität.

Hinweis: Den Nutzern wird entweder eine Beschreibung oder eine Untertitelliste angezeigt, nicht beides.

Freier Text

Empfohlene Textgröße: 180 Zeichen

Untertitelliste Optional

Bis zu drei Untertitel mit jeweils einer Textzeile.

Hinweis: Den Nutzern wird entweder eine Beschreibung oder eine Untertitelliste angezeigt, nicht beides.

Freier Text

Empfohlene Textgröße für jeden Untertitel: max. 50 Zeichen

Badges Optional

Jedes Badge besteht entweder aus freiem Text (max. 15 Zeichen) oder aus einem kleinen Bild.

Badge – Text Optional

Titel des Logos

Hinweis: Für das Logo ist entweder Text oder ein Bild erforderlich.

Freier Text

Empfohlene Textgröße: max. 15 Zeichen

Logo – Bild Optional

Kleines Bild

Besondere UX-Einrichtung, z.B. als Badge-Overlay auf dem Bild-/Video-Thumbnail.

Hinweis: Für das Logo ist entweder Text oder ein Bild erforderlich.

Siehe Bildspezifikationen für eine Orientierungshilfe.
Reservierungs-ID Optional Die Reservierungs-ID für die Terminreservierung. Freier Text
Preis – CurrentPrice Bedingt erforderlich

Der aktuelle Preis des Tickets/der Tickets für die Veranstaltung.

Muss angegeben werden, wenn ein durchgestrichener Preis angegeben ist.

Freier Text
Preis – durchgestrichener Preis Optional Der ursprüngliche Preis des Tickets/der Tickets für die Veranstaltung. Freier Text
Zusatzinformationen zu Preis Optional Zusatzinformationen zu Preisen für Werbeaktionen, Veranstaltungen oder Mitgliederrabatte (falls verfügbar).

Freier Text

Empfohlene Textgröße: unter 45 Zeichen (Ein zu langer Text enthält möglicherweise Auslassungspunkte)

Bewertung – Maximalwert Optional

Der Maximalwert der Bewertungsskala.

Muss angegeben werden, wenn auch der aktuelle Wert für die Bewertung angegeben ist.

Zahl >= 0,0
Bewertung – aktueller Wert Optional

Der aktuelle Wert der Bewertungsskala.

Muss angegeben werden, wenn auch der Höchstwert für die Bewertung angegeben ist.

Zahl >= 0,0
Bewertung – Anzahl Optional

Die Anzahl der Bewertungen für das Ereignis.

Hinweis:Geben Sie dieses Feld an, wenn Ihre App steuern möchte, wie dies den Nutzern angezeigt wird. Geben Sie den kurzen String an, der dem Nutzer angezeigt werden soll. Wenn die Anzahl beispielsweise 1.000.000 beträgt, sollten Sie Abkürzungen wie 1 Million verwenden, damit die Zahl bei kleineren Bildschirmen nicht abgeschnitten wird.

String
Bewertung – Zählwert Optional

Die Anzahl der Bewertungen für das Ereignis.

Hinweis: Geben Sie dieses Feld an, wenn Sie die Logik für die Anzeigeabkürzung nicht selbst verwenden möchten. Wenn sowohl „Count“ als auch „Count Value“ vorhanden sind, wird die Anzahl zur Anzeige für Nutzer verwendet.

Lang
Inhaltskategorien Optional Beschreiben Sie die Kategorie des Inhalts in der Entität.

Liste der zulässigen Aufzählungen

  • TYPE_MovieS_AND_TV_SHOWS (z.B. Kino)
  • TYPE_DIGITAL_GAMES (z.B. E-Sport)
  • TYPE_MUSIC (z.B. Konzert)
  • TYPE_TRAVEL_AND_LOCAL (z.B. Tour, Festival)
  • TYPE_HEALTH_AND_FITENESS (z.B. Yoga-Kurs)
  • TYPE_EDUCATION (z.B. Klasse)
  • TYPE_SPORTS (z.B. Fußballspiel)
  • TYPE_DATING (z.B. Treffen)

Eine Anleitung findest du im Abschnitt „Inhaltskategorie“.

LodgingReservationEntity

Attribut Anforderungen Beschreibung Formatieren
Aktions-URI Erforderlich

Sie erstellen einen Deeplink zur Entität in der Anbieter-App.

Hinweis: Sie können Deeplinks für die Attribution verwenden. Weitere Informationen finden Sie in diesen FAQs.

URI
Titel Erforderlich Titel des Rechtssubjekts.

Freier Text. Beispiel: „Dein Aufenthalt vom 12. Dezember“

Empfohlene Textgröße: max. 50 Zeichen

Check-in-Zeit Erforderlich Der Epochenzeitstempel in Millisekunden, der die Check-in-Zeit für die Reservierung darstellt. Epochenzeitstempel in Millisekunden
Check-out-Zeit Erforderlich Der Epochenzeitstempel in Millisekunden, der die Check-out-Zeit für die Reservierung darstellt. Epochenzeitstempel in Millisekunden
Standort – Land Erforderlich Das Land, in dem sich die Unterkunft befindet.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Stadt Erforderlich Die Stadt, in der sich die Unterkunft befindet.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – angezeigte Adresse Erforderlich Die Adresse der Unterkunft, die dem Nutzer angezeigt wird.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Adresse Optional Die Adresse der Unterkunft (falls zutreffend).

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Bundesland Optional Der Bundesstaat oder die Provinz (falls zutreffend), in der sich die Unterkunft befindet.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Postleitzahl Optional Die Postleitzahl der Unterkunft (falls zutreffend).

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Standort – Stadtteil Optional Der Stadtteil (falls zutreffend) der Unterkunft.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Posterbilder Optional

Wenn mehrere Bilder zur Verfügung stehen, wird nur ein Bild angezeigt. Das empfohlene Seitenverhältnis ist 16:9

Hinweis: Wenn ein Logo bereitgestellt wird, muss oben und unten im Bild ein Mindestabstand von 24 dps angegeben werden.

Siehe Bildspezifikationen für eine Orientierungshilfe.
Beschreibung Optional

Ein einzelner Absatz mit Text zur Beschreibung der Entität.

Hinweis: Den Nutzern wird entweder eine Beschreibung oder eine Untertitelliste angezeigt, nicht beides.

Freier Text

Empfohlene Textgröße: 180 Zeichen

Untertitelliste Optional

Bis zu drei Untertitel mit jeweils einer Textzeile.

Hinweis: Den Nutzern wird entweder eine Beschreibung oder eine Untertitelliste angezeigt, nicht beides.

Freier Text

Empfohlene Textgröße für jeden Untertitel: max. 50 Zeichen

Reservierungs-ID Optional Die Reservierungs-ID der Unterkunftsreservierung. Freier Text
Bewertung – Maximalwert Optional

Der Maximalwert der Bewertungsskala.

Muss angegeben werden, wenn auch der aktuelle Wert für die Bewertung angegeben ist.

Zahl >= 0,0
Bewertung – aktueller Wert Optional

Der aktuelle Wert der Bewertungsskala.

Muss angegeben werden, wenn auch der Höchstwert für die Bewertung angegeben ist.

Zahl >= 0,0
Bewertung – Anzahl Optional

Die Anzahl der Bewertungen für die Unterkunft.

Hinweis:Geben Sie dieses Feld an, wenn Ihre App steuern möchte, wie dies den Nutzern angezeigt wird. Geben Sie den kurzen String an, der dem Nutzer angezeigt werden soll. Wenn die Anzahl beispielsweise 1.000.000 beträgt, sollten Sie Abkürzungen wie 1 Million verwenden, damit die Zahl bei kleineren Bildschirmen nicht abgeschnitten wird.

String
Bewertung – Zählwert Optional

Die Anzahl der Bewertungen für die Unterkunft.

Hinweis: Geben Sie dieses Feld an, wenn Sie die Logik für die Anzeigeabkürzung nicht selbst verwenden möchten. Wenn sowohl „Count“ als auch „Count Value“ vorhanden sind, wird die Anzahl zur Anzeige für Nutzer verwendet.

Lang
Preis – CurrentPrice Bedingt erforderlich

Der aktuelle Preis der Unterkunft.

Muss angegeben werden, wenn ein durchgestrichener Preis angegeben ist.

Freier Text
Preis – durchgestrichener Preis Optional Der ursprüngliche Preis der Unterkunft, der in der UI durchgestrichen wird. Freier Text
Zusatzinformationen zu Preis Optional Zusatzinformationen zu Preisen für Werbeaktionen, Veranstaltungen oder Mitgliederrabatte (falls verfügbar).

Freier Text

Empfohlene Textgröße: unter 45 Zeichen (Ein zu langer Text enthält möglicherweise Auslassungspunkte)

TransportationReservationEntity

Attribut Anforderungen Beschreibung Formatieren
Aktions-URI Erforderlich

Sie erstellen einen Deeplink zur Entität in der Anbieter-App.

Hinweis: Sie können Deeplinks für die Attribution verwenden. Weitere Informationen finden Sie in diesen FAQs.

URI
Titel Erforderlich Titel des Rechtssubjekts.

Freier Text. Beispiel: „TXL nach SAN“

Empfohlene Textgröße: max. 50 Zeichen

Art des Verkehrsmittels Erforderlich Die Art des Verkehrsmittels für die Reservierung. Enum: FLIGHT, TRAIN, BUS oder FERRY
Abfahrtszeit Erforderlich Der Epochenzeitstempel in Millisekunden, der die Abreisezeit darstellt. Epochenzeitstempel in Millisekunden
Ankunft Erforderlich Der Epochenzeitstempel in Millisekunden, der die Ankunftszeit angibt. Epochenzeitstempel in Millisekunden
Abreiseort – Land Optional Das Abreiseland.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Abreiseort – Stadt Optional Der Abreiseort.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Abreiseort – angezeigte Adresse Optional Der Abreiseort, der dem Nutzer angezeigt wird.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Abfahrtsort – Adresse Optional Die Adresse des Abreiseorts (falls zutreffend).

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Abreiseort – Bundesland Optional Bundesland oder Kanton (falls zutreffend) des Abreiseorts.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Abfahrtsort – Postleitzahl Optional Postleitzahl (falls zutreffend) des Abreiseorts.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Abreiseort – Stadtteil Optional Der Stadtteil (falls zutreffend) des Abreiseorts.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Ankunftsort – Land Optional Land, in dem Sie ankommen

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Ankunftsort – Stadt Optional Die Stadt, in der Sie ankommen

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Ankunftsort – angezeigte Adresse Optional Der Ankunftsort, der dem Nutzer angezeigt wird.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Ankunftsort – Adresse Optional Die Adresse des Ankunftsorts (falls zutreffend).

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Ankunftsort – Bundesland Optional Bundesland oder Provinz (falls zutreffend) des Ankunftsorts.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Ankunftsort – Postleitzahl Optional Die Postleitzahl (falls zutreffend) des Ankunftsorts.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Ankunftsort – Stadtteil Optional Der Stadtteil (falls zutreffend) des Ankunftsorts.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Dienstanbieter – Name Optional

Der Name des Dienstanbieters.

Hinweis:Für den Dienstanbieter ist entweder Text oder Bild erforderlich.

Freier Text. Beispiel: Name der Fluggesellschaft
Dienstanbieter – Bild Optional

Das Logo oder Bild des Dienstanbieters.

Hinweis:Für den Dienstanbieter ist entweder Text oder Bild erforderlich.

Siehe Bildspezifikationen für eine Orientierungshilfe.
Posterbilder Optional

Wenn mehrere Bilder zur Verfügung stehen, wird nur ein Bild angezeigt. Das empfohlene Seitenverhältnis ist 16:9

Siehe Bildspezifikationen für eine Orientierungshilfe.
Beschreibung Optional

Ein einzelner Absatz mit Text zur Beschreibung der Entität.

Hinweis: Den Nutzern wird entweder eine Beschreibung oder eine Untertitelliste angezeigt, nicht beides.

Freier Text

Empfohlene Textgröße: 180 Zeichen

Untertitelliste Optional

Bis zu drei Untertitel mit jeweils einer Textzeile.

Hinweis: Den Nutzern wird entweder eine Beschreibung oder eine Untertitelliste angezeigt, nicht beides.

Freier Text

Empfohlene Textgröße für jeden Untertitel: max. 50 Zeichen

Reservierungs-ID Optional Die Reservierungs-ID für die Verkehrsmittelreservierung. Freier Text
Preis – CurrentPrice Bedingt erforderlich

Der aktuelle Preis der Reservierung.

Muss angegeben werden, wenn ein durchgestrichener Preis angegeben ist.

Freier Text
Preis – durchgestrichener Preis Optional Der ursprüngliche Preis der Reservierung, der in der UI durchgestrichen wird. Freier Text
Zusatzinformationen zu Preis Optional Zusatzinformationen zu Preisen für Werbeaktionen, Veranstaltungen oder Mitgliederrabatte (falls verfügbar).

Freier Text

Empfohlene Textgröße: unter 45 Zeichen (Ein zu langer Text enthält möglicherweise Auslassungspunkte)

Verkehrsnummer Erforderlich Die Flug-, Bus- oder Zugnummer oder die Fähr-/Kreuzfahrtnummer. Freier Text
Boardingzeit Erforderlich Der Epochenzeitstempel, der die Boardingzeit für die Reservierung darstellt (falls zutreffend) Epochenzeitstempel in Millisekunden

VehicleRentalReservationEntity

Attribut Anforderungen Beschreibung Formatieren
Aktions-URI Erforderlich

Sie erstellen einen Deeplink zur Entität in der Anbieter-App.

Hinweis: Sie können Deeplinks für die Attribution verwenden. Weitere Informationen finden Sie in diesen FAQs.

URI
Titel Erforderlich Titel des Rechtssubjekts.

Freier Text. Beispiel: „Avis Union Square SF“

Empfohlene Textgröße: max. 50 Zeichen

Abholzeit Erforderlich Der Epochenzeitstempel, der für die Abholzeit der Reservierung steht. Epochenzeitstempel in Millisekunden
Rückflugzeit Optional Der Epochenzeitstempel, der die Check-out-Zeit für die Reservierung darstellt. Epochenzeitstempel in Millisekunden
Abholadresse – Land Optional Das Land des Abholorts.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Abholadresse – Stadt Optional Die Stadt des Abholorts.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Abholadresse – angezeigte Adresse Optional Der Abholort, der dem Nutzer angezeigt wird.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Abholadresse – Adresse Optional Die Adresse des Abholorts (falls zutreffend).

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Abholadresse – Bundesland Optional Das Bundesland bzw. die Provinz (falls zutreffend) am Abholort.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Abholadresse – Postleitzahl Optional Die Postleitzahl (falls zutreffend) des Abholorts.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Abholadresse – Stadtteil Optional Der Stadtteil (falls zutreffend) des Abholorts.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Rücksendeadresse – Land Optional Das Land der Rücksendeadresse.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Rücksendeadresse – Stadt Optional Der Ort, an dem der Rückgabeort zurückgegeben wird.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Rücksendeadresse – angezeigte Adresse Optional Die Rückgabeadresse, die dem Nutzer angezeigt wird.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Rücksendeadresse – Adresse Optional Die Adresse der Rücksendeadresse (falls zutreffend).

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Rücksendeadresse – Bundesland Optional Der Bundesstaat oder die Provinz (falls zutreffend) der Rücksendeadresse.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Rücksendeadresse – Postleitzahl Optional Die Postleitzahl (falls zutreffend) der Rücksendeadresse.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Rücksendeadresse – Stadtteil Optional Der Stadtteil (falls zutreffend) der Rücksendeadresse.

Freier Text

Empfohlene Textgröße: max. ~20 Zeichen

Dienstanbieter – Name Optional

Der Name des Dienstanbieters.

Hinweis:Für den Dienstanbieter ist entweder Text oder Bild erforderlich.

Freier Text. Beispiel: „Avis Car Rental“
Dienstanbieter – Bild Optional

Das Logo oder Bild des Dienstanbieters.

Hinweis:Für den Dienstanbieter ist entweder Text oder Bild erforderlich.

Siehe Bildspezifikationen für eine Orientierungshilfe.
Posterbilder Optional

Wenn mehrere Bilder zur Verfügung stehen, wird nur ein Bild angezeigt. Das empfohlene Seitenverhältnis ist 16:9

Siehe Bildspezifikationen für eine Orientierungshilfe.
Beschreibung Optional

Ein einzelner Absatz mit Text zur Beschreibung der Entität.

Hinweis: Den Nutzern wird entweder eine Beschreibung oder eine Untertitelliste angezeigt, nicht beides.

Freier Text

Empfohlene Textgröße: 180 Zeichen

Untertitelliste Optional

Bis zu drei Untertitel mit jeweils einer Textzeile.

Hinweis: Den Nutzern wird entweder eine Beschreibung oder eine Untertitelliste angezeigt, nicht beides.

Freier Text

Empfohlene Textgröße für jeden Untertitel: max. 50 Zeichen

Bestätigungs-ID Optional Die Bestätigungs-ID der Reservierung der Fahrzeugvermietung. Freier Text
Preis – CurrentPrice Bedingt erforderlich

Der aktuelle Preis der Reservierung.

Muss angegeben werden, wenn ein durchgestrichener Preis angegeben ist.

Freier Text
Preis – durchgestrichener Preis Optional Der ursprüngliche Preis der Reservierung, der in der UI durchgestrichen wird. Freier Text
Zusatzinformationen zu Preis Optional Zusatzinformationen zu Preisen für Werbeaktionen, Veranstaltungen oder Mitgliederrabatte (falls verfügbar).

Freier Text

Empfohlene Textgröße: unter 45 Zeichen (Ein zu langer Text enthält möglicherweise Auslassungspunkte)

Bildspezifikationen

In der folgenden Tabelle sind die erforderlichen Spezifikationen für Bild-Assets aufgeführt:

Seitenverhältnis Mindestanzahl von Pixeln Empfohlene Pixel

Quadrat (1 × 1)

Bevorzugt

300 × 300 1200 × 1200
Querformat (1,91 × 1) 600 × 314 1200 × 628
Hochformat (4 x 5) 480 × 600 960 × 1200

Die Images müssen in öffentlichen CDNs gehostet werden, damit Google darauf zugreifen kann.

Dateiformate

PNG, JPG, statisches GIF, WebP

Maximale Dateigröße

5.120 KB

Weitere Empfehlungen

  • Bildbereich:Wichtige Inhalte sollten in den mittleren 80% des Bilds positioniert werden.
  • Verwenden Sie einen transparenten Hintergrund, damit das Bild im Modus „Dunkles und helles Design“ richtig angezeigt werden kann.

Content-Kategorie

Mit der Inhaltskategorie können Apps Inhalte aus mehreren Kategorien veröffentlichen. Dadurch werden dem Inhalt einige der vordefinierten Kategorien zugeordnet, nämlich:

  • 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

Die Images müssen in öffentlichen CDNs gehostet werden, damit Google darauf zugreifen kann.

Richtlinien für die Verwendung der Inhaltskategorien

  1. Einige Entitäten wie ArticleEntity und GenericFeaturedEntity können jede der Inhaltskategorien verwenden. Bei anderen Entitäten wie EventEntity, EventReservationEntity und PointOfInterestEntity ist nur ein Teil dieser Kategorien zulässig. Sehen Sie sich die Liste der Kategorien an, die für einen Entitätstyp zulässig sind, bevor Sie die Liste ausfüllen.
  2. Verwenden Sie für einige Inhaltskategorien den spezifischen Entitätstyp über eine Kombination aus allgemeinen Entitäten und ContentCategory:

    • TYPE_MovieS_AND_TV_SHOWS: Sehen Sie sich die Entitäten aus dem Integrationsleitfaden für Videos an, bevor Sie die generischen Entitäten verwenden.
    • TYPE_BOOKS: Sehen Sie sich die EbookEntity an, bevor Sie die generischen Entitäten verwenden.
    • TYPE_AUDIOBOOKS: Prüfen Sie AudiobookEntity, bevor Sie die generischen Entitäten verwenden.
    • TYPE_SHOPPING: Prüfen Sie ShoppingEntity, bevor Sie die generischen Entitäten verwenden.
    • TYPE_FOOD_AND_DRINK: Sehen Sie sich Entitäten aus dem Leitfaden zur Integration von Lebensmitteln an, bevor Sie die generischen Entitäten verwenden.
  3. Das Feld "ContentCategory" ist optional und muss leer bleiben, wenn der Inhalt zu keiner der zuvor genannten Kategorien gehört.

  4. Falls mehrere Inhaltskategorien zur Verfügung stehen, geben Sie diese in der Reihenfolge ihrer Relevanz für den Inhalt an, wobei die relevanteste Inhaltskategorie an erster Stelle in der Liste steht.

Schritt 2: Clusterdaten angeben

Es empfiehlt sich, den Job zur Inhaltsveröffentlichung im Hintergrund auszuführen (z. B. mit WorkManager) und regelmäßig oder ereignisbasiert zu planen (z. B. jedes Mal, wenn der Nutzer die App öffnet oder wenn der Nutzer gerade etwas in den Einkaufswagen gelegt hat).

AppEngagePublishClient ist für die Veröffentlichung von Clustern verantwortlich.

Es gibt die folgenden APIs zum Veröffentlichen von Clustern im Client:

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

isServiceAvailable

Mit dieser API wird geprüft, ob der Dienst für die Integration verfügbar ist und ob der Inhalt auf dem Gerät angezeigt werden kann.

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

Mit dieser API wird eine Liste von RecommendationCluster-Objekten veröffentlicht.

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());

Wenn der Dienst die Anfrage empfängt, werden innerhalb einer Transaktion die folgenden Aktionen ausgeführt:

  • Vorhandene RecommendationCluster-Daten des Entwicklerpartners werden entfernt.
  • Die Daten aus der Anfrage werden geparst und im aktualisierten Empfehlungscluster gespeichert.

Bei einem Fehler wird die gesamte Anfrage abgelehnt und der vorhandene Status beibehalten.

publishFeaturedCluster

Mit dieser API wird eine Liste von FeaturedCluster-Objekten veröffentlicht.

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());

Wenn der Dienst die Anfrage empfängt, werden innerhalb einer Transaktion die folgenden Aktionen ausgeführt:

  • Vorhandene FeaturedCluster-Daten des Entwicklerpartners werden entfernt.
  • Die Daten aus der Anfrage werden geparst und im aktualisierten hervorgehobenen Cluster gespeichert.

Bei einem Fehler wird die gesamte Anfrage abgelehnt und der vorhandene Status beibehalten.

publishContinuationCluster

Diese API wird zum Veröffentlichen eines ContinuationCluster-Objekts verwendet.

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());

Wenn der Dienst die Anfrage empfängt, werden innerhalb einer Transaktion die folgenden Aktionen ausgeführt:

  • Vorhandene ContinuationCluster-Daten des Entwicklerpartners werden entfernt.
  • Die Daten aus der Anfrage werden geparst und im aktualisierten Continuation-Cluster gespeichert.

Bei einem Fehler wird die gesamte Anfrage abgelehnt und der vorhandene Status beibehalten.

publishUserAccountManagementRequest

Dieses API wird zum Veröffentlichen einer Anmeldekarte verwendet . Durch die Anmeldeaktion werden Nutzer zur Anmeldeseite der App weitergeleitet, wo sie Inhalte veröffentlichen oder personalisiertere Inhalte bereitstellen kann.

Die folgenden Metadaten sind Teil der Anmeldekarte:

Attribut Anforderungen Beschreibung
Aktions-URI Erforderlich Deeplink zur Aktion (d.h. Weiterleitung zur Anmeldeseite der App)
Bild Optional – Wenn nicht angegeben, muss ein Titel angegeben werden.

Bild auf der Karte

Bilder mit einem Seitenverhältnis von 16:9 und einer Auflösung von 1.264 x 712

Titel Optional – Wenn nicht angegeben, muss das Bild zur Verfügung gestellt werden Titel der Karte
Aktionstext Optional Text im CTA (z.B. „Anmeldung“)
Untertitel Optional Optionaler Untertitel auf der Karte

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());

Wenn der Dienst die Anfrage empfängt, werden innerhalb einer Transaktion die folgenden Aktionen ausgeführt:

  • Vorhandene UserAccountManagementCluster-Daten des Entwicklerpartners werden entfernt.
  • Die Daten aus der Anfrage werden geparst und im aktualisierten UserAccountManagementCluster-Cluster gespeichert.

Bei einem Fehler wird die gesamte Anfrage abgelehnt und der vorhandene Status beibehalten.

updatePublishStatus

Falls aus internen geschäftlichen Gründen keiner der Cluster veröffentlicht wird, empfehlen wir dringend, den Veröffentlichungsstatus mithilfe der updatePublishStatus API zu aktualisieren. Das ist aus folgenden Gründen wichtig :

  • Die Angabe des Status ist in allen Szenarien wichtig, selbst wenn der Inhalt veröffentlicht wird (STATUS = VERÖFFENTLICHT), um Dashboards mit diesem expliziten Status auszufüllen, um den Zustand und andere Messwerte Ihrer Integration zu vermitteln.
  • Wenn kein Inhalt veröffentlicht ist, der Integrationsstatus aber nicht fehlerhaft ist (STATUS == NOT_PUBLISHED), kann Google verhindern, dass Benachrichtigungen in den Dashboards zum Anwendungszustand ausgelöst werden. Damit wird bestätigt, dass Inhalte aufgrund einer aus Sicht des Anbieters erwarteten Situation nicht veröffentlicht werden.
  • Es hilft Entwicklern, zu verstehen, wann die Daten veröffentlicht werden und wann nicht.
  • Google kann die Statuscodes verwenden, um Nutzer zu bestimmten Aktionen in der App anzuregen, damit sie den App-Inhalt sehen oder überwinden können.

Die Liste der zulässigen Veröffentlichungsstatuscodes lautet :

// 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

Wenn die Inhalte nicht veröffentlicht werden, weil ein Nutzer nicht angemeldet ist, empfiehlt Google, die Anmeldekarte zu veröffentlichen. Wenn Anbieter die Anmeldekarte aus irgendeinem Grund nicht veröffentlichen können, empfehlen wir, die updatePublishStatus API mit dem Statuscode NOT_PUBLISHED_REQUIRES_SIGN_IN aufzurufen.

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

Diese API wird zum Löschen des Inhalts von Empfehlungsclustern verwendet.

Kotlin


client.deleteRecommendationClusters()

Java


client.deleteRecommendationClusters();

Wenn der Dienst die Anfrage empfängt, werden die vorhandenen Daten aus den Empfehlungsclustern entfernt. Bei einem Fehler wird die gesamte Anfrage abgelehnt und der vorhandene Status beibehalten.

deleteFeaturedCluster

Diese API wird zum Löschen des Inhalts des hervorgehobenen Clusters verwendet.

Kotlin


client.deleteFeaturedCluster()

Java


client.deleteFeaturedCluster();

Wenn der Dienst die Anfrage empfängt, werden die vorhandenen Daten aus dem hervorgehobenen Cluster entfernt. Bei einem Fehler wird die gesamte Anfrage abgelehnt und der bestehende Status beibehalten.

deleteContinuationCluster

Diese API wird zum Löschen des Inhalts des Fortsetzungsclusters verwendet.

Kotlin


client.deleteContinuationCluster()

Java


client.deleteContinuationCluster();

Wenn der Dienst die Anfrage empfängt, werden die vorhandenen Daten aus dem Fortsetzungscluster entfernt. Bei einem Fehler wird die gesamte Anfrage abgelehnt und der vorhandene Status beibehalten.

deleteUserManagementCluster

Diese API wird zum Löschen des Inhalts des UserAccountManagement-Clusters verwendet.

Kotlin


client.deleteUserManagementCluster()

Java


client.deleteUserManagementCluster();

Wenn der Dienst die Anfrage empfängt, werden die vorhandenen Daten aus dem UserAccountManagement-Cluster entfernt. Bei einem Fehler wird die gesamte Anfrage abgelehnt und der vorhandene Status beibehalten.

deleteClusters

Diese API wird zum Löschen des Inhalts eines bestimmten Clustertyps verwendet.

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());

Wenn der Dienst die Anfrage empfängt, werden die vorhandenen Daten aus allen Clustern entfernt, die den angegebenen Clustertypen entsprechen. Clients können einen oder mehrere Clustertypen übergeben. Bei einem Fehler wird die gesamte Anfrage abgelehnt und der bestehende Status beibehalten.

Fehlerbehandlung

Es wird dringend empfohlen, das Aufgabenergebnis der Publish-APIs zu beobachten, damit eine Folgeaktion ergriffen werden kann, um eine erfolgreiche Aufgabe wiederherzustellen und noch einmal einzureichen.

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
                    }
                  }
                }
              });

Der Fehler wird als AppEngageException mit der Ursache als Fehlercode zurückgegeben.

Fehlercode Hinweis
SERVICE_NOT_FOUND Der Dienst ist auf dem angegebenen Gerät nicht verfügbar.
SERVICE_NOT_AVAILABLE Der Dienst ist auf dem jeweiligen Gerät verfügbar, aber zum Zeitpunkt des Aufrufs nicht verfügbar (z. B. weil er explizit deaktiviert wurde).
SERVICE_CALL_EXECUTION_FAILURE Die Taskausführung ist aufgrund von Threading-Problemen fehlgeschlagen. In diesem Fall kann ein neuer Versuch unternommen werden.
SERVICE_CALL_PERMISSION_DENIED Der Aufrufer ist nicht berechtigt, den Dienstaufruf zu tätigen.
SERVICE_CALL_INVALID_ARGUMENT Die Anfrage enthält ungültige Daten, z. B. mehr als die zulässige Anzahl von Clustern.
SERVICE_CALL_INTERNAL Auf der Dienstseite ist ein Fehler aufgetreten.
SERVICE_CALL_RESOURCE_EXHAUSTED Der Dienstaufruf erfolgt zu häufig.

Schritt 3: Broadcast-Intents verarbeiten

Neben Aufrufen der API zur Veröffentlichung von Inhalten über einen Job ist es auch erforderlich, eine BroadcastReceiver einzurichten, um die Anfrage für eine Inhaltsveröffentlichung zu empfangen.

Der Zweck von Broadcast-Intents besteht hauptsächlich darin, Apps zu reaktivieren und die Datensynchronisierung zu erzwingen. Broadcast-Intents sind nicht darauf ausgelegt, sehr häufig zu senden. Sie wird nur ausgelöst, wenn der Engage-Dienst feststellt, dass der Inhalt möglicherweise veraltet ist (z. B. eine Woche alt). Auf diese Weise wird dem Nutzer mehr Sicherheit bei der Nutzung neuer Inhalte geboten, auch wenn die Anwendung über einen längeren Zeitraum hinweg nicht ausgeführt wurde.

BroadcastReceiver muss auf zwei Arten eingerichtet werden:

  • Registrieren Sie mit Context.registerReceiver() eine Instanz der BroadcastReceiver-Klasse dynamisch. Dies ermöglicht die Kommunikation von Anwendungen, die sich noch im Speicher befinden.

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));

}
  • Deklarieren Sie eine Implementierung mit dem Tag <receiver> in der Datei AndroidManifest.xml statisch. Die Anwendung kann dann Broadcast-Intents empfangen, wenn sie nicht ausgeführt wird, und die Inhalte können veröffentlicht werden.
<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>

Die folgenden Intents werden vom Dienst gesendet:

  • com.google.android.engage.action.PUBLISH_RECOMMENDATION Es wird empfohlen, einen publishRecommendationClusters-Aufruf zu starten, wenn dieser Intent empfangen wird.
  • com.google.android.engage.action.PUBLISH_FEATURED Es wird empfohlen, einen publishFeaturedCluster-Aufruf zu starten, wenn dieser Intent empfangen wird.
  • com.google.android.engage.action.PUBLISH_CONTINUATION Es wird empfohlen, einen publishContinuationCluster-Aufruf zu starten, wenn dieser Intent empfangen wird.

Integrationsworkflow

Eine detaillierte Anleitung zum Prüfen der Einbindung nach Abschluss finden Sie unter Workflow für die Entwicklerintegration.

FAQs

Weitere Informationen findest du in den häufig gestellten Fragen zum Engage SDK.

Kontakt

Wenden Sie sich an Engage-developers@google.com, wenn während des Integrationsprozesses Fragen auftreten.

Nächste Schritte

Nach Abschluss dieser Integration sind deine nächsten Schritte:

  • Senden Sie eine E-Mail an Engage-developers@google.com und hängen Sie Ihr integriertes APK an, das zum Testen durch Google bereit ist.
  • Google führt eine interne Überprüfung durch, um sicherzustellen, dass die Integration wie erwartet funktioniert. Falls Änderungen erforderlich sind, werden Sie von Google über die erforderlichen Details informiert.
  • Wenn die Tests abgeschlossen sind und keine Änderungen erforderlich sind, werden Sie von Google darüber informiert, dass Sie mit der Veröffentlichung des aktualisierten und integrierten APKs im Play Store beginnen können.
  • Nachdem Google bestätigt hat, dass Ihr aktualisiertes APK im Play Store veröffentlicht wurde, können die Cluster Empfehlung, Empfohlen und Fortsetzung veröffentlicht und für Nutzer sichtbar sein.