Senden und Abrufen von In-App-Nachrichten in Amazon Pinpoint - Amazon Pinpoint

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Senden und Abrufen von In-App-Nachrichten in Amazon Pinpoint

Sie können In-App-Nachrichten verwenden, um gezielt Nachrichten an Benutzer Ihrer Anwendungen zu senden. In-App-Nachrichten sind stark anpassbar. Sie können Schaltflächen enthalten, mit denen Websites geöffnet oder Benutzer zu bestimmten Teilen Ihrer Anwendung weitergeleitet werden. Sie können Hintergrund- und Textfarben konfigurieren, den Text positionieren und Benachrichtigungen Schaltflächen und Bilder hinzufügen. Sie können eine einzelne Nachricht senden oder ein Karussell erstellen, das bis zu fünf einzelne Nachrichten enthält. Eine Übersicht über In-App-Nachrichten, einschließlich Anweisungen zum Erstellen von In-App-Nachrichtenvorlagen, finden Sie unter In-App-Vorlagen erstellen im Amazon-Pinpoint-Benutzerhandbuch.

Sie können AWS Amplify damit die In-App-Messaging-Funktionen von Amazon Pinpoint nahtlos in Ihre App integrieren. Amplify kann die Prozesse zum Abruf von Nachrichten, zur Ausgabe von Nachrichten und zum Senden von Analysedaten an Amazon Pinpoint automatisch abwickeln. Diese Integration wird derzeit für React-Native-Anwendungen unterstützt. Weitere Informationen finden Sie unter In-App Messaging (In-App-Nachrichten) in der Amplify-Framework-Dokumentation.

Dieser Abschnitt enthält Informationen zum Anfordern der In-App-Nachrichten für einen Endpunkt in Ihrer App und zur Interpretation des Ergebnisses dieser Anforderung.

Abrufen von In-App-Nachrichten für einen Endpunkt

Ihre Anwendungen können die GetInAppMessagesAPI aufrufen, um alle In-App-Nachrichten abzurufen, für die ein bestimmter Endpunkt berechtigt ist. Wenn Sie die GetInAppMessages-API aufrufen, geben Sie die folgenden Parameter an:

  • ApplicationId: Die eindeutige ID des Amazon-Pinpoint-Projekts, dem die Kampagne zugeordnet ist.

  • EndpointId: Die eindeutige ID des Endpunkts, für den Sie Nachrichten abrufen.

Wenn Sie die API mit diesen Werten aufrufen, gibt sie eine Liste von Nachrichten zurück. Weitere Informationen zur von dieser Operation produzierten Antwort finden Sie unter Verstehen von GetInAppMessages-API-Antworten.

Sie können die AWS SDKs verwenden, um den Vorgang aufzurufen. GetInAppMessages Die folgenden Codebeispiele enthalten Funktionen, die In-App-Nachrichten abrufen.

JavaScript

Erstellen Sie den Client in einem separaten Modul und exportieren Sie ihn:

import { PinpointClient } from "@aws-sdk/client-pinpoint"; const REGION = "us-east-1"; const pinClient = new PinpointClient({ region: REGION }); export { pinClient };

In-App-Nachrichten für einen Endpunkt abrufen:

// Import required AWS SDK clients and commands for Node.js import { PinpointClient, GetInAppMessagesCommand } from "@aws-sdk/client-pinpoint"; import { pinClient } from "./lib/pinClient.js"; ("use strict"); //The Amazon Pinpoint application ID. const projectId = "4c545b28d21a490cb51b0b364example"; //The ID of the endpoint to retrieve messages for. const endpointId = "c5ac671ef67ee3ad164cf7706example"; const params = { ApplicationId: projectId, EndpointId: endpointId }; const run = async () => { try { const data = await pinClient.send(new GetInAppMessagesCommand(params)); console.log(JSON.stringify(data, null, 4)); return data; } catch (err) { console.log("Error", err); } }; run();
Python
import logging import boto3 from botocore.exceptions import ClientError logger = logging.getLogger(__name__) def retrieve_inapp_messages( pinpoint_client, project_id, endpoint_id): """ Retrieves the in-app messages that a given endpoint is entitled to. :param pinpoint_client: A Boto3 Pinpoint client. :param project_id: An Amazon Pinpoint project ID. :param endpoint_id: The ID of the endpoint to retrieve messages for. :return: A JSON object that contains information about the in-app message. """ try: response = pinpoint_client.get_in_app_messages( ApplicationId=project_id, EndpointId=endpoint_id) except ClientError: logger.exception("Couldn't retrieve messages.") raise else: return response def main(): project_id = "4c545b28d21a490cb51b0b364example" endpoint_id = "c5ac671ef67ee3ad164cf7706example" inapp_response = retrieve_inapp_messages( boto3.client('pinpoint'), project_id, endpoint_id) print(inapp_response) if __name__ == '__main__': main()

