Beam Web Apps¶
There are several platforms available which support the launching of web apps. A web app is typically run on a temporary basis in a full-screen browser instance.
Web App IDs¶
Both webOS and Chromecast platforms require a web app ID for API calls to launch & communicate with web apps. This web app ID is translated it into your web app’s URL on web app launch.
For information on creating a web app ID for webOS, please visit the registration site.
To learn how to register for a Chromecast web app ID, visit `Google’s app ID registration site`_.
Launch web app with identifier¶
Connect SDK currently supports web app launching on webOS and Chromecast devices, which both translate a web app identifier into your web app’s URL.
Communicate with web app¶
Bi-directional communication with your web app is made extremely simple. Data can be sent and received strongly-typed as a string or a keyed set of values (JSON object).
var webAppId;
if (device.hasService(ConnectSDK.Services.WebOSTV)) {
webAppId = "5G7328DE";
} else if (device.hasService(ConnectSDK.Services.Chromecast)) {
webAppId = "3E5106AB";
} else if (device.hasService(ConnectSDK.Services.AirPlay)) {
webAppId = "http://www.example.com/";
}
if (!webAppId) {
return;
}
device.getWebAppLauncher().launchWebApp(webAppId).success(function (session) {
console.log("web app launch success");
}).error(function (err) {
console.log("web app launch error: " + err.message);
});
var mySession = null;
var webAppId;
if (device.hasService(ConnectSDK.Services.WebOSTV)) {
webAppId = "5G7328DE";
} else if (device.hasService(ConnectSDK.Services.Chromecast)) {
webAppId = "3E5106AB";
}
if (!webAppId) {
return;
}
device.getWebAppLauncher().launchWebApp(webAppId).success(function (session) {
// Keep a reference to the session
mySession = session.acquire();
// Open a communication channel to the app
mySession.connect().success(function () {
console.log("web app connect success");
}).error(function (err) {
console.log("web app connect error: " + err.message);
});
// Make sure to release the session when done using it
mySession.on("disconnect", function () {
mySession.release();
mySession = null;
});
}).error(function (err) {
console.log("web app launch error: " + err.message);
});
After successfully establishing a connection, you can send messages to your web app.
mySession.sendText("This is a test message");
You can also send a Javascript dictionary object which will be received by the web app as an object.
var message = {
someParameter: "someValue",
anArray: ["array value 1", "array value 2", "array value 3"],
anotherObject: {
anotherParameter: "anotherValue"
}
};
mySession.sendJSON(message);
The “message” event allows you to receive messages from your web app.
mySession.on("message", function (message) {
console.log("Received message from web app:" + JSON.stringify(message));
});