Engage SDK Shopping: Anleitung zur technischen Integration von Drittanbietern

Google entwickelt eine On-Device-Oberfläche, Apps nach Branchen und ermöglicht ein neues immersives Erlebnis zur Nutzung personalisierter App-Inhalte. und Auffindbarkeit. Diese Vollbildansicht bietet Entwicklern die Möglichkeit, ihre besten hochwertigen Inhalte in einem eigenen Kanal außerhalb von Google zu präsentieren. ihrer App.

Dieser Leitfaden enthält Anweisungen für Entwicklerpartner zur Integration mit dem Engage SDK die neue Oberfläche und bestehende Google-Plattformen wie Entertainment Space.

Integrationsdetails

Terminologie

Diese Integration umfasst die folgenden fünf Clustertypen: Empfehlung, Empfohlen, Einkaufswagen, Einkaufsliste, Neu anordnen und Bestellverfolgung:

  • Empfehlungscluster zeigen personalisierte Shopping-Vorschläge aus einer einzelnen Entwicklerpartner. Diese Empfehlungen können auf die Nutzer oder generalisiert werden (z. B. Trendartikel). Verwenden Sie diese, um Produkten, Veranstaltungen, Sonderangeboten, Werbeaktionen oder Abos.

    Ihre Empfehlungen haben folgende Struktur:

    • Empfehlungscluster:Eine UI-Ansicht, die eine Gruppe von vom selben Entwicklerpartner erhalten.

    • ShoppingEntity:Ein Objekt, das einen einzelnen Artikel in einem Cluster darstellt.

  • Im Cluster Empfohlen wird der ausgewählte Held ShoppingEntity aus vielen präsentiert. Entwicklerpartner in einer UI-Gruppierung zusammengefasst. Es gibt einen einzelnen Cluster, der oben in der UI angezeigt wird, mit einer Priorität die über allen Empfehlungsclustern liegt. Jeder Entwicklerpartner eine einzelne ShoppingEntity im Cluster „Featured“ veröffentlichen.

  • Der Cluster Einkaufswagen bietet eine Vorschau der Einkaufswagen von vielen Entwicklerpartner in einer UI-Gruppierung zusammengefasst, um Nutzer zum Abschließen ihrer ausstehende Warenkörbe. Es gibt einen Einkaufswagen-Cluster, erscheinen im oberen Bereich der Benutzeroberfläche, wobei vor allem eine Prioritätsplatzierung Empfehlungscluster. Jeder Entwicklerpartner darf eine nur eine ShoppingCart im Einkaufswagen-Cluster.

    Ihr Einkaufswagen hat folgende Struktur:

    • Einkaufswagen-Cluster: Eine UI-Ansicht, die eine Gruppe von Einkaufswagen enthält. Warenkorbvorschauen von vielen Entwicklerpartnern ansehen.

    • ShoppingCart:Ein Objekt, das die Einkaufswagenvorschau darstellt. für einen einzelnen Entwicklerpartner, die im Einkaufswagen angezeigt werden sollen. Cluster. ShoppingCart muss die Gesamtzahl der Elemente in den sowie Bilder für einige Artikel im Einkaufswagen enthalten.

  • Die Gruppe Einkaufsliste zeigt einen kleinen Vorgeschmack auf das Einkaufsangebot. Listen von mehreren Entwicklerpartnern in einer UI-Gruppierung an, kehren zur entsprechenden App zurück, um die Listen zu aktualisieren und zu vervollständigen. Es gibt eine einzelnen Einkaufslisten-Cluster.

  • Der Cluster Neu anordnen bietet eine Vorschau der vorherigen Bestellungen von mehrere Entwicklerpartner in einer UI-Gruppierung gruppieren, wodurch Nutzer aufgefordert werden, ihre Bestellung nachzubestellen. Es gibt einen einzelnen Reorder-Cluster.

    • Der neu angeordnete Cluster muss die Gesamtzahl der Elemente im vorherige Bestellung des Nutzers und muss außerdem eines der folgenden Elemente enthalten:

      • Bilder für X Artikel in der vorherigen Bestellung des Nutzers.
      • Labels für X Elemente in der vorherigen Bestellung des Nutzers.
  • Der Cluster Shopping Order Tracking (Bestellverfolgung) bietet eine Vorschau auf ausstehende oder kürzlich abgeschlossene Einkaufsbestellungen von vielen Entwicklerpartnern in einer einzigen Benutzeroberfläche Gruppierung, sodass Nutzende ihre Bestellungen verfolgen können.

    Es wird ein einzelner ShoppingOrderTracking-Cluster angezeigt, im oberen Bereich der Benutzeroberfläche mit einer Prioritätsplatzierung über der Empfehlung. Cluster. Jeder Entwicklerpartner darf mehrere ShoppingOrderTrackingEntity-Artikel im Cluster zur Bestellverfolgung.

    • Ihr ShoppingOrderTrackingCluster hat die folgende Struktur:

      • ShoppingOrderTracking Cluster: Eine UI-Ansicht, die eine Gruppe von Vorschauen der Bestellverfolgung von vielen Entwicklerpartnern
      • ShoppingOrderTrackingEntity: Ein Objekt, das eine Bestellung darstellt. für einen einzelnen Entwicklerpartner, die im Cluster zur Bestellverfolgung. Die ShoppingOrderTrackingEntity muss Folgendes anzeigen: Status der Bestellung und die Uhrzeit der Bestellung angezeigt. Wir empfehlen dringend, zum Eingeben der voraussichtlichen Lieferdauer für ShoppingOrderTrackingEntity wie und wird Nutzern angezeigt, sofern sie bereitgestellt werden.