Verstehen von GetInAppMessages-API-Antworten

Wenn Sie den GetInAppMessagesAPI-Vorgang aufrufen, gibt er eine Liste von Nachrichten zurück, für die der angegebene Endpunkt berechtigt ist. Ihre App kann die Nachricht dann auf der Grundlage der Werte in der Antwort rendern.

Nachstehend finden Sie ein Beispiel eines JSON-Objekts, das zurückgegeben wird, wenn Sie die GetInAppMessages-API aufrufen:

{ "InAppMessagesResponse":{ "InAppMessageCampaigns":[ { "CampaignId":"inAppTestCampaign-4c545b28d21a490cb51b0b364example", "DailyCap":0, "InAppMessage":{ "Content":[ { "BackgroundColor":"#f8e71c", "BodyConfig":{ "Alignment":"CENTER", "Body":"This is a sample in-app message sent using Amazon Pinpoint.", "TextColor":"#d0021b" }, "HeaderConfig":{ "Alignment":"CENTER", "Header":"Sample In-App Message", "TextColor":"#d0021b" }, "ImageUrl":"https://example.com/images/thumbnail.png", "PrimaryBtn":{ "DefaultConfig":{ "BackgroundColor":"#d0021b", "BorderRadius":50, "ButtonAction":"CLOSE", "Text":"Dismiss", "TextColor":"#f8e71c" } } } ], "Layout":"MIDDLE_BANNER" }, "Priority":3, "Schedule":{ "EndDate":"2021-11-06T00:08:05Z", "EventFilter":{ "Dimensions":{ "Attributes":{ }, "EventType":{ "DimensionType":"INCLUSIVE", "Values":[ "_session.start" ] }, "Metrics":{ } } } }, "SessionCap":0, "TotalCap":0, "TreatmentId":"0" } ] } }

In den folgenden Abschnitten erhalten Sie weitere Informationen zu den Komponenten dieser Antwort.

InAppMessageCampaigns-Objekt

Das InAppMessageCampaigns-Objekt enthält die folgenden Attribute:

Attribut Beschreibung Anwendungsbereiche

CampaignId

Eine Zeichenfolge, die den Namen und die eindeutige Kampagnen-ID der Amazon-Pinpoint-Kampagne enthält, von der aus die Nachricht gesendet wurde. Der Name steht vor der Kampagnen-ID. Die beiden Werte werden durch einen Bindestrich (-) getrennt.

Wird automatisch von Amazon Pinpoint erstellt, wenn Sie die Kampagne erstellen.

TreatmentId

Eine Ganzzahl, die die ID der Kampagnenbehandlung für diese Nachricht darstellt. Wenn die Kampagne nur eine Behandlung hat, ist der Wert 0.

Priority

Die Priorität der In-App-Nachricht, ausgedrückt als Ganzzahl zwischen 1 und 5, wobei 1 die höchste Priorität und 5 die niedrigste ist.

Schritt 1 des Prozesses zur Kampagnenerstellung.

InAppMessage

Ein InAppMessage-Objekt, das Informationen darüber enthält, wie die Nachricht gerendert wird.

Basierend auf dem Inhalt der In-App-Nachrichtenvorlage, die für die Kampagne angegeben wurde.

Schedule

Ein Schedule-Objekt, das Informationen darüber enthält, wann die Nachricht gesendet wurde.

Schritt 4 des Prozesses zur Kampagnenerstellung (wenn die Kampagne in der Konsole erstellt wurde) oder des Schedule-Objekts (wenn die Kampagne mithilfe der API oder eines SDK erstellt wurde).

DailyCap

Die Häufigkeit, ausgedrückt als Ganzzahl, mit der eine In-App-Nachricht dem Benutzer innerhalb von 24 Stunden angezeigt werden kann.

Von Einstellungen auf Projektebene übernommen. Wenn die Kampagne Einstellungen enthält, die die Projekteinstellungen überschreiben, werden diese stattdessen verwendet.

SessionCap

Die Häufigkeit, ausgedrückt als Ganzzahl, dass dem Benutzer während einer Anwendungssitzung eine In-App-Nachricht angezeigt werden kann.

