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 name2. event properties JSON object (optional) |
setEmailNotificationSubscriptionType |
"opted_in" | "subscribed" | "unsubscribed" |
setPushNotificationSubscriptionType |
"opted_in" | "subscribed" | "unsubscribed" |
setCustomUserAttribute |
1. attribute_name2. attribute_value |
requestPushPermission |
N/A |
openLink |
1. url2. openInNewTab (boolesch) |
openLinkInWebview |
url |
addToSubscriptionGroup |
subscriptionGroupId |
removeFromSubscriptionGroup |
subscriptionGroupId |
addToCustomAttributeArray |
1. attribute_name2. attribute_value |
removeFromCustomAttributeArray |
1. attribute_name2. 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.