Vorarbeiten

Mindest-API-Level: 19

Fügen Sie Ihrer App die com.google.android.engage:engage-core-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.5.2'
}

Weitere Informationen zur Paketsichtbarkeit in Android 11.

Zusammenfassung

Das Design basiert auf der Implementierung einer gebundenen

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

Clustertyp Cluster limits Maximale Entitätslimits in einem Cluster
Empfehlungscluster Höchstens 5 Höchstens 25 ShoppingEntity
Ausgewählter Cluster Höchstens 1 Höchstens 1 ShoppingEntity
Einkaufswagen-Cluster Höchstens 1 Höchstens 1 ShoppingCart
Einkaufslisten-Cluster Höchstens 1 Höchstens 1 ShoppingListEntity
Shopping-Neuanordnungs-Cluster Höchstens 1 Höchstens 1 ReorderEntity
Cluster zur Bestellverfolgung Höchstens 3 Höchstens 3 ShoppingOrderTrackingEntity

Schritt 1: Entitätsdaten angeben

Im SDK sind verschiedene Entitäten für jeden Elementtyp definiert. Die Folgende Entitäten werden für die Kategorie „Shopping“ unterstützt:

  1. ShoppingEntity
  2. ShoppingCart
  3. ShoppingList
  4. Reorder
  5. ShoppingOrderTracking

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

ShoppingEntity

Das ShoppingEntity-Objekt steht für ein Produkt, eine Werbeaktion, ein Angebot, ein Abo oder Ereignisse, die Entwicklerpartner veröffentlichen möchten.

ShoppingEntity
Attribut Anforderungen Beschreibung Formatieren
Posterbilder Erforderlich Es muss mindestens ein Bild zur Verfügung gestellt werden. Weitere Informationen finden Sie unter Bildspezifikationen.
Aktions-URI Erforderlich

Der Deeplink zur Seite in der App mit Details zum Entität.

Hinweis: Für die Attribution können Sie Deeplinks verwenden. <ph type="x-smartling-placeholder"></ph> Weitere Informationen

Uri
Titel Optional Der Name der Entität.

Freier Text

Empfohlene Textgröße: unter 90 Zeichen (Text mit einer zu lang sind möglicherweise Auslassungspunkte)

Preis – aktuell Bedingt erforderlich

Der aktuelle Preis der Entität.

Muss angegeben werden, wenn ein durchgestrichener Preis angegeben ist.

Freier Text
Preis – durchgestrichen Optional Der ursprüngliche Preis des Elements, der im UI. Freier Text
Zusatzinformationen Optional Callout zum Präsentieren einer Werbeaktion, eines Ereignisses oder einer Aktualisierung für die Entität, falls verfügbar.

Freier Text

Empfohlene Textgröße: unter 45 Zeichen (Text mit zu lang sind möglicherweise Auslassungspunkte)

Kleingedrucktes mit Zusatzinformationen Optional Kleingedruckter Text für die Zusatzinformationen.

Freier Text

Empfohlene Textgröße: unter 45 Zeichen (Text mit Zu lang werden Auslassungspunkte angezeigt)

Bewertung (optional) – Hinweis: Alle Bewertungen sind die mithilfe unseres Standardbewertungssystems angezeigt werden.
Bewertung – Maximalwert Optional

Der Maximalwert der Bewertungsskala.

Muss angegeben werden, wenn der aktuelle Wert der Bewertung ebenfalls bereitgestellt werden.

Zahl >= 0,0
Bewertung – Aktueller Wert Optional

Der aktuelle Wert der Bewertungsskala.

Muss angegeben werden, wenn auch der Maximalwert für die Bewertung vorhanden ist bereitgestellt werden.

Zahl >= 0,0
Bewertung – Anzahl Optional

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

Hinweis:Geben Sie dieses Feld an, wenn Ihre App steuert, wie die Anzahl den Nutzern angezeigt wird. Verwenden Sie einen kurzen String. Wenn die Anzahl beispielsweise 1.000.000 beträgt, sollten Sie eine Abkürzung verwenden z. B. 1 Mio., damit die Anzahl bei kleineren Display-Größen nicht abgeschnitten wird.

String
Bewertung – Anzahl Optional

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

Hinweis: Geben Sie dieses Feld an, wenn Sie nicht für die Anzeige der Abkürzungslogik selbst. Wenn sowohl „Anzahl“ als auch „Anzahl“-Werte vorhanden sind, wird die Anzahl den Nutzern angezeigt.

Lang
DisplayTimeWindow (optional): Zeitfenster festlegen bis ein Inhalt auf der Oberfläche angezeigt wird.
Startzeitstempel Optional

Der Epochenzeitstempel, nach dem der Inhalt im Oberfläche.

Wenn die Richtlinie nicht konfiguriert ist, können Inhalte auf der Oberfläche angezeigt werden.

Epochen-Zeitstempel in Millisekunden
Endzeitstempel Optional

Der Epochenzeitstempel, nach dem der Inhalt nicht mehr zu sehen ist an die Oberfläche.

Wenn die Richtlinie nicht konfiguriert ist, können Inhalte auf der Oberfläche angezeigt werden.

Epochen-Zeitstempel in Millisekunden

