Enviar e recuperar mensagens no aplicativo no Amazon Pinpoint - Amazon Pinpoint

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Enviar e recuperar mensagens no aplicativo no Amazon Pinpoint

Você pode usar mensagens no aplicativo para enviar mensagens direcionadas aos usuários de seus aplicativos. Mensagens no aplicativo são altamente personalizáveis. Elas podem incluir botões que abrem sites ou levam os usuários a partes específicas do seu aplicativo. Você pode configurar as cores de fundo e do texto, posicionar o texto e adicionar botões e imagens à notificação. Você pode enviar uma única mensagem ou criar um carrossel que contenha até cinco mensagens exclusivas. Para uma visão geral das mensagens no aplicativo, incluindo instruções para criar modelos de mensagens no aplicativo, consulte Criação de modelos no aplicativo no Guia do usuário do Amazon Pinpoint.

Você pode usar AWS Amplify para integrar perfeitamente os recursos de mensagens no aplicativo do Amazon Pinpoint ao seu aplicativo. O Amplify pode gerenciar automaticamente os processos de busca de mensagens, renderização de mensagens e envio de dados de análise para o Amazon Pinpoint. Atualmente, essa integração é compatível com aplicativos React Native. Para obter mais informações, consulte Mensagens no aplicativo na documentação do Amplify Framework.

Esta seção fornece informações sobre como solicitar mensagens no aplicativo para um endpoint em seu aplicativo e como interpretar o resultado dessa solicitação.

Recuperação de mensagens no aplicativo para um endpoint

Seus aplicativos podem chamar a GetInAppMessagesAPI para recuperar todas as mensagens no aplicativo às quais um determinado endpoint tem direito. Quando você chama a API GetInAppMessages, fornece os seguintes parâmetros:

  • ApplicationId: o ID exclusivo do projeto do Amazon Pinpoint ao qual a campanha de mensagem no aplicativo está associada.

  • EndpointId: o ID exclusivo do endpoint para o qual você está recuperando mensagens.

Quando você chama a API com esses valores, ela retorna uma lista de mensagens. Para obter mais informações sobre a resposta produzida por essa operação, consulte Entendimento das respostas da API GetInAppMessages

Você pode usar os AWS SDKs para chamar a GetInAppMessages operação. Os exemplos de código a seguir incluem funções que recuperam mensagens no aplicativo.

JavaScript

Crie o cliente em um módulo separado e exporte-o:

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

Recupere mensagens no aplicativo para um endpoint:

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

Entendimento das respostas da API GetInAppMessages

Quando você chama a operação da GetInAppMessagesAPI, ela retorna uma lista de mensagens às quais o endpoint especificado tem direito. Seu aplicativo pode então renderizar a mensagem com base nos valores da resposta.

A lista a seguir é um exemplo do objeto JSON retornado quando você chama a API GetInAppMessages:

{ "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" } ] } }

As seções a seguir fornecem mais informações sobre os componentes dessa resposta.

Objeto InAppMessageCampaigns

O objeto InAppMessageCampaigns contém os seguintes atributos:

Atributo Descrição Onde é definido

CampaignId

Uma cadeia de caracteres que contém o nome e o ID exclusivo da campanha do Amazon Pinpoint da qual a mensagem foi enviada. O nome precede o ID da campanha. Os dois valores são separados por um hífen (-).

Criado automaticamente pelo Amazon Pinpoint quando você cria a campanha.

TreatmentId

Um número inteiro que representa o ID do tratamento da campanha para essa mensagem. Se a campanha tiver apenas um tratamento, o valor será 0.

Priority

A prioridade da mensagem no aplicativo, expressa como um número inteiro entre 1 e 5, em que 1 indica a prioridade mais alta e 5 indica a prioridade mais baixa.

Etapa 1 do processo de criação da campanha.

InAppMessage

Um Objeto InAppMessage que contém informações sobre como a mensagem é renderizada.

