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 :
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 |
|
✝︎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). |