ShoppingCart

Attribut Anforderungen Beschreibung Formatieren
Aktions-URI Erforderlich

Der Deeplink zum Einkaufswagen in der Partner-App.

Hinweis: Für die Attribution können Sie Deeplinks verwenden. <ph type="x-smartling-placeholder"></ph> Weitere Informationen

Uri
Anzahl der Elemente Erforderlich

Die Anzahl der Artikel im Einkaufswagen (nicht nur die Anzahl der Produkte).

<ph type="x-smartling-placeholder"></ph> Beispiel: Wenn sich drei identische T-Shirts und ein Hut im Warenkorb befinden, sollte diese Zahl 4 sein.

Ganzzahl >= 1
Aktionstext Optional

Der Call-to-Action-Text der Schaltfläche im Einkaufswagen (z. B. Meine Einkaufstasche).

Wenn der Entwickler keinen Aktionstext eingibt, Die Standardeinstellung ist Einkaufswagen ansehen.

Dieses Attribut wird ab Version 1.1.0 unterstützt.

String
Titel Optional

Der Titel des Einkaufswagens, z. B. Meine Einkaufswagen.

Wenn der Entwickler keinen Titel angibt, Ihr Einkaufswagen ist die Standardeinstellung.

Freier Text

Empfohlene Textgröße: unter 25 Zeichen (Text mit einer Zu lang werden Auslassungspunkte angezeigt)

Bilder des Einkaufswagens Optional

Bilder der einzelnen Produkte im Einkaufswagen.

Es können bis zu 10 Bilder in der Reihenfolge ihrer Priorität bereitgestellt werden. die Die tatsächliche Anzahl der angezeigten Bilder hängt vom Geräteformat ab Faktor.

Weitere Informationen finden Sie unter Bildspezifikationen.
Elementlabels Optional

Die Liste der Labels für die Artikel auf der Einkaufsliste.

Tatsächliche Anzahl der angezeigten Labels hängt vom Formfaktor des Geräts ab.

Liste der kostenlosen Textlabels

Empfohlene Textgröße: unter 20 Zeichen (Text mit einer Zu lang werden Auslassungspunkte angezeigt)

DisplayTimeWindow (optional): Zeitfenster festlegen bis ein Inhalt auf der Oberfläche angezeigt wird.
Startzeitstempel Optional

Der Epochenzeitstempel, nach dem der Inhalt im Oberfläche.

Wenn die Richtlinie nicht konfiguriert ist, können Inhalte auf der Oberfläche angezeigt werden.

Epochen-Zeitstempel in Millisekunden
Endzeitstempel Optional

Der Epochenzeitstempel, nach dem der Inhalt nicht mehr zu sehen ist an die Oberfläche.

Wenn die Richtlinie nicht konfiguriert ist, können Inhalte auf der Oberfläche angezeigt werden.

Epochen-Zeitstempel in Millisekunden

ShoppingList

Attribut Anforderungen Beschreibung Formatieren
Aktions-URI Erforderlich

Der Deeplink zur Einkaufsliste in der App des Partners.

Hinweis: Für die Attribution können Sie Deeplinks verwenden. <ph type="x-smartling-placeholder"></ph> Weitere Informationen

Uri
Anzahl der Elemente Erforderlich Die Anzahl der Artikel auf der Einkaufsliste. Ganzzahl >= 1
Titel Optional

Der Titel der Liste, z. B. Meine Lebensmittelliste.

Wenn der Entwickler keinen Titel angibt, Standardmäßig ist Einkaufsliste ausgewählt.

Freier Text

Empfohlene Textgröße: unter 25 Zeichen (Text mit einer Zu lang werden Auslassungspunkte angezeigt)

Elementlabels Erforderlich

Die Liste der Labels für die Artikel auf der Einkaufsliste.

Es muss mindestens ein Label angegeben werden und es können bis zu zehn Labels angegeben werden werden in der Reihenfolge ihrer Priorität bereitgestellt. die tatsächliche Anzahl der angezeigten Labels hängt vom Formfaktor des Geräts ab.

Liste der kostenlosen Textlabels

Empfohlene Textgröße: unter 20 Zeichen (Text mit einer Zu lang werden Auslassungspunkte angezeigt)

ShoppingReorderCluster

Attribut Anforderungen Beschreibung Formatieren
Aktions-URI Erforderlich

Der Deeplink, der in der App des Partners neu angeordnet werden soll.

Hinweis: Für die Attribution können Sie Deeplinks verwenden. <ph type="x-smartling-placeholder"></ph> Weitere Informationen

Uri
Aktionstext Optional

Der Call-to-Action-Text der Schaltfläche in der Neuanordnung (z. B. Noch einmal bestellen).

Wenn der Entwickler keinen Aktionstext eingibt, Neu anordnen ist die Standardeinstellung.

Dieses Attribut wird ab Version 1.1.0 unterstützt.

String
Anzahl der Elemente Erforderlich

Die Anzahl der Artikel (nicht nur die Anzahl der Produkte) in den vorherigen Reihenfolge.

<ph type="x-smartling-placeholder"></ph> Beispiel: Wenn es im Raum drei kleine Kaffees und ein Croissant gibt, in der vorherigen Bestellung besteht, sollte diese Zahl 4 sein.

Ganzzahl >= 1
Titel Erforderlich Der Titel des neu angeordneten Artikels.

Freier Text

