Publish Map/Dictionary¶
The example demonstrates publishing a value of an untyped data structure and creating a subscriber to receive objects which contain properties of the published object. The message is published into the demo
channel.
Subscriber¶
function onMessage( message ) {
console.log( 'got a message ' ),
console.log( "name property", message.name );
console.log( "age property", message.age );
}
const channel = Backendless.Messaging.subscribe( 'demo' )
channel.addMessageListener( onMessage )
Publisher¶
curl -X POST \
https://api.backendless.com/APP-ID/REST-API-KEY/messaging/demo \
-H 'content-type: application/json' \
-d '{ "message": { "name":"Joe", "age":30}}'
var personObj = { name:"Joe", age:30 };
Backendless.Messaging.publish( "demo", personObj )
.then( function( result ) {
console.log( "message has been published" );
})
.catch( function( error ) {
console.log( "error publishing the message - " + error );
})
HashMap personObject = new HashMap();
personObject.put( "name", "Joe" );
personObject.put( "age", 30 );
Backendless.Messaging.publish( "demo",
personObject,
new AsyncCallback<MessageStatus>()
{
@Override
public void handleResponse( MessageStatus response )
{
Log.i( "MYAPP", "Message has been published" );
}
@Override
public void handleFault( BackendlessFault fault )
{
Log.e( "MYAPP", "Error publishing the message" );
}
} );
let person = ["name": "Joe", "age": 30] as [String : Any]
Backendless.shared.messaging.publish(channelName: "demo", message: person, responseHandler: { messageStatus in
print("Message has been published")
}, errorHandler: { fault in
print("Error: \(fault.message ?? "")")
})
NSDictionary *person = @{@"name": @"Joe", @"age": @30};
[Backendless.shared.messaging publishWithChannelName:@"demo" message:person responseHandler:^(MessageStatus *messageStatus) {
NSLog(@"Message has been published");
} errorHandler:^(Fault *fault) {
NSLog(@"Error: %@", fault.message);
}];
Dictionary<string,object> person = new Dictionary<string,object>();
personObject["name"] = "Joe";
personObject["age"] = 30;
AsyncCallback<MessageStatus> callback = new AsyncCallback<MessageStatus>(
messageStatus =>
{
Console.WriteLine( $"message has been published {messageStatus.MessageId}");
},
fault =>
{
Console.WriteLine( $"error {fault.Message}");
}
);
Backendless.Messaging.Publish( "demo",
person,
callback );
Map personObject = {
"name": "Joe",
"age": 30
};
Backendless.messaging.publish(personObject, channelName: "demo").then((response) {
print("Message has been published");
});