TotalCap

Die Gesamtzahl der Male, ausgedrückt als Ganzzahl, pro Kampagne eine In-App-Nachricht einem Endpunkt angezeigt werden kann.

InAppMessage-Objekt

Das InAppMessage-Objekt enthält die folgenden Attribute:

Attribut Beschreibung Anwendungsbereiche

Content

Ein Array, InAppMessageContentdas ein Objekt enthält, das den Inhalt der Nachricht beschreibt.

Basierend auf dem Inhalt der In-App-Nachrichtenvorlage, die für die Kampagne angegeben wurde.

Layout

Eine Zeichenfolge, die beschreibt, wie die In-App-Nachricht auf dem Gerät des Empfängers angezeigt wird. Die möglichen Werte sind:

  • BOTTOM_BANNER – eine Nachricht, die als Banner unten auf der Seite angezeigt wird.

  • TOP_BANNER – eine Nachricht, die als Banner oben auf der Seite angezeigt wird.

  • OVERLAYS – eine Nachricht, die den gesamten Bildschirm abdeckt.

  • MOBILE_FEED – eine Nachricht, die in einem Fenster vor der Seite angezeigt wird.

  • MIDDLE_BANNER – eine Nachricht, die als Banner in der Mitte der Seite angezeigt wird.

  • CAROUSEL – ein scrollbares Layout mit bis zu fünf eindeutigen Nachrichten.

HeaderConfig-Objekt

Das HeaderConfig-Objekt enthält die folgenden Attribute:

Attribut Beschreibung Anwendungsbereiche

Alignment

Eine Zeichenfolge, die die Textausrichtung des Kopfzeilentexts angibt. Mögliche Werte sind LEFT, CENTER und RIGHT.

Basierend auf dem Inhalt der In-App-Nachrichtenvorlage, die für die Kampagne angegeben wurde.

Header

Der Text der Nachrichtenkopfzeile.

TextColor