Empfohlene Textgröße: unter 40 Zeichen (Text mit Zu lang werden Auslassungspunkte angezeigt)

Elementlabels

Optional

(Falls nicht, sollten auch Posterbilder zur Verfügung gestellt werden.)

Die Liste der Artikellabels für den vorherigen Auftrag.

Es können bis zu 10 Labels in der Reihenfolge ihrer Priorität bereitgestellt werden. die Die tatsächliche Anzahl der angezeigten Labels hängt vom Geräteformat ab Faktor.

Liste mit Freitext

Empfohlene Textgröße pro Label: unter 20 Zeichen (Zu langer Text zeigt möglicherweise Auslassungspunkte an.)

Posterbilder

Optional

(Falls nicht angegeben, müssen Artikellabels angegeben werden.)

Bilder der Artikel in der vorherigen Bestellung.

Es können bis zu 10 Bilder in der Reihenfolge ihrer Priorität bereitgestellt werden. die Die tatsächliche Anzahl der angezeigten Bilder hängt vom Geräteformat ab Faktor.

Weitere Informationen finden Sie unter Bildspezifikationen.

ShoppingOrderTrackingCluster

Attribut Anforderungen Beschreibung Formatieren
Titel Erforderlich

Ein kurzer Titel des Pakets/Artikels, das verfolgt wird, oder der Sendung Nummer.

Freier Text

Empfohlene Textgröße: 50 Zeichen. Bei zu langem Text Ellipsen einblenden)

Bestellart Erforderlich

Ein kurzer Titel des Pakets/Artikels, das verfolgt wird, oder der Sendung Nummer.

Aufzählung: IN_STORE_PICKUP, SAME_DAY_DELIVERY, MULTI_DAY_DELIVERY

Status Erforderlich

Der aktuelle Status der Bestellung.

Beispiele: „Verspätung“, „Unterwegs“, „Verspätung“, „Versendet“, „Zugestellt“, „Nicht auf Lager“, „Bestellbar“

Freier Text

Empfohlene Textgröße: 25 Zeichen. Bei zu langem Text Ellipsen einblenden)

Bestellzeitpunkt Erforderlich

Der Epochenzeitstempel in Millisekunden, zu dem die Bestellung aufgegeben wurde.

Die Bestellzeit wird im voraussichtliche Lieferzeitfenster angezeigt. ist nicht vorhanden

Epochen-Zeitstempel in Millisekunden
Aktions-URI Erforderlich

Deeplink zur Bestellverfolgung in der Partner-App.

Uri
OrderDeliveryTimeWindow (optional): Uhrzeit festlegen Zeitfenster für den Auftrag, der vom Zeitpunkt der Bestellung an verfolgt wird zum Zeitpunkt der erwarteten/tatsächlichen Lieferung platziert.
OrderDeliveryTimeWindow - Startzeit Optional

Der Epochenzeitstempel in Millisekunden ab dem oder nach dem die Bestellung ausgeführt wird geliefert werden oder zur Abholung bereit sein müssen.

Epochen-Zeitstempel in Millisekunden
OrderDeliveryTimeWindow - Endzeit Optional

Der Epochenzeitstempel in Millisekunden, ab dem bzw. vor dem die Bestellung erfolgt geliefert werden oder zur Abholung bereit sein müssen.

Epochen-Zeitstempel in Millisekunden
Posterbilder Optional

Bild eines Artikels/Produkts, das Teil der Bestellung ist.

Empfohlenes Seitenverhältnis: 1:1

Weitere Informationen finden Sie unter Bildspezifikationen.
Anzahl der Elemente Optional Die Anzahl der Artikel in der Bestellung. Ganzzahl >= 1
Beschreibung Optional

Ein einzelner Textabschnitt, der die Artikel in der Bestellung beschreibt.

Hinweis: Es wird entweder eine Beschreibung oder eine Untertitelliste angezeigt werden, nicht beides.

Freier Text

Empfohlene Textgröße: 180 Zeichen

Untertitelliste Optional

Bis zu drei Untertitel mit jeweils einer Textzeile.

Hinweis: Es wird entweder eine Beschreibung oder eine Untertitelliste angezeigt werden, nicht beides.

Freier Text

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

Bestellwert – CurrentPrice Optional Der aktuelle Wert des Auftrags. Freier Text
Bestellnummer Optional Die Bestellnummer/ID, anhand derer die Bestellung eindeutig identifiziert werden kann.

Freier Text

Empfohlene Textgröße: max. 25 Zeichen

Sendungsnummer Optional Die Verfolgungsnummer für die Bestellung/Paketzustellung für den Fall, dass die Bestellung eine Lieferung erfordert.

Freier Text

Empfohlene Textgröße: max. 25 Zeichen

Bildspezifikationen

Im Folgenden finden Sie die erforderlichen Spezifikationen für Bild-Assets:

Seitenverhältnis Mindestanzahl Pixel Empfohlene Pixel

Quadrat (1 × 1)

Bevorzugt für nicht vorgestellte Cluster

300 × 300 1200 × 1200

Querformat (1,91 x 1)

Bevorzugt für vorgestellte Cluster

600 × 314 1200 × 628
Hochformat (4:5) 480 × 600 960 × 1200

Dateiformate

PNG, JPG, statisches GIF, WebP

Maximale Dateigröße

5.120 KB

