Roku SDK Repository-Leitfaden
Über das Braze Roku SDK
Mit dem Braze Roku SDK können Sie Braze-Funktionen für Messaging, Analytics und Nutzer-Engagement in Ihre Anwendung integrieren.
Für den Einstieg nutzen Sie die folgenden Ressourcen:
Erste SDK-Integration
Das Braze Roku SDK stellt Ihnen eine API zur Verfügung, mit der Sie Informationen übermitteln können, die Sie für Analytics, Segmentierung und Engagement nutzen können.
Schritt 1: Dateien hinzufügen
- Fügen Sie
BrazeSDK.brsim Verzeichnissourcezu Ihrer App hinzu. - Fügen Sie
BrazeTask.brsundBrazeTask.xmlim Verzeichniscomponentszu Ihrer App hinzu. - Wenn Sie die Standard-UI für In-App-Nachrichten verwenden möchten, fügen Sie außerdem
BrazeDefaultInAppMessage.brs,BrazeDefaultInAppMessage.xmlundBrazeDefaultInAppMessageStyles.brszum Verzeichniscomponentshinzu. Diese drei Dateien können auch in einem Unterordner voncomponentsliegen, solange sie zusammen bleiben.
Schritt 2: Referenzen hinzufügen
Fügen Sie in Ihrer Hauptszene mit dem folgenden script-Element eine Referenz auf BrazeSDK.brs hinzu:
<script type="text/brightscript" uri="pkg:/source/BrazeSDK.brs"/>
Schritt 3: Konfigurieren
Legen Sie in main.brs die Braze-Konfiguration auf dem globalen Knoten vor CreateScene() fest, damit sie während init() der Scene verfügbar ist:
screen = CreateObject("roSGScreen")
globalNode = screen.getGlobalNode()
config = {}
config_fields = BrazeConstants().BRAZE_CONFIG_FIELDS
config[config_fields.API_KEY] = "YOUR_API_KEY_HERE"
config[config_fields.ENDPOINT] = "YOUR_ENDPOINT_HERE (e.g. https://sdk.iad-01.braze.com/)"
config[config_fields.HEARTBEAT_FREQ_IN_SECONDS] = 5
globalNode.addFields({brazeConfig: config})
screen.CreateScene("MainScene")
Schritt 4: Braze initialisieren
Initialisieren Sie die Braze-Instanz:
m.BrazeTask = createObject("roSGNode", "BrazeTask")
m.Braze = getBrazeInstance(m.BrazeTask)
Einrichtung von In-App-Nachrichten
Wenn Sie In-App-Nachrichten bereits mit Ihrer eigenen UI rendern und ein Upgrade auf Version 2.3.0 oder höher durchführen, lesen Sie den Leitfaden für In-App-Nachrichten.
Das SDK kann modale In-App-Nachrichten (MODAL) mit seiner Standard-UI anzeigen. Diese Option ist standardmäßig deaktiviert. Um sie zu aktivieren, fügen Sie die BrazeDefaultInAppMessage-Dateien hinzu (Schritt 1) und legen Sie Folgendes fest:
config[config_fields.AUTOMATIC_IAM_DISPLAY] = true
Rufen Sie getBrazeInstance(m.BrazeTask) aus Ihrer Haupt-Scene auf, damit das SDK den Dialog im Render-Thread einbinden kann. Für den Standarddialog müssen Sie BrazeInAppMessage weder beobachten noch eine eigene UI erstellen.
Slideup-, Vollbild-, gestaltete modale und HTML-In-App-Nachrichten werden von der Standard-UI nicht angezeigt. Das SDK protokolliert für diese Typen einen Fehler. HTML-Rendering wird auf Roku nicht unterstützt.
Wenn Sie In-App-Nachrichten selbst rendern, lassen Sie automatic_iam_display ungesetzt und beobachten Sie BrazeTask.BrazeInAppMessage:
m.BrazeTask.observeField("BrazeInAppMessage", "onInAppMessageReceived")
Um eine bestimmte Nachricht abzufangen und eine angepasste UI anzuzeigen, während die automatische Anzeige für alle anderen Nachrichten erhalten bleibt, implementieren Sie diese Funktion in Ihrer Scene (und deklarieren Sie sie im <interface> der Scene-XML):
function brazeHandleCustomInAppMessage(in_app_message as object) as boolean
' Return true if your app displayed the message, false to use the default SDK dialog.
return false
end function
Um einen angepassten Klick zu verarbeiten und dabei weiterhin die Standard-UI für In-App-Nachrichten zu verwenden, implementieren Sie Folgendes in Ihrer Scene (und deklarieren Sie es im <interface> der Scene-XML). Das SDK protokolliert den Klick, schließt die Nachricht und ruft anschließend diese Funktion auf, damit eine Navigation den Fokus behalten kann. Die Zurück-Taste schließt die Nachricht, ohne die Funktion aufzurufen.
function brazeHandleInAppMessageClick(event as object) as void
in_app_message = event.in_app_message
button = event.button
if button <> invalid
' Button click. Use button.click_action and button.uri.
return
end if
' Body click (no buttons). Use in_app_message.click_action and in_app_message.uri.
end function
Wenn Sie die UI selbst verwalten, hat Ihr Handler Zugriff auf die In-App-Nachricht mit der höchsten Priorität, die von Ihren Campaigns getriggert wurde:
in_app_message = m.BrazeTask.BrazeInAppMessage
Verfügbare Felder sind unter anderem:
in_app_message.message– Der Textkörper der In-App-Nachrichtin_app_message.buttons– Liste der Buttons (kann eine leere Liste sein).in_app_message.id– ID für die Protokollierung von Impressionen oder Klicksin_app_message.extras– Schlüssel-Wert-Paarein_app_message.image_url– Bild-URLin_app_message.click_action– Wenn keine Buttons vorhanden sind, legt dieses Feld fest, was geschehen soll, wenn Nutzer:innen bei angezeigter In-App-Nachricht auf „OK“ klicken. Kann „URI“ oder „NONE“ sein.in_app_message.dismiss_type– Kann „AUTO_DISMISS“ oder „SWIPE“ seinin_app_message.display_delay– Wartezeit (in Sekunden) bis zur Anzeige der In-App-Nachrichtin_app_message.duration– Anzeigedauer der Nachricht (in Millisekunden), wenndismiss_type„AUTO_DISMISS“ istin_app_message.header– Der Überschriftentext der In-App-Nachrichtin_app_message.uri– Wennclick_action„URI“ ist, sollte dieser Wert angezeigt werden
Sie können auch Styling-Felder aus dem Dashboard verwenden. Alternativ können Sie die In-App-Nachricht in Ihrer Roku-Anwendung mit einer Standardpalette implementieren und gestalten.
in_app_message.bg_color– Hintergrundfarbein_app_message.close_button_color– Farbe des Schließen-Buttonsin_app_message.frame_color– Die Farbe des Hintergrund-Overlaysin_app_message.header_text_color– Textfarbe der Überschriftin_app_message.message_text_color– Textfarbe der Nachrichtin_app_message.text_align– Kann „START“, „CENTER“ oder „END“ sein
Button-Felder sind unter anderem:
buttons[0].click_action– Kann „URI“ sein, um anzugeben, dass das Feldurigeöffnet werden soll. Kann „NONE“ sein, um anzugeben, dass dieser Button die In-App-Nachricht schließen soll.buttons[0].id– Der ID-Wert des Buttons selbstbuttons[0].text– Der Text, der auf dem Button angezeigt wirdbuttons[0].uri– Wennclick_action„URI“ ist, sollte dieser Wert angezeigt werdenbuttons[0].bg_color– Hintergrundfarbe des Buttonsbuttons[0].border_color– Rahmenfarbe des Buttonsbuttons[0].text_color– Textfarbe des Buttons
Die Standard-UI BrazeDefaultInAppMessage protokolliert Impressionen und Klicks für Sie.
Wenn Sie Ihre eigene UI implementieren, protokollieren Sie eine Impression, sobald die Nachricht angezeigt wird:
LogInAppMessageImpression(in_app_message.id, brazetask)
Wenn Nutzer:innen auf die Nachricht klicken, protokollieren Sie einen Klick:
LogInAppMessageClick(in_app_message.id, brazetask)
Verarbeiten Sie anschließend in_app_message.click_action.
Wenn Nutzer:innen auf einen Button klicken, protokollieren Sie den Button-Klick:
LogInAppMessageButtonClick(inappmessage.id, inappmessage.buttons[selected].id, brazetask)
Verarbeiten Sie anschließend inappmessage.buttons[selected].click_action.
Nachdem Sie die In-App-Nachricht verarbeitet haben, leeren Sie das Feld:
m.BrazeTask.BrazeInAppMessage = invalid
Grundlegende SDK-Integration abgeschlossen
Braze erfasst jetzt Daten aus Ihrer Anwendung. Weitere Informationen zur Protokollierung von Attributen, Events und Käufen finden Sie in der Braze-Dokumentation. Die Szene MainScene.brs der Beispiel-App enthält außerdem API-Beispiele.
BrazeDefaultInAppMessage ist die Standard-UI des SDK für In-App-Nachrichten. CustomSideBySideInAppMessage.brs in der Beispiel-App zeigt ein angepasstes Layout über brazeHandleCustomInAppMessage().
Zusätzliche Referenz
Das Verzeichnis torchietv enthält eine Beispiel-App, in die das Braze SDK integriert ist.
Details zum Repository und Beispielprojekte finden Sie unter https://github.com/braze-inc/braze-roku-sdk.