Com base no conteúdo do modelo de mensagem no aplicativo que foi especificado para a campanha.

Schedule

Um objeto de programação que contém informações sobre quando a mensagem foi enviada.

Etapa 4 do processo de criação da campanha (se a campanha foi criada no console) ou do objeto Schedule (se a campanha foi criada usando a API ou um SDK).

DailyCap

O número de vezes, mostrado como um número inteiro, em que uma mensagem no aplicativo pode ser exibida ao usuário durante um período de 24 horas.

Herdado das configurações em nível de projeto. Se a campanha incluir configurações que substituam as configurações do projeto, as primeiras serão utilizadas.

SessionCap

O número de vezes, expresso como um número inteiro, em que uma mensagem no aplicativo pode ser exibida ao usuário durante uma sessão do aplicativo.

TotalCap

O número total de vezes, expresso como um número inteiro, em que qualquer mensagem no aplicativo pode ser exibida para um endpoint por campanha.

Objeto InAppMessage

O objeto InAppMessage contém os seguintes atributos:

Atributo Descrição Onde é definido

Content

Uma matriz contendo um InAppMessageContentobjeto, que descreve o conteúdo da mensagem.

Com base no conteúdo do modelo de mensagem no aplicativo que foi especificado para a campanha.

Layout

Uma cadeia de caracteres que descreve como a mensagem no aplicativo será exibida no dispositivo do destinatário. Os valores possíveis são:

  • BOTTOM_BANNER: a mensagem exibida como um banner na parte inferior da página.

  • TOP_BANNER: a mensagem exibida como um banner na parte superior da página.

  • OVERLAYS: a mensagem cobre toda a tela.

  • MOBILE_FEED: a mensagem é mostrada em uma janela na frente da página.

  • MIDDLE_BANNER: a mensagem exibida como um banner no meio da página.

  • CAROUSEL: um layout rolável de até cinco mensagens exclusivas.

Objeto HeaderConfig

O objeto HeaderConfig contém os seguintes atributos:

Atributo Descrição Onde é definido

Alignment

Uma cadeia de caracteres que especifica o alinhamento do texto do cabeçalho. Os valores possíveis são LEFT, CENTER e RIGHT.

Com base no conteúdo do modelo de mensagem no aplicativo que foi especificado para a campanha.

Header

O texto do cabeçalho da mensagem.

TextColor