Weitere Empfehlungen

  • Bildbereich:Wichtige Inhalte sollten in den mittleren 80% des Bild.
  • Verwenden Sie einen transparenten Hintergrund, damit das Bild Einstellungen für das dunkle und helle Design.

Schritt 2: Clusterdaten bereitstellen

Es wird empfohlen, den Job zur Inhaltsveröffentlichung im Hintergrund auszuführen. (z. B. mit WorkManager) regelmäßig oder auf Ereignisbasis (z. B. jedes Mal wenn der Nutzer die App öffnet oder gerade etwas in den Einkaufswagen gelegt hat.

AppEngageShoppingClient ist für die Veröffentlichung von Shopping-Clustern zuständig.

Die folgenden APIs werden für die Veröffentlichung von Clustern im Client verfügbar gemacht:

  • isServiceAvailable
  • publishRecommendationClusters
  • publishFeaturedCluster
  • publishShoppingCart
  • publishShoppingList
  • publishShoppingReorderCluster
  • publishShoppingOrderTrackingCluster
  • publishUserAccountManagementRequest
  • updatePublishStatus
  • deleteRecommendationsClusters
  • deleteFeaturedCluster
  • deleteShoppingCartCluster
  • deleteShoppingListCluster
  • deleteShoppingReorderCluster
  • deleteShoppingOrderTrackingCluster
  • deleteUserManagementCluster
  • deleteClusters

isServiceAvailable

Mit dieser API wird geprüft, ob der Dienst für die Integration verfügbar ist ob die Inhalte auf dem Gerät angezeigt werden können.

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

Diese API wird verwendet, um eine Liste von RecommendationCluster-Objekten zu veröffentlichen.

Ein RecommendationCluster-Objekt kann die folgenden Attribute haben:

Attribut Anforderungen Beschreibung
Liste der ShoppingEntity Erforderlich Eine Liste der ShoppingEntity-Objekte, die die Empfehlungen für dieses Empfehlungs-Clusters.
Titel Erforderlich

Der Titel für den Empfehlungscluster.

Empfohlene Textgröße: unter 25 Zeichen (Text mit einer Zu lang werden Auslassungspunkte angezeigt)

Untertitel Optional Die Unterüberschrift für das Empfehlungscluster.
Aktions-URI Optional

Der Deeplink zu der Seite in der Partner-App, auf der Nutzer die vollständige Liste der Empfehlungen.

Hinweis: Für die Attribution können Sie Deeplinks verwenden. <ph type="x-smartling-placeholder"></ph> Weitere Informationen

Kotlin

client.publishRecommendationClusters(
            PublishRecommendationClustersRequest.Builder()
                .addRecommendationCluster(
                    RecommendationCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .setTitle("Black Friday Deals")
                        .build())
                .build())

Java

client.publishRecommendationClusters(
            new PublishRecommendationClustersRequest.Builder()
                .addRecommendationCluster(
                    new RecommendationCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .setTitle("Black Friday Deals")
                        .build())
                .build());

Wenn der Dienst die Anfrage empfängt, werden die folgenden Aktionen innerhalb von eine Transaktion:

  • Alle vorhandenen Empfehlungsclusterdaten werden entfernt.
  • Daten aus der Anfrage werden geparst und in neuen Empfehlungsclustern gespeichert.

Tritt ein Fehler auf, wird die gesamte Anfrage abgelehnt und der aktuelle Status lautet beibehalten werden.

publishFeaturedCluster

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

Kotlin

client.publishFeaturedCluster(
            PublishFeaturedClusterRequest.Builder()
                .setFeaturedCluster(
                    FeaturedCluster.Builder()
                        ...
                        .build())
                .build())

Java

client.publishFeaturedCluster(
            new PublishFeaturedClusterRequest.Builder()
                .setFeaturedCluster(
                    new FeaturedCluster.Builder()
                        ...
                        .build())
                .build());

Wenn der Dienst die Anfrage erhält, werden die folgenden Aktionen innerhalb von eine Transaktion:

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

Tritt ein Fehler auf, wird die gesamte Anfrage abgelehnt und der aktuelle Status lautet beibehalten werden.

publishShoppingCart

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

Kotlin

client.publishShoppingCart(
            PublishShoppingCartRequest.Builder()
                .setShoppingCart(
                    ShoppingCart.Builder()
                        ...
                        .build())
                .build())

Java

client.publishShoppingCart(
            new PublishShoppingCartRequest.Builder()
                .setShoppingCart(
                    new ShoppingCart.Builder()
                        ...
                        .build())
                .build())

Wenn der Dienst die Anfrage erhält, werden die folgenden Aktionen innerhalb von eine Transaktion:

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

Tritt ein Fehler auf, wird die gesamte Anfrage abgelehnt und der aktuelle Status lautet beibehalten werden.

publishShoppingList

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

Kotlin

client.publishFoodShoppingList(
            PublishFoodShoppingListRequest.Builder()
                .setFoodShoppingList(
                    FoodShoppingListEntity.Builder()
                        ...
                        .build())
                .build())

Java

client.publishFoodShoppingList(
            new PublishFoodShoppingListRequest.Builder()
                .setFoodShoppingList(
                    new FoodShoppingListEntity.Builder()
                        ...
                        .build())
                .build());

Wenn der Dienst die Anfrage erhält, werden die folgenden Aktionen innerhalb von eine Transaktion:

  • Vorhandene FoodShoppingList-Daten des Entwicklerpartners werden entfernt.
  • Die Daten aus der Anfrage werden geparst und in der aktualisierten Einkaufsliste gespeichert. Cluster.

Tritt ein Fehler auf, wird die gesamte Anfrage abgelehnt und der aktuelle Status lautet beibehalten werden.

publishShoppingReorderCluster

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

Kotlin

client.publishShoppingReorderCluster(
            PublishShoppingReorderClusterRequest.Builder()
                .setReorderCluster(
                    ShoppingReorderCluster.Builder()
                        ...
                        .build())
                .build())

Java

client.publishShoppingReorderCluster(
            new PublishShoppingReorderClusterRequest.Builder()
                .setReorderCluster(
                    new ShoppingReorderCluster.Builder()
                        ...
                        .build())
                .build());

Wenn der Dienst die Anfrage erhält, werden die folgenden Aktionen innerhalb von eine Transaktion:

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

Tritt ein Fehler auf, wird die gesamte Anfrage abgelehnt und der aktuelle Status lautet beibehalten werden.

publishShoppingOrderTrackingCluster

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

Kotlin

client.publishShoppingOrderTrackingCluster(
            PublishShoppingOrderTrackingClusterRequest.Builder()
                .setShoppingOrderTrackingCluster(
                    ShoppingOrderTrackingCluster.Builder()
                        ...
                        .build())
                .build())

Java

client.publishShoppingOrderTrackingCluster(
            new PublishShoppingOrderTrackingClusterRequest.Builder()
                .setShoppingOrderTrackingCluster(
                    new ShoppingOrderTrackingCluster.Builder()
                        ...
                        .build())
                .build());

Wenn der Dienst die Anfrage erhält, werden die folgenden Aktionen innerhalb von eine Transaktion:

  • Vorhandene ShoppingOrderTrackingCluster-Daten vom Entwicklerpartner sind entfernt.
  • Die Daten aus der Anfrage werden geparst und in der aktualisierten Shopping Order gespeichert. Tracking-Cluster.

Tritt ein Fehler auf, wird die gesamte Anfrage abgelehnt und der aktuelle Status lautet beibehalten werden.

publishUserAccountManagementRequest

Dieses API wird verwendet, um eine Anmeldekarte zu veröffentlichen . Bei der Anmeldung werden Nutzer weitergeleitet zu Anmeldeseite der App hinzufügen, damit die App Inhalte veröffentlichen oder weitere personalisierte Inhalte)

