Skip to content

Braze-Aktionen-Deeplinks

Mit Braze-Aktionen können Sie „Deeplinks“ verwenden, um native SDK-Funktionen auszuführen.

Das Braze-Dashboard enthält mehrere standardmäßige On-Click-Aktionen (Push-Berechtigung anfordern, angepasstes Event protokollieren und angepasstes Attribut protokollieren), die in In-App-Nachrichten und Content Cards verwendet werden können.

Für alle anderen Aktionen oder um mehrere Aktionen zu kombinieren, verwenden Sie diese Anleitung, um Ihren eigenen Braze-Aktionen-Deeplink zu erstellen.

SDK-Unterstützung

Das Deeplink-Schema brazeActions:// kann überall dort verwendet werden, wo in In-App-Nachrichten und Content Cards eine Deeplink- oder Redirect-Option vorhanden ist.

Verwenden Sie für In-App-Nachrichten im HTML-Format stattdessen die Javascript Bridge, da Deeplinks in HTML-Nachrichtentypen nicht unterstützt werden.

Schema

Sie können mehrere Aktions-steps innerhalb eines container-Aktionstyps einschließen. Ein einzelner Schritt ohne container ist ebenfalls gültig.

1
2
3
4
{
    "type": "container",
    "steps": []
}

Ein einzelner step enthält einen Aktions-type und ein optionales args-Array:

1
2
3
4
{
    "type": "logCustomEvent",
    "args": ["event name", {"event": ["properties"]}]
}

URI

Das URI-Schema für Braze-Aktionen lautet brazeActions://v1/{base64encodedJsonString}.

Das folgende JavaScript zeigt, wie Sie den JSON-String kodieren und dekodieren:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function decode(encoded) {
    const binary = window.atob(encoded.replace(/-/g, '+').replace(/_/g, '/'));
    let bits8 = new Uint8Array(binary.length);
    for (let i = 0; i < binary.length; i++) {
      bits8[i] = binary.charCodeAt(i);
    }
    const bits16 = new Uint16Array(bits8.buffer);
    return String.fromCharCode(...bits16);
}

/**
 * Returns a url-safe base64 encoded string of the input.
 * Unicode inputs are accepted.
 * Converts a UTF-16 string to UTF-8 to comply with base64 encoding limitations.
 */
function encode(input) {
    // Split the original 16-bit char code into two 8-bit char codes then
    // reconstitute a new string (of double length) using those 8-bit codes
    // into a UTF-8 string.
    const codeUnits = new Uint16Array(input.length);
    for (let i = 0; i < codeUnits.length; i++) {
        codeUnits[i] = input.charCodeAt(i);
    }
    const charCodes = new Uint8Array(codeUnits.buffer);
    let utf8String = "";
    for (let i = 0; i < charCodes.byteLength; i++) {
        utf8String += String.fromCharCode(charCodes[i]);
    }
    return btoa(utf8String).replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
}

Unterstützte Aktionen

Typ Args
container Ein Array weiterer auszuführender Aktionen
logCustomEvent 1. event name
2. event properties JSON object (optional)
setEmailNotificationSubscriptionType "opted_in" | "subscribed" | "unsubscribed"
setPushNotificationSubscriptionType "opted_in" | "subscribed" | "unsubscribed"
setCustomUserAttribute 1. attribute_name
2. attribute_value
requestPushPermission N/A
openLink 1. url
2. openInNewTab (boolesch)
openLinkInWebview url
addToSubscriptionGroup subscriptionGroupId
removeFromSubscriptionGroup subscriptionGroupId
addToCustomAttributeArray 1. attribute_name
2. attribute_value
removeFromCustomAttributeArray 1. attribute_name
2. attribute_value

JSON-Encoder

Geben Sie einen JSON-String ein, um den resultierenden brazeActions://-URI zu sehen. Oder geben Sie einen brazeActions://-URI ein, um dessen JSON zu dekodieren.

JSON-Eingabe

Deeplink-Ausgabe

New Stuff!