A cor do texto do cabeçalho, expressa como um código de cor hexadecimal (como “#000000” para preto).

Objeto BodyConfig

O objeto BodyConfig contém os seguintes atributos:

Atributo Descrição Onde é definido

Alignment

Uma cadeia de caracteres que especifica o alinhamento do texto do corpo da mensagem. Os valores possíveis são LEFT, CENTER e RIGHT.

Com base no conteúdo do modelo de mensagem no aplicativo que foi especificado para a campanha.

Body

O corpo do texto principal da mensagem.

TextColor

A cor do corpo do texto, expressa como uma cadeia de caracteres que consiste em um código de cor hexadecimal (como “#000000” para preto).

Objeto InAppMessageContent

O objeto InAppMessageContent contém os seguintes atributos:

Atributo Descrição Onde é definido

BackgroundColor

A cor de fundo da mensagem no aplicativo, expressa como uma cadeia de caracteres que contém um código de cor hexadecimal (como “#000000” para preto).

Com base no conteúdo do modelo de mensagem no aplicativo que foi especificado para a campanha.

BodyConfig

Um BodyConfigobjeto que contém informações relacionadas ao conteúdo principal do corpo da mensagem.

HeaderConfig

Um HeaderConfigobjeto que contém informações relacionadas ao cabeçalho ou título da mensagem.

ImageUrl

O URL da imagem que aparece na mensagem.

PrimaryBtn

Um InAppMessageButtonobjeto que contém informações sobre o botão principal na mensagem.

SecondaryBtn

Um InAppMessageButtonobjeto que contém informações sobre o botão secundário na mensagem. Não está presente se o modelo de mensagem no aplicativo não especificar um botão secundário.

Objeto Schedule

O objeto Schedule contém os seguintes atributos:

Atributo Descrição Onde é definido

EndDate

O horário programado, no formato ISO 8601, quando a campanha terminou ou terminará.

Etapa 4 do processo de criação da campanha (se a campanha foi criada no console) ou do objeto Schedule (se a campanha foi criada usando a API ou um SDK).

EventFilter

Informações sobre o evento que faz com que a mensagem no aplicativo seja exibida. Quando você gera um evento que corresponde a uma campanha no aplicativo do Amazon Pinpoint, a mensagem é exibida.

Objeto InAppMessageButton

Um objeto InAppMessageButton contém os seguintes atributos:

Atributo Descrição Onde é definido

DefaultConfig

Um DefaultButtonConfigobjeto que contém informações sobre as configurações padrão de um botão em uma mensagem no aplicativo.

Com base no conteúdo do modelo de mensagem no aplicativo que foi especificado para a campanha.

Android

Um OverrideButtonConfigobjeto que especifica a forma como o botão se comporta em dispositivos Android. Isso substitui a configuração de botão padrão detalhada no objeto DefaultConfig.

IOS

Um OverrideButtonConfigobjeto que especifica a forma como o botão se comporta em dispositivos iOS. Isso substitui a configuração de botão padrão detalhada no objeto DefaultConfig.

Web

Um OverrideButtonConfigobjeto que especifica a forma como o botão se comporta em aplicativos da web. Isso substitui a configuração de botão padrão detalhada no objeto DefaultConfig.

Objeto DefaultButtonConfig

Um objeto DefaultButtonConfig contém os seguintes atributos:

Atributo Descrição Onde é definido

BackgroundColor

A cor de fundo do botão, expressa como uma cadeia de caracteres que contém o código de cor hexadecimal (como “#000000” para preto).

Com base no conteúdo do modelo de mensagem no aplicativo que foi especificado para a campanha.

BorderRadius

O raio da borda do botão em pixels, expresso como um número inteiro. Um número maior resulta em cantos mais arredondados.

ButtonAction

Uma cadeia de caracteres que descreve a ação que ocorre quando um destinatário escolhe um botão em uma mensagem no aplicativo. Os valores possíveis são:

  • LINK: um link para um destino na Web.

  • DEEP_LINK: um link para uma página específica em uma aplicação.

  • CLOSE: ignora a mensagem.

Link

O URL de destino de um botão. Não está presente nos botões onde ButtonAction estáCLOSE.

Text

O texto que aparece no botão.

TextColor

A cor do texto no botão, expressa como uma cadeia de caracteres que contém um código de cor hexadecimal (como “#000000” para preto).

Objeto OverrideButtonConfig

O objeto OverrideButtonConfig só estará presente se o modelo de mensagem no aplicativo usar botões de substituição. Um botão de substituição é um botão que tem uma configuração específica para um determinado tipo de dispositivo, como um dispositivo iOS, um dispositivo Android ou um navegador da web.

Um objeto OverrideButtonConfig contém os seguintes atributos:

Atributo Descrição Onde é definido

ButtonAction

A ação que ocorre quando um destinatário escolhe um botão em uma mensagem no aplicativo. Os valores possíveis são:

  • LINK: um link para um destino na Web.

  • DEEP_LINK: um link para uma página específica em uma aplicação.

  • CLOSE: ignora a mensagem.

Com base no conteúdo do modelo de mensagem no aplicativo que foi especificado para a campanha.

Link

O URL de destino de um botão. Não está presente nos botões em que ButtonAction está CLOSE.

Text

O texto que aparece no botão.

TextColor

A cor do texto no botão, expressa como uma cadeia de caracteres que contém um código de cor hexadecimal (como “#000000” para preto).