Die folgenden Metadaten sind Teil der Anmeldekarte:

Attribut Anforderungen Beschreibung
Aktions-URI Erforderlich Deeplink zu Aktion (z.B. Weiterleitung zur Anmeldeseite der App)
Bild Optional – falls nicht angegeben, muss ein Titel angegeben werden

Bild auf der Karte

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

Titel Optional – falls nicht angegeben, muss ein Bild angegeben werden Titel auf der Karte
Aktionstext Optional Text, der im CTA angezeigt wird (z.B. „Anmelden“)
Untertitel Optional Optionale 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 die folgenden Aktionen innerhalb von eine Transaktion:

  • Vorhandene UserAccountManagementCluster-Daten vom Entwicklerpartner sind entfernt.
  • Die Daten aus der Anfrage werden geparst und in der aktualisierten UserAccountManagementCluster-Cluster.

Tritt ein Fehler auf, wird die gesamte Anfrage abgelehnt und der aktuelle Status lautet beibehalten werden.

updatePublishStatus

Wenn aus einem internen Geschäftsgrund keiner der Cluster veröffentlicht wird, Wir empfehlen dringend, den Veröffentlichungsstatus mithilfe der updatePublishStatus verwenden. Dies ist aus folgenden Gründen wichtig :

  • Angabe des Status in allen Szenarien, auch wenn die Inhalte veröffentlicht wurden (STATUS == VERÖFFENTLICHT) ist wichtig, um Dashboards mit diesem expliziten Status, um den Zustand und andere Messwerte deiner Integration zu vermitteln.
  • Wenn keine Inhalte veröffentlicht werden, der Integrationsstatus aber nicht fehlerhaft ist (STATUS == NOT_PUBLISHED), Google kann verhindern, dass Benachrichtigungen in der App ausgelöst werden Gesundheits-Dashboards. Er bestätigt, dass Inhalte aufgrund eines erwartete Situation aus Sicht des Anbieters.
  • Es hilft Entwickelnden, Erkenntnisse darüber zu geben, wann die Daten veröffentlicht werden nicht.
  • Google kann die Statuscodes verwenden, um Nutzer zu bestimmten Aktionen im damit sie den App-Inhalt sehen oder überwinden können.

Die Liste der zulässigen Veröffentlichungsstatuscodes sieht so aus :

// 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 der Inhalt nicht veröffentlicht wird, weil ein Nutzer nicht angemeldet ist, Google empfiehlt, die Log-in-Karte zu veröffentlichen. Wenn Anbieter die Anmeldekarte aus irgendeinem Grund nicht veröffentlichen können sollten Sie die API updatePublishStatus aufrufen, mit dem Statuscode 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

Diese API wird verwendet, um den Inhalt von Empfehlungsclustern zu löschen.

Kotlin

client.deleteRecommendationClusters()

Java

client.deleteRecommendationClusters();

Wenn der Dienst die Anfrage erhält, werden die vorhandenen Daten aus der Empfehlungscluster. Bei einem Fehler wird die gesamte Anfrage abgelehnt. und der bestehende Zustand beibehalten wird.

