Réception des notifications d'achat dans l'application

Dans cette rubrique, vous découvrirez les conditions nécessaires à la mise en œuvre d'un point de terminaison pour recevoir des notifications d'achat in-app.

Aperçu

Le fournisseur du contenu vidéo et/ou de la marchandise doit configurer un point de terminaison pour que la balise Brightcove puisse l'informer de la finalisation d'un achat. Lorsqu'un achat in-app est effectué par le biais d'une application Beacon de Brightcove, l'application communique avec l'un des magasins de la plate-forme, comme l'App Store d'Apple, pour finaliser l'achat. Les points d'extrémité définis recevront une notification de cette transaction.

Prenons un exemple qui illustre le flux entre l'achat et la notification. L'entreprise fictive, Acme Symphony, a mis en place un point final. Un spectateur utilisant une application Beacon de Brightcove sur iOS effectue un achat. Voici le flux de travail de haut niveau :

  • Un téléspectateur s'abonne pour avoir accès aux vidéos des symphonies passées et aux billets pour la prochaine saison estivale de concerts en direct.
  • L'application Beacon complète l'achat par l'intermédiaire de l'Apple App Store.
  • L'application Beacon informe Beacon de l'achat.
  • Le sous-système de droits Beacon permet au spectateur d'accéder à toutes les ressources vidéo de l'abonnement acheté.
  • Une notification est envoyée au point de terminaison d'Acme Symphony.
  • Acme Symphony est au courant de l'achat et peut déclencher des flux de travail supplémentaires, comme l'envoi de billets à l'acheteur.

Le reste du document clarifie la mise en œuvre technique et fournit des précisions sur la mise en œuvre de votre point final.

Comment les notifications sont mises en œuvre

Voici un schéma de haut niveau du processus :

vue d'ensemble beacon in app purchase

Détails de clarification du diagramme :

  • Amazon Simple Notification Service (Amazon SNS) est un service géré qui assure la transmission de messages des éditeurs aux abonnés. Pour plus de détails, consultez le guide du développeur SNS d'Amazon.
  • Une fois la notification reçue par vous, le client de Brightcove Beacon, les actions varient. Dans l'exemple, les billets ayant été achetés, ils doivent être envoyés. Ainsi, une fois la notification reçue, vos règles de gestion détermineront ce qui doit se passer.
  • L'approche de la mise en œuvre du point final relève entièrement de votre décision. La décision sera très probablement guidée par les technologies backend utilisées et les compétences de vos ingénieurs logiciels.
  • La ligne en pointillé qui relie directement les magasins de la plate-forme au backend Beacon de Brightcove est destinée à d'autres notifications, comme les renouvellements.

Lignes directrices pour l'utilisation des notifications

Les directives d'utilisation pour les notifications sont les suivantes :

  • Les notifications relatives aux achats intégrés dans les boutiques suivantes sont prises en charge :
    • Apple App Store (iOS et AppleTV)
    • Google Play (Android et Android TV)
    • Magasin de chaînes Roku
    • Amazon Appstore (FireTV)
    • Stripe (Web et Samsung TV)
  • Beacon signalera tous les événements liés aux achats, y compris les actions suivantes concernant les abonnements :
    • Nouveau
    • Renouvellement
    • Annulation
    • Applicable à Google Play uniquement :
      • Pause
      • Tenir
      • Curriculum vitae
  • La notification contient suffisamment d'informations pour que le magasin externe puisse appliquer les droits et/ou empêcher l'achat du même bien (abonnement) s'il a déjà été acheté par l'intermédiaire de Beacon ou des magasins locaux.
  • Les événements d'achat sont livrés aux points de vente externes après réception d'une notification des points de vente sources. Cela se produit généralement en moins de 5 minutes (habituellement en quelques secondes).

Spécifications des points de terminaison de l'API

Après avoir traité avec succès un abonnement dans le système Beacon, Beacon enverra un message de sujet SNS à un point d'extrémité API configuré pour un client particulier.

