In this guide, we will get you up and running quickly with a sample application you can build on as you learn more about Notifications. Sounds like a plan? Then let's get cracking!
Table Of Contents
The first thing we need to do is grab all the necessary information from our Twilio account. To set up your back-end for Notifications, you will need four values from your account:
|Credential SID||Identifier for your GCM push credentials stored at Twilio - you can upload your credentials here. If you do not yet have one, you can provision one following this guide.|
|Service Instance SID||A service instance where all the data for our application is stored and scoped. You can create one in the console. Make sure you configure it with your Credential SID from above.|
|Account SID||Used to authenticate REST API requests - find it in the console here.|
|Auth Token||Used to authenticate REST API requests - like the Account SID, find it in the console here.|
When using the Notifications service, you'll need to be able to register devices to receive notifications, and then send notifications to those devices. To get you going quickly, we've created a Node.js server that accomplishes these tasks. You will be communicating with this server-side application from your Android application to register a device for notifications.
Unzip the app you just downloaded, and navigate to that folder in a Terminal window on
your Mac. You'll need to install Node.js if you haven't already, you can do that
here. Now, we just need to configure and run
the app. In the terminal, edit the
config.json file to include the four configuration
parameters we gathered from above.
Now we'll want to install our dependencies:
Once we've done that we're ready to start the server - again in your terminal, run:
To confirm the server is running, visit http://localhost:3000 in a web browser. You should see a brief message indicating the server is running.
Now that our server is set up, let's get the starter Android app up and running.
To get going quickly, there is a starter app built as a stand-alone Android Studio project written in Java. Download it now:
Use the Google Services tool to generate a 'google-services.json' file for your app. If you have your Android app already setup, select that, if you are using the app downloaded above use the following values.
App name: testapp Android package name: com.testapp
This file configures your app to receive notifications via GCM. Then, hit the
compile button and it will build your gradle dependencies automatically. Next,
RegistrationIntentService file on this line:
private static final String host = "myserver.com";
replace myserver.com with the address of your server. Do not include "http://" in the address, the app adds that automatically.
Once that's done, your app should be fully configured and ready to rock.
Push Notifications work on both the Android simulator and device. To test on a
device, you'll need to replace the URL in
with a public URL for your server. Consider checking out
ngrok to expose your local server on the public
Once the app loads, you can enter an Identity (e.g. Bob) and the identifier of the specific endpoint of that Identity (e.g. Bob's Android phone). Then click "Create Binding" to register your device-specific address with Twilio. Creating a Binding lets our service know where to send notifications. It also associates the device-specific address with the Identity (e.g. Bob) so that you can send notifications referencing that Identity. Awesome, your device is now registered for push notifications.
Now you can send your first notification. Run the
notify.js script in the server app
you just downloaded, passing in the identity for the device you just registered.
node notify.js YOUR_IDENTITY
You can find your notification in the Notification Center (just swipe down from the top of the screen on your Android device or simulator).
You're all set! From here, you can start building your own application. For more information on the Notification API, check out our REST API docs.