deleteFeaturedCluster

Diese API wird verwendet, um den Inhalt von empfohlenen Clustern zu löschen.

Kotlin

client.deleteFeaturedCluster()

Java

client.deleteFeaturedCluster();

Wenn der Dienst die Anfrage erhält, werden die vorhandenen Daten aus der Empfohlener Cluster. Bei einem Fehler wird die gesamte Anfrage abgelehnt. und der bestehende Zustand beibehalten wird.

deleteShoppingCartCluster

Diese API wird verwendet, um den Inhalt des Einkaufswagen-Clusters zu löschen.

Kotlin

client.deleteShoppingCartCluster()

Java

client.deleteShoppingCartCluster();

Wenn der Dienst die Anfrage erhält, werden die vorhandenen Daten aus der Einkaufswagen-Cluster. Bei einem Fehler wird die gesamte Anfrage abgelehnt. und der bestehende Zustand beibehalten wird.

deleteShoppingListCluster

Diese API wird verwendet, um den Inhalt des Einkaufslistenclusters zu löschen.

Kotlin

client.deleteShoppingListCluster()

Java

client.deleteShoppingListCluster();

Wenn der Dienst die Anfrage erhält, werden die vorhandenen Daten aus der Einkaufslisten-Cluster. Bei einem Fehler wird die gesamte Anfrage abgelehnt. und der bestehende Zustand beibehalten wird.

deleteShoppingReorderCluster

Diese API wird verwendet, um den Inhalt des Shopping-Reorder-Clusters zu löschen.

Kotlin

client.deleteShoppingReorderCluster()

Java

client.deleteShoppingReorderCluster();

Wenn der Dienst die Anfrage erhält, werden die vorhandenen Daten aus der Shopping-Neuanordnungs-Cluster. Bei einem Fehler wird die gesamte Anfrage abgelehnt. und der bestehende Zustand beibehalten wird.

deleteShoppingOrderTrackingCluster

Diese API wird verwendet, um den Inhalt des Clusters zur Bestellverfolgung zu löschen.

Kotlin

client.deleteShoppingOrderTrackingCluster()

Java

client.deleteShoppingOrderTrackingCluster();

Wenn der Dienst die Anfrage erhält, werden die vorhandenen Daten aus der Cluster zur Bestellverfolgung. Tritt ein Fehler auf, wird die gesamte Anfrage abgelehnt und der bestehende Status wird beibehalten.

deleteUserManagementCluster

Diese API wird verwendet, um den Inhalt des UserAccountManagement-Clusters zu löschen.

Kotlin

client.deleteUserManagementCluster()

Java

client.deleteUserManagementCluster();

Wenn der Dienst die Anfrage erhält, werden die vorhandenen Daten aus der UserAccountManagement-Cluster. Tritt ein Fehler auf, wird die gesamte Anfrage abgelehnt und der bestehende Status wird beibehalten.

deleteClusters

Diese API wird verwendet, um den Inhalt eines bestimmten Clustertyps zu löschen.

Kotlin

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

Java

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

Wenn der Dienst die Anfrage erhält, werden die vorhandenen Daten aus allen Cluster, die den angegebenen Clustertypen entsprechen. Kunden können ein oder mehrere viele Clustertypen. Tritt ein Fehler auf, wird die gesamte Anfrage abgelehnt und der der aktuelle Zustand beibehalten wird.

Fehlerbehandlung

Es wird dringend empfohlen, das Aufgabenergebnis der Publish-APIs wie dass eine Folgeaktion ergriffen werden kann, um eine erfolgreiche Aufgabe wiederherzustellen und erneut zu senden.

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 zurückgegeben, wobei die Ursache Fehlercode angezeigt.

Fehlercode Hinweis
SERVICE_NOT_FOUND Der Dienst ist auf dem betreffenden Gerät nicht verfügbar.
SERVICE_NOT_AVAILABLE Der Dienst ist auf dem jeweiligen Gerät verfügbar, aber nicht. zum Zeitpunkt des Aufrufs ändern (z. B. explizit deaktiviert).
SERVICE_CALL_EXECUTION_FAILURE Die Aufgabe konnte aufgrund von Threading-Problemen nicht ausgeführt werden. In diesem Fall kann es erneut versuchen können.
SERVICE_CALL_PERMISSION_DENIED Der Aufrufer ist nicht berechtigt, den Dienstaufruf durchzuführen.
SERVICE_CALL_INVALID_ARGUMENT Die Anfrage enthält ungültige Daten (zum Beispiel mehr als die zulässigen Clusteranzahl).
SERVICE_CALL_INTERNAL Dienstseitig ist ein Fehler aufgetreten.
SERVICE_CALL_RESOURCE_EXHAUSTED Der Dienstaufruf erfolgt zu häufig.

Schritt 3: Mit Broadcast-Intents umgehen

Neben den Aufrufen der Content API zum Veröffentlichen über einen Job für die Einrichtung eines BroadcastReceiver zum Empfangen von um die Veröffentlichung von Inhalten zu beantragen.

Das Ziel von Broadcast-Intents besteht hauptsächlich darin, die App wieder zu aktivieren und Daten zu erzwingen synchronisieren. Broadcast-Intents sind nicht für das häufige Senden konzipiert. Es ist nur die ausgelöst werden, wenn Google Engage für Agenturen feststellt, dass die Inhalte veraltet sind (für z. B. eine Woche alt). Auf diese Weise besteht ein größeres Vertrauen, dass die Nutzenden Inhalte aktualisieren, auch wenn die App seit einem lange Zeit verbringen.