Die Farbe des Kopfzeilentexts, ausgedrückt als Hex-Farbcode (z. B. #000000 für Schwarz).

BodyConfig-Objekt

Das BodyConfig-Objekt enthält die folgenden Attribute:

Attribut Beschreibung Anwendungsbereiche

Alignment

Eine Zeichenfolge, die die Textausrichtung des Nachrichtentexts angibt. Mögliche Werte sind LEFT, CENTER und RIGHT.

Basierend auf dem Inhalt der In-App-Nachrichtenvorlage, die für die Kampagne angegeben wurde.

Body

Der Haupttext Text der Nachricht.

TextColor

Die Farbe des Textkörpers, ausgedrückt als eine Zeichenfolge für einen Hex-Farbcode (z. B. #000000 für Schwarz).

InAppMessageContent-Objekt

Das InAppMessageContent-Objekt enthält die folgenden Attribute:

Attribut Beschreibung Anwendungsbereiche

BackgroundColor

Die Hintergrundfarbe für ein In-App-Nachrichtenbanner, ausgedrückt als Zeichenfolge mit Hex-Farbcode (z. B. #000000 für Schwarz).

Basierend auf dem Inhalt der In-App-Nachrichtenvorlage, die für die Kampagne angegeben wurde.

BodyConfig

Ein BodyConfigObjekt, das Informationen enthält, die sich auf den Hauptinhalt der Nachricht beziehen.

HeaderConfig

Ein HeaderConfigObjekt, das Informationen enthält, die sich auf die Kopfzeile oder den Titel der Nachricht beziehen.

ImageUrl

Die URL des Bildes, das in der Nachricht angezeigt wird.

PrimaryBtn

Ein InAppMessageButtonObjekt, das Informationen über die Hauptschaltfläche in der Nachricht enthält.

SecondaryBtn

Ein InAppMessageButtonObjekt, das Informationen über die sekundäre Schaltfläche in der Nachricht enthält. Nicht vorhanden, wenn die In-App-Nachrichtenvorlage keine sekundäre Schaltfläche angibt.

Schedule-Objekt

Das Schedule-Objekt enthält die folgenden Attribute:

Attribut Beschreibung Anwendungsbereiche

EndDate

Die geplante Zeit im ISO 8601-Format, zu der die Kampagne beendet wird.

Schritt 4 des Prozesses zur Kampagnenerstellung (wenn die Kampagne in der Konsole erstellt wurde) oder des Schedule-Objekts (wenn die Kampagne mithilfe der API oder eines SDK erstellt wurde).

EventFilter

Informationen über das Ereignis, das dazu führt, dass die In-App-Nachricht angezeigt wird. Wenn Sie ein Ereignis generieren, das mit einer Amazon-Pinpoint-In-App-Kampagne übereinstimmt, wird die Nachricht angezeigt.

InAppMessageButton-Objekt

Ein InAppMessageButton-Objekt enthält die folgenden Attribute:

Attribut Beschreibung Anwendungsbereiche

DefaultConfig

Ein DefaultButtonConfigObjekt, das Informationen über die Standardeinstellungen für eine Schaltfläche in einer In-App-Nachricht enthält.

Basierend auf dem Inhalt der In-App-Nachrichtenvorlage, die für die Kampagne angegeben wurde.

Android

Ein OverrideButtonConfigObjekt, das angibt, wie sich die Schaltfläche auf Android-Geräten verhält. Dies überschreibt die Standard-Schaltflächenkonfiguration, die im DefaultConfig-Objekt detailliert beschrieben ist.

IOS

Ein OverrideButtonConfigObjekt, das angibt, wie sich die Schaltfläche auf iOS-Geräten verhält. Dies überschreibt die Standard-Schaltflächenkonfiguration, die im DefaultConfig-Objekt detailliert beschrieben ist.

Web

Ein OverrideButtonConfigObjekt, das angibt, wie sich die Schaltfläche in Web-Apps verhält. Dies überschreibt die Standard-Schaltflächenkonfiguration, die im DefaultConfig-Objekt detailliert beschrieben ist.

DefaultButtonConfig-Objekt

Ein DefaultButtonConfig-Objekt enthält die folgenden Attribute:

Attribut Beschreibung Anwendungsbereiche

BackgroundColor

Die Hintergrundfarbe der Schaltfläche, ausgedrückt als Zeichenfolge mit Hex-Farbcode (z. B. #000000 für Schwarz).

Basierend auf dem Inhalt der In-App-Nachrichtenvorlage, die für die Kampagne angegeben wurde.

BorderRadius

Der Radius des Rahmens der Schaltfläche in Pixeln, ausgedrückt als Ganzzahl. Eine größere Zahl führt zu mehr abgerundeten Ecken.

ButtonAction

Eine Zeichenfolge, die die Aktion beschreibt, die auftritt, wenn ein Empfänger eine Schaltfläche in der In-App-Nachricht auswählt. Die möglichen Werte sind:

  • LINK – Ein Link zu einem Webziel.

  • DEEP_LINK – Ein Link zu einer bestimmten Seite in einer Anwendung.

  • CLOSE – Lehnt die Nachricht ab.

Link

Die Ziel-URL für eine Schaltfläche. Nicht vorhanden für Schaltflächen, bei denen sich der ButtonAction befindetCLOSE.

Text

Der Text, der auf der Schaltfläche angezeigt wird.

TextColor

Die Farbe des Texts auf der Schaltfläche, ausgedrückt als Zeichenfolge mit Hex-Farbcode (z. B. #000000 für Schwarz).

OverrideButtonConfig-Objekt

Das OverrideButtonConfig-Objekt ist nur vorhanden, wenn die In-App-Nachrichtenvorlage Schaltflächen zum Überschreiben verwendet. Eine Override-Schaltfläche ist eine Schaltfläche, die eine spezifische Konfiguration für einen bestimmten Gerätetyp hat, z. B. ein iOS-Gerät, ein Android-Gerät oder einen Webbrowser.

Ein OverrideButtonConfig-Objekt enthält die folgenden Attribute:

Attribut Beschreibung Anwendungsbereiche

ButtonAction

Die Aktion, die auftritt, wenn ein Empfänger eine Schaltfläche in der In-App-Nachricht auswählt. Die möglichen Werte sind:

  • LINK – Ein Link zu einem Webziel.

  • DEEP_LINK – Ein Link zu einer bestimmten Seite in einer Anwendung.

  • CLOSE – Lehnt die Nachricht ab.

Basierend auf dem Inhalt der In-App-Nachrichtenvorlage, die für die Kampagne angegeben wurde.

Link

Die Ziel-URL für eine Schaltfläche. Nicht vorhanden für Schaltflächen, bei denen die ButtonAction CLOSE lautet.

Text

Der Text, der auf der Schaltfläche angezeigt wird.

TextColor

Die Farbe des Texts auf der Schaltfläche, ausgedrückt als Zeichenfolge mit Hex-Farbcode (z. B. #000000 für Schwarz).