Messaging¶
PRESTOplay supports bidirectional messaging between sender and receiver, so you can send custom data, events, or commands back and forth.
The message must be a plain object that can be serialized.
Messages from sender to receiver¶
On the sender side, use CastProxy.sendMessage to send custom
messages to the receiver:
// Sender app
proxy.sendMessage({
type: 'ping',
value: '4',
});
Listen for these messages on the receiver side with
Receiver.addMessageListener:
// Receiver app
const receiver = clpp.cast.Receiver.getInstance();
receiver.addMessageListener((message) => {
if (message.type === 'ping') {
// ...
}
});
Messages from receiver to sender¶
On the receiver side, use Receiver.sendMessage to broadcast
custom messages to all connected senders:
// Receiver app
const receiver = clpp.cast.Receiver.getInstance();
receiver.sendMessage({
type: 'ping',
text: 'pong',
});
Pass a senderId to message one specific sender instead:
// Receiver app
const receiver = clpp.cast.Receiver.getInstance();
receiver.sendMessage({
type: 'response',
data: 'some data',
}, senderId);
Listen for messages on the sender side with
CastProxy.addMessageListener:
// Sender app
proxy.addMessageListener((message) => {
if (message.type === 'ping') {
// ...
}
});
Message namespace¶
Messages are sent over the Google Cast protocol under the namespace
urn:x-cast:castlabs.