BroadcastReceiver muss auf zwei Arten eingerichtet werden:

  • Dynamisches Registrieren einer Instanz der BroadcastReceiver-Klasse mithilfe von Context.registerReceiver(). Dies ermöglicht die Kommunikation von Anwendungen die sich noch im Arbeitsspeicher 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 shopping cart cluster publish when PUBLISH_SHOPPING_CART broadcast
  // is received
  // Trigger shopping list cluster publish when PUBLISH_SHOPPING_LIST broadcast
  // is received
  // Trigger reorder cluster publish when PUBLISH_REORDER_CLUSTER broadcast is
  // received
  // Trigger shopping order tracking cluster publish when
  // PUBLISH_SHOPPING_ORDER_TRACKING_CLUSTER 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 Shopping Cart Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_SHOPPING_CART))

// Register Shopping List Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_SHOPPING_LIST))

// Register Reorder Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_REORDER_CLUSTER))

// Register Shopping Order Tracking Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_SHOPPING_ORDER_TRACKING_CLUSTER))
}

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 shopping cart cluster publish when PUBLISH_SHOPPING_CART broadcast is
// received

// Trigger shopping list cluster publish when PUBLISH_SHOPPING_LIST broadcast is
// received

// Trigger reorder cluster publish when PUBLISH_REORDER_CLUSTER broadcast is
// received

// Trigger reorder cluster publish when PUBLISH_SHOPPING_ORDER_TRACKING_CLUSTER
// 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 Shopping Cart Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.shopping.service.Intents.ACTION_PUBLISH_SHOPPING_CART));

// Register Shopping List Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.shopping.service.Intents.ACTION_PUBLISH_SHOPPING_LIST));

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

// Register Shopping Order Tracking Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.shopping.service.Intents.ACTION_PUBLISH_SHOPPING_ORDER_TRACKING_CLUSTER));

}
  • Sie müssen eine Implementierung mit dem <receiver>-Tag in Ihrem AndroidManifest.xml-Datei. Dadurch kann die Anwendung Nachrichten an alle Intents erstellt, wenn sie nicht ausgeführt wird, und ermöglicht der App, für den Inhalt.
<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.shopping.PUBLISH_SHOPPING_CART" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.shopping.PUBLISH_SHOPPING_LIST" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.shopping.PUBLISH_REORDER_CLUSTER" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.shopping.PUBLISH_SHOPPING_ORDER_TRACKING_CLUSTER" />
      </intent-filter>
   </receiver>
</application>

Die folgenden Intents werden vom Dienst:

  • com.google.android.engage.action.PUBLISH_RECOMMENDATION Es wird empfohlen, einen publishRecommendationClusters-Aufruf zu starten, wenn Intent empfangen wird.
  • com.google.android.engage.action.PUBLISH_FEATURED Es wird empfohlen, einen publishFeaturedCluster-Aufruf zu starten, wenn dieser Intent erhalten haben.
  • com.google.android.engage.action.shopping.PUBLISH_SHOPPING_CART Es wird empfohlen, einen publishShoppingCart-Aufruf zu starten, wenn dieser Intent erhalten haben.
  • com.google.android.engage.action.shopping.PUBLISH_SHOPPING_LIST Es wird empfohlen, einen publishShoppingList-Aufruf zu starten, wenn dieser Intent erhalten haben.
  • com.google.android.engage.action.shopping.PUBLISH_REORDER_CLUSTER Es wird empfohlen, einen publishReorderCluster-Aufruf zu starten, wenn dieser Intent erhalten haben.
  • com.google.android.engage.action.shopping.PUBLISH_SHOPPING_ORDER_TRACKING_CLUSTER Es empfiehlt sich, einen publishShoppingOrderTrackingCluster-Anruf zu starten, wenn dieser Intent empfangen wird.

Integrationsablauf

Eine detaillierte Anleitung zur Verifizierung deiner Integration nach Abschluss findest du unter Workflow zur Einbindung von Entwicklern:

Häufig gestellte Fragen

Weitere Informationen finden Sie in den häufig gestellten Fragen zum Engage SDK für FAQs

Kontakt

Kontakt Engage-developers@google.com, falls folgende Voraussetzungen erfüllt sind: Fragen während des Integrationsprozesses stellen. Unser Team antwortet möglich.

Nächste Schritte

Nach Abschluss der Integration sind folgende Schritte erforderlich:

  • E-Mail senden an Engage-developers@google.com und fügen Sie dein integriertes APK, das von Google getestet werden kann.
  • Google führt eine Überprüfung durch und prüft diese intern, um sicherzustellen, wie erwartet funktioniert. Falls Änderungen erforderlich sind, kontaktiert Google Sie. mit allen erforderlichen Details.
  • Wenn die Tests abgeschlossen sind und keine Änderungen erforderlich sind, kontaktiert Google Sie, benachrichtigt, dass Sie mit der Veröffentlichung des aktualisierten und integrierten APK im Play Store
  • Nachdem Google bestätigt hat, dass Ihr aktualisiertes APK im Play Store, deine Empfehlung, Angesagt, Einkaufswagen Einkaufsliste, Cluster für neu anzuordnen und Cluster zur Bestellverfolgung Cluster können veröffentlicht und für Nutzer sichtbar sein.