Recibir notificaciones de compra en la aplicación

En este tema, aprenderá los requisitos para implementar un punto de enlace para recibir notificaciones de compras en la aplicación.

Resumen

Es necesario que el proveedor del contenido de video y/o la mercancía configure un punto final para que Brightcove Beacon pueda notificar al proveedor que se completó una compra. Cuando se realiza una compra dentro de la aplicación a través de una aplicación Brightcove Beacon, la aplicación se comunica con una de las tiendas de la plataforma, como Apple App Store, para completar la compra. Los puntos finales definidos recibirán una notificación de esta transacción.

Veamos un ejemplo que demuestra el flujo desde la compra hasta la notificación. La empresa ficticia, Acme Symphony, ha implementado un punto final. Un espectador que utiliza una aplicación Brightcove Beacon en iOS realiza una compra. Aquí está el flujo de trabajo de alto nivel:

  • Un espectador compra una suscripción para acceder a videos de sinfonías pasadas y entradas para la próxima temporada de verano de conciertos en vivo.
  • La aplicación Beacon completa la compra a través de Apple App Store.
  • La aplicación Beacon notifica a Beacon de la compra.
  • El subsistema de derechos Beacon otorga al espectador acceso a todos los activos de video en la suscripción comprada.
  • Se envía una notificación al terminal de Acme Symphony.
  • Acme Symphony conoce la compra y puede activar flujos de trabajo adicionales, como enviar entradas al comprador.

El resto del documento aclara la implementación técnica y proporciona detalles para implementar su punto final.

Cómo se implementan las notificaciones

Aquí hay un diagrama de alto nivel del proceso:

baliza de descripción general en la compra de la aplicación

Detalles de aclaración para el diagrama:

  • Amazon Simple Notification Service (Amazon SNS) es un servicio administrado que proporciona la entrega de mensajes de los editores a los suscriptores. Para obtener detalles completos, consulte la Guía para desarrolladores de SNS de Amazon.
  • Después de que usted, el cliente de Brightcove Beacon, reciba la notificación, las acciones variarán. En el ejemplo, dado que se compraron los boletos, sería necesario enviar los boletos. Entonces, una vez que se recibe la notificación, sus reglas comerciales determinarán lo que debe ocurrir.
  • El enfoque de implementación de punto final es totalmente su decisión. Lo más probable es que la decisión se guíe por las tecnologías de back-end utilizadas y las habilidades de sus ingenieros de software.
  • La línea discontinua de las tiendas de la plataforma directamente al backend de Brightcove Beacon es para otras notificaciones, como renovaciones.

Pautas de uso de notificaciones

A continuación se especifican las pautas de uso para las notificaciones:

  • Se admiten notificaciones de compras en la aplicación de las siguientes tiendas:
    • Tienda de aplicaciones de Apple (iOS y AppleTV)
    • Google Play (Android y Android TV)
    • Tienda de canales de Roku
    • Tienda de aplicaciones de Amazon (FireTV)
    • Stripe (Web y Samsung TV)
  • Beacon informará todos los eventos relacionados con la compra, incluidas las siguientes acciones en las suscripciones:
    • Nuevo
    • Renovación
    • Cancelación
    • Aplicable solo a Google Play:
      • Pausa
      • Sostener
      • Reanudar
  • Se proporciona suficiente información en la notificación para que la tienda externa pueda aplicar derechos y/o evitar compras del mismo activo (suscripción) si ya se compró a través de Beacon o tiendas nativas.
  • Los eventos de compra se envían a las tiendas externas después de recibir la notificación de las tiendas de origen. Esto suele ocurrir en menos de 5 minutos (generalmente en segundos).

Especificaciones del punto final de la API

Después de procesar con éxito una suscripción en el sistema Beacon, Beacon entregará un mensaje de tema SNS a un punto final de API configurado específico para un cliente en particular.

