Überblick
Der Anbieter des Videocontents und/oder der Waren muss einen Endpunkt einrichten, damit Brightcove Beacon den Anbieter benachrichtigen kann, dass ein Kauf abgeschlossen wurde. Wenn ein In-App-Kauf über eine Brightcove Beacon-App getätigt wird, kommuniziert die App mit einem der Plattformstores, z. B. dem Apple App Store, um den Kauf abzuschließen. Die definierten Endpunkte erhalten eine Benachrichtigung über diese Transaktion.
Schauen wir uns ein Beispiel an, das den Fluss vom Kauf bis zur Benachrichtigung verdeutlicht. Das fiktive Unternehmen, Acme Symphony, hat einen Endpunkt eingerichtet. Ein Betrachter, der eine Brightcove Beacon-App auf iOS verwendet, tätigt einen Kauf. Hier ist der Arbeitsablauf in groben Zügen:
- Wer ein Abonnement erwirbt, erhält Zugang zu Videos vergangener Sinfonien und Eintrittskarten für die kommende Sommersaison mit Live-Konzerten.
- Die Beacon-App schließt den Kauf über den Apple App Store ab.
- Die Beacon-App benachrichtigt Beacon über den Kauf.
- Das Beacon-Berechtigungs-Teilsystem gewährt dem Betrachter Zugriff auf alle Videoinhalte des erworbenen Abonnements.
- Eine Benachrichtigung wird an den Endpunkt von Acme Symphony gesendet.
- Acme Symphony weiß über den Kauf Bescheid und ist in der Lage, zusätzliche Workflows auszulösen, wie z. B. den Versand von Tickets an den Käufer.
Der Rest des Dokuments verdeutlicht die technische Implementierung und enthält Einzelheiten zur Implementierung Ihres Endpunkts.
Wie Benachrichtigungen implementiert werden
Hier ist ein Übersichtsdiagramm des Prozesses:
Details zur Verdeutlichung des Diagramms:
- Amazon Simple Notification Service (Amazon SNS) ist ein verwalteter Service, der die Übermittlung von Nachrichten von Herausgebern an Abonnenten ermöglicht. Alle Einzelheiten finden Sie im SNS-Entwicklerhandbuch von Amazon.
- Nachdem die Benachrichtigung bei Ihnen, dem Brightcove Beacon-Kunden, eingegangen ist, gibt es verschiedene Aktionen. Da in diesem Beispiel Eintrittskarten gekauft wurden, müssten diese verschickt werden. Sobald die Benachrichtigung eingeht, bestimmen Ihre Geschäftsregeln, was geschehen muss.
- Der Ansatz für die Endpunktimplementierung ist allein Ihre Entscheidung. Die Entscheidung wird höchstwahrscheinlich von den verwendeten Backend-Technologien und den Fähigkeiten Ihrer Software-Ingenieure geleitet werden.
- Die gestrichelte Linie von den Plattformspeichern direkt zum Brightcove Beacon-Backend ist für andere Benachrichtigungen, z. B. Verlängerungen, vorgesehen.
Richtlinien für die Verwendung von Benachrichtigungen
Im Folgenden werden die Verwendungsrichtlinien für Benachrichtigungen aufgeführt:
- Benachrichtigungen über In-App-Käufe in den folgenden Shops werden unterstützt:
- Apple App Store (iOS und AppleTV)
- Google Play (Android und Android TV)
- Roku-Kanal-Shop
- Amazon Appstore (FireTV)
- Stripe (Web und Samsung TV)
- Beacon meldet alle kaufbezogenen Ereignisse, einschließlich der folgenden Aktionen bei Abonnements:
- Neu
- Erneuerung
- Stornierung
- Gilt nur für Google Play:
- Pause
- Halten Sie
- Lebenslauf
- Die Benachrichtigung enthält genügend Informationen, damit der externe Shop in der Lage ist, Berechtigungen zuzuweisen und/oder den Kauf desselben Assets (Abonnements) zu verhindern, wenn dieses bereits über Beacon oder native Shops erworben wurde.
- Kaufereignisse werden an externe Geschäfte geliefert, nachdem sie von den Quellgeschäften benachrichtigt wurden. Dies geschieht in der Regel in weniger als 5 Minuten (meist innerhalb von Sekunden).
API-Endpunkt-Spezifikationen
Nach erfolgreicher Bearbeitung eines Abonnements im Beacon-System liefert Beacon eine SNS-Themennachricht an einen konfigurierten API-Endpunkt, der für einen bestimmten Kunden spezifisch ist.
Im Folgenden sind die Anforderungen an den externen Endpunkt aufgeführt:
- Der API-Endpunkt muss mit der AWS SNS-Integration kompatibel sein. Siehe Amazons Dokument Fanout to HTTP/S endpoints für weitere Details. Dieses Dokument enthält einen Link zu einer Implementierung eines Endpunkts, der Amazon SNS HTTP POST Anfragen verarbeitet und als Java Servlet geschrieben wurde.
- Der API-Endpunkt muss für den von AWS verwendeten IP-Adressbereich offen sein - siehe AWS IP-Adressbereiche.
- Der API-Endpunkt durchläuft einen Schritt zur Bestätigung des Abonnements. Weitere Einzelheiten finden Sie in Amazons Dokument "Bestätigung des Abonnements ".
- Der API-Endpunkt muss das JSON im Nachrichtenfeld der Benachrichtigung entschlüsseln. Weitere Einzelheiten finden Sie im Dokument Parsing message formats von Amazon.
- Der API-Endpunkt muss die Signatur und die Herkunft der Nachricht überprüfen. Weitere Einzelheiten finden Sie in Amazons Dokument zur Überprüfung der Signaturen von Amazon SNS-Nachrichten .
Um Fehler zu beheben, ist es möglich, alle Einkäufe eines Benutzers erneut zu versenden (wobei alle nicht aktiven Benachrichtigungen herausgefiltert werden). Der externe API-Endpunkt des Speichers ist für die erneute Verarbeitung aller Nachrichten verantwortlich, auch wenn diese zuvor konsumiert wurden.
JSON-Nutzdaten-Spezifikationen
Die JSON-Nutzdaten, die an den externen Speicherendpunkt gesendet werden, können folgende Felder enthalten:
Nennen | Typ | Erforderlich | Mögliche Werte | Anmerkungen |
---|---|---|---|---|
benachrichtigung_art | Zeichenfolge | Immer | neu, Erneuern, Abbrechen, Pause, Halten, Fortsetzen |
|
✝︎Dies trifft nicht immer auf Apple zu. Apple verwendet renew , um eine Annullierung von zukünftigen erneuerung. Apple verwendet auch eine Stornierung , um die sofortige Beendigung des Abonnements anzuzeigen. Ausführliche Informationen finden Sie in der Dokumentation notification_type von Apple. | ||||
external_user_id | Zeichenfolge | Immer | Dies ist die ID, die üblicherweise von Beacon und dem externen Speicher zur Identifizierung des Benutzers verwendet wird | |
transaktions_id | Zeichenfolge | Immer | Eindeutiger Bezeichner für die Transaktion. Bei einer Kündigung sollte diese ID verwendet werden, um das Abonnement oder den Einzelkauf zu stornieren. Wenn ein Abonnement erneuert, wieder aufgenommen, pausiert oder in die Warteschleife gestellt wird, wird diese ID verwendet, um das betroffene Abonnement zu finden. | |
start_datum | ganze Zahl | Ja, mit Ausnahme von Stornierungsmitteilungen | Das Datum, an dem der Kauf in Kraft tritt und die Ansprüche an den Nutzer beginnen sollen | |
end_date | ganze Zahl | Erforderlich für diese Meldungsarten: Neu, Erneuerung, Stornierung und Wiederaufnahme | Das Datum, an dem der Kauf nicht mehr gültig ist und die Ansprüche des Nutzers enden sollten. Bei Löschungsanträgen legt das end_date fest, wann der Nutzer den Zugriff auf den Inhalt verliert. |
|
original_store | Zeichenfolge | Immer | Apple Store, Google Play, Amazon Store, Stripe, Roku Store, Evergent, Beacon Store | Das ursprüngliche Geschäft, in dem der Kauf getätigt wurde |
sku | Zeichenfolge | Immer | Identifiziert den Artikel, der gekauft wurde. Dies ist die im Quellspeicher verwendete Kennung. | |
paket_name | Zeichenfolge | Immer | Der Name des SVOD- oder TVOD-Pakets in Brightcove Beacon | |
datum_der_benachrichtigung | ganze Zahl | Immer | Zeitstempel der Übermittlung des Ereignisses von Beacon an das externe Speichersystem | |
storno_datum | ganze Zahl | Erforderlich, wenn die Benachrichtigungsart Abbrechen lautet | Wird für eine Stornierungsanfrage verwendet und gibt den Zeitstempel an, wann der Benutzer/Shop das Abonnement storniert hat | |
trial_end_date | ganze Zahl | Optional (gilt nur für neue Abonnements) | Wenn vorhanden, bedeutet dies, dass eine Prüfung stattfindet. Bei neuen Abonnements ist es möglich, dass das Enddatum des Probeabonnements mit dem Enddatum übereinstimmt (Anwendungsfall, bei dem die Geschäfte eine Benachrichtigung für das Probeabonnement und eine zweite für den Beginn des echten Abonnements versenden). |