Les exigences relatives au point final externe sont les suivantes :

  • Le point de terminaison de l'API doit être compatible avec l'intégration AWS SNS. Voir le document Fanout to HTTP/S endpoints d' Amazon pour plus de détails. Ce document contient un lien vers une implémentation d'un point de terminaison qui traite les requêtes HTTP POST d'Amazon SNS, écrites sous la forme d'un servlet Java.
  • Le point de terminaison de l'API doit être ouvert à la plage d'adresses IP utilisée par AWS. Voir Plages d'adresses IP AWS.
  • Le point de terminaison de l'API passera par une étape de confirmation de l'abonnement. Voir Amazon Confirmer l'abonnement document pour plus de détails.
  • Le point de terminaison de l'API devra décompresser le JSON dans le champ message de la notification. Voir Amazon Analyser les formats de message document pour plus de détails.
  • Le point de terminaison de l'API doit vérifier la signature et la provenance du message. Pour plus de détails, consultez le document d'Amazon intitulé Verifying the signatures of Amazon SNS messages (en anglais).

Pour pouvoir récupérer les erreurs, il est possible de renvoyer tous les achats d'un utilisateur (en filtrant les notifications non actives). Le point de terminaison de l'API externe du magasin est responsable du retraitement de tous les messages, même s'ils ont déjà été consommés.

Spécifications de la charge utile JSON

La charge utile JSON envoyée au point de terminaison du magasin externe peut inclure les champs suivants :

Prénom Type Obligatoire Valeurs possibles Remarques
type_de_notification Chaîne Toujours nouveau, renouvellement, annulation, pause, maintien, reprise
  • nouveau - Émis pour un nouvel abonnement
  • renouveler - Utilisé pour renouveler un abonnement existant (prolonger l'abonnement✝ ︎)
  • annuler - Annuler un achat existant
  • en attente - L'abonnement a été suspendu en raison d'un non-paiement
  • pause - L'abonnement est suspendu par l'utilisateur
  • reprise - Passage de l'abonnement en attente ou en pause à la poursuite
  • ✝︎Ce n'est pas toujours le cas pour Apple. Apple utilise l'expression " renouveler " pour indiquer l'annulation de futur renouvellement. Apple utilise également un cancel pour indiquer l'annulation immédiate de l'abonnement. Voir Apple type de notification documentation pour plus de détails.
    utilisateur_externe Chaîne Toujours Il s'agit de l'identifiant généralement utilisé par Beacon et le magasin externe pour identifier l'utilisateur
    transaction_id Chaîne Toujours Identifiant unique de la transaction. En cas d'annulation, cet identifiant doit être utilisé pour annuler l'abonnement ou l'achat individuel. Lorsqu'un abonnement est renouvelé, repris, mis en pause ou mis en attente, cet identifiant est utilisé pour trouver l'abonnement spécifique concerné.
    date_début entier Oui, à l'exception des notifications d'annulation Date à laquelle l'achat prend effet et les droits de l'utilisateur doivent commencer
    date_fin entier Requis pour les types de notifications suivants : nouvelle, renouvellement, annulation et reprise Date à laquelle l'achat n'est plus en vigueur et les droits de l'utilisateur doivent prendre fin. Pour les demandes d'annulation, la date de fin définit le moment où l'utilisateur perd l'accès au contenu.
    magasin_originel Chaîne Toujours Apple Store, Google Play, Amazon Store, Stripe, Roku Store, Evergent, Beacon Store Le magasin d'origine où l'achat a été effectué
    sku Chaîne Toujours Identifie l'article acheté. Il s'agit de l'identifiant utilisé dans le magasin source.
    nom_du_paquet Chaîne Toujours Nom du bouquet SVOD ou TVOD dans Brightcove Beacon
    date_de_notification entier Toujours Horodatage de l'envoi de l'événement de Beacon au système de stockage externe
    date_d'annulation entier Requis lorsque le type de notification est "annulation" Utilisé pour une demande d'annulation et spécifie l'horodatage de l'annulation de l'abonnement par l'utilisateur/le magasin
    date de fin d'essai entier Facultatif (applicable uniquement aux nouveaux abonnements) S'il est présent, cela signifie qu'il y a un procès. Pour les nouveaux abonnements, il est possible que la date de fin d'essai soit identique à la date de fin (cas d'utilisation où les magasins envoient une notification pour l'essai et une seconde pour le début de l'abonnement réel).