Los siguientes son los requisitos para el punto final externo:

  • El punto de enlace de la API debe ser compatible con la integración de AWS SNS. Consulte el documento Fanout to HTTP/S endpoints de Amazon para obtener más detalles. Este documento contiene un enlace a una implementación de un punto de enlace que procesa las solicitudes HTTP POST de Amazon SNS, escritas como un servlet de Java.
  • El punto de enlace de la API debe estar abierto al rango de direcciones IP utilizadas por AWS; consulte Intervalos de direcciones IP de AWS.
  • El extremo de la API pasará por un paso de confirmación de suscripción. Consulte el documento Confirmar la suscripción de Amazon para obtener más detalles.
  • El extremo de la API deberá eliminar el escape del JSON en el campo de mensaje de la notificación. Consulte el documento de formatos de mensajes de análisis de Amazon para obtener más detalles.
  • El extremo de la API debe verificar la firma y la procedencia del mensaje. Consulte el documento Verificación de las firmas de los mensajes de Amazon SNS de Amazon para obtener más detalles.

Para poder recuperarse de los errores, es posible volver a enviar todas las compras de un usuario (filtrando las notificaciones no activas). El extremo de la API externa de la tienda es responsable de volver a procesar todos los mensajes, incluso si se consumieron previamente.

Especificaciones de la carga útil de JSON

La carga útil de JSON que se envía al punto final de la tienda externa puede incluir los siguientes campos:

Nombre Tipo Requerido Valores posibles Notas
tipo de notificación Cadena Siempre nuevo , renovar , Cancelar , pausa , sostener , reanudar
  • new - Emitido para una nueva suscripción
  • renovar - Se utiliza para renovar una suscripción existente (ampliar la suscripción✝︎)
  • cancelar - Cancelar una compra existente
  • hold - La suscripción se puso en espera debido a la falta de pago
  • pausa - La suscripción está en pausa por el usuario
  • reanudar - Transición de suscripción de espera o pausa para continuar
  • ✝︎Esto no siempre es cierto para Apple. Apple usa renovar para indicar la cancelación de una futura renovación. Apple también usa cancel para indicar una cancelación inmediata de la suscripción. Consulte la documentación de tipo de notificación de Apple para obtener detalles completos.
    id_usuario_externo Cadena Siempre Esta es la identificación que Beacon y la tienda externa usan comúnmente para identificar al usuario
    ID de transacción Cadena Siempre Identificador único para la transacción. Cuando se realiza una cancelación, esta identificación debe usarse para cancelar la suscripción o la compra individual. Cuando una suscripción se renueva, reanuda, pausa o pone en espera, este ID se usa para encontrar la suscripción específica que se ve afectada.
    fecha de inicio entero Sí a excepción de las notificaciones de cancelación La fecha en que la compra es efectiva y los derechos del usuario deben comenzar
    fecha final entero Obligatorio para estos tipos de notificación: nuevo, renovar, cancelar y reanudar La fecha en que la compra ya no está en vigor y los derechos del usuario deben finalizar. Para las solicitudes de cancelación, end_date define cuándo el usuario pierde el acceso al contenido.
    tienda_original Cadena Siempre tienda Apple , Google Play , Tienda de Amazon , Raya , Tienda Roku , Evergente , Tienda de balizas La tienda original donde se realizó la compra.
    sku Cadena Siempre Identifica el artículo que se compró. Este es el identificador utilizado en la tienda de origen.
    Nombre del paquete Cadena Siempre El nombre del paquete SVOD o TVOD en Brightcove Beacon
    Fecha de notificación entero Siempre Marca de tiempo del envío del evento desde Beacon al sistema de almacenamiento externo
    Fecha de cancelación entero Obligatorio cuando el tipo de notificación es cancelar Se usa para una solicitud de cancelación y especifica la marca de tiempo de cuando el usuario/la tienda canceló la suscripción
    fecha_final_prueba entero Opcional (aplicable solo a nuevas suscripciones) Si está presente, significa que hay un juicio. Para las suscripciones nuevas, es posible que la fecha de finalización de la prueba sea la misma que la fecha de finalización (caso de uso en el que las tiendas envían una notificación para la prueba y una segunda para cuando comienza la suscripción real).