We just published an updated version of GCMSMS to Google Play allowing you to bulk-send SMS now!

Until now every SMS needed to be sent to the device in a separate Google Cloud Message (GCM). Since GCM recently introduced a message-limit for security reasons, sending SMS in bulk was not very practical anymore. The new version now makes it very easy to send bulk SMS:

  1. generate a TAB-seperated file containing the messages
  2. send the URL of this file to the device

1) Generate TAB-seperated file

On your server you generate a file (e.g. bulk.tsv) where each line contains the number, a TAB, the text to send to that number and a newline character (like a CSV file but using a TAB to seperate the number and the message):

+431234567890[TAB]Hello Frank!
+49987654321[TAB]Dear Joe!
+1987612345678[TAB]Hi Sue!

Now make this file available on a publically accessible URL (e.g. http://www.mydomain.com/bulk.tsv)

2) Push URL to device

Now you send the URL of the file you generated to the device using the „tsvurl“ parameter:

JsonObject payload = new JsonObject();
payload.addProperty("tsvurl", "http://www.mydomain.com/bulk.tsv");
String msg = gcmsms.createJsonMessage(REGISTRATION_ID, payload, null, null, null);
boolean done = gcmsms.sendDownstreamMessage(msg);
System.out.println("Message pushed to GCM: " + done);

GCMSMS on your device receives the message, recognizes the tsvurl parameter, downloads the file from the URL and immediately sends out all text messages as fast as possible. The URL and each message is logged to the screen.

Note: Incoming text messages are still sent individually (1 cloud message per SMS) to your server.