Broadcast
About the Broadcast API
Version compatibility
This feature is only available on Android devices running version 4.29.0 or newer versions of the JourneyApps Container.
The Broadcast service is used to send data to and receive data from external Android apps using JavaScript.
The Broadcast service supports Android broadcast categories. Please see the action test and category test sections in the Android documentation on Intents and Intent Filters for more information on intent resolution.

Receiving Data

Use the register function to receive data:
Broadcast.register(target, callback, options);
Parameter
Type
Details
target
Broadcast.Target
Broadcast registration target.
target.action
string
Unique name used to identify the broadcasting event. This should correspond to the event name in your external application.
target.categories
string[]
Array of categories to register broadcast against.
callback
function
Function to be called as soon as a broadcast event is received. The function takes a single parameter, data (object)
options
object
Optional object to specify options. Added in v21.2.1 of the JourneyApps Container and v4.78.2 of the JourneyApps Runtime.
options.background
boolean
Should Broadcasts trigger when the container is in the background. Defaults to true
e.g.
function callback(data) {
console.log("Received: " + JSON.stringify(data));
}

Sending Data

Use the trigger function to send data:
Broadcast.trigger(target, eventData);
Parameter
Type
Details
target
Broadcast.Target
Listener target to broadcast to.
target.action
string
Unique name used to identify the broadcasting event. This should correspond to the event name in your external application.
target.categories
string[]
Array of categories for broadcast event.
eventData
object
Data sent to the external application. Note that eventData should be an object.
e.g.
{
"action": "START"
}

Finding out if the Broadcast API is supported

Use the getCapabilities function to see whether the active device and JourneyApps Container supports the Broadcast API:
Broadcast.getCapabilities();
** Returns **: object with a supported field. This field will be true if the active device and JourneyApps Container supports the Broadcast API and false otherwise.

Other Usage Notes

Here are some other code examples that show how the Broadcast API can be used.

Registering a broadcast receiver:

var watchId;
function callback(data) {
console.log("Callback:", JSON.stringify(data));
}
var target = {
action: "com.example.action",
categories: [
"com.example.category.a",
"com.example.category.b"
]
};
watchId = Broadcast.register(target, callback);

Removing a single broadcast receiver registration:

Broadcast.deregister(watchId);

Removing all broadcast receiver registrations:

Broadcast.deregisterAll();

Triggering a broadcast (eventData must be an object):

var target = {
action: "com.example.action",
categories: [
"com.example.category.a",
"com.example.category.b"
]
};
Broadcast.trigger(target, {foo: "bar", "name": "trigger"});
Copy link
On this page
Receiving Data
Sending Data
Finding out if the Broadcast API is supported
Other Usage Notes