Twilio Sync JavaScript client library
Twilio Sync is Twilio's state synchronization service, offering two-way real-time communication between browsers, mobiles, and the cloud. Visit our official site for more details: https://www.twilio.com/sync
Installation
NPM
npm install --save twilio-sync
Using this method, you can require
twilio-sync.js like so:
var SyncClient = require('twilio-sync');
var syncClient = new SyncClient(token);
CDN
Releases of twilio-sync.js are hosted on a CDN, and you can include these directly in your web app using a <script> tag.
<script type="text/javascript" src="//media.twiliocdn.com/sdk/js/sync/v0.12/twilio-sync.min.js"></script>
Using this method, twilio-sync.js will set a browser global:
var syncClient = new Twilio.Sync.Client(token);
Usage
To use the library, you need to generate an Access Token and pass it to the Sync Client constructor. The Twilio SDK Starter applications for Node.js, Java, PHP, Ruby, Python, C# provide an easy way to set up a token generator locally. Alternatively, you can set up a Twilio Function based on the Sync Access Token template.
// Obtain a JWT access token: https://www.twilio.com/docs/sync/identity-and-access-tokens
var token = '<your-access-token-here>';
var syncClient = new Twilio.Sync.Client(token);
// Open a Document by unique name and update its value
syncClient.document('MyDocument')
.then(function(document) {
// Listen to updates on the Document
document.on('updated', function(event) {
console.log('Received Document update event. New value:', event.value);
});
// Update the Document value
var newValue = { temperature: 23 };
return document.set(newValue);
})
.then(function(updateResult) {
console.log('The Document was successfully updated', updateResult)
})
.catch(function(error) {
console.error('Unexpected error', error)
});
For more code examples for Documents and other Sync objects, refer to the SDK API Docs:
Changelog
See this link.