Empfang von In-App-Kauf-Benachrichtigungen

In diesem Thema lernen Sie die Anforderungen für die Implementierung eines Endpunkts zum Empfang von In-App-Kaufbenachrichtigungen kennen.

Ü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:

übersicht Beacon In-App-Käufe

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
  • neu - Ausgestellt für ein neues Abonnement
  • renew - Dient zur Erneuerung eines bestehenden Abonnements (Verlängerung des Abonnements)✝︎)
  • abbrechen - Einen bestehenden Kauf abbrechen
  • halten - Das Abonnement wurde wegen Nichtzahlung auf Eis gelegt
  • pause - Abonnement wird vom Benutzer pausiert
  • fortsetzen - Übergang des Abonnements von Halten oder Pause zu 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).