Message/Send works, Message/Broadcast does not
  • All,

    After months of trying to get broadcast messages to work, I finally ran a test. When I open my app, I create a default layer and immediately subscribe the anonymous user to the layer. For my test, I added a Message/Send call to the logged in anonymous user to see if there were any issues with my certificates. There are not. The message showed up on my phone. Triggers work as well. The Message/Broadcast does not work, even though I am inside the radius created for the message. I get a 200 response back that tells me 1 subscriber was sent a message, but nothing arrives on my phone. 

    1) Since the triggers work and the message to the logged in user works, I would assume there is nothing wrong with the certificates or the code. 
    2) Since the broadcast message status indicates 200 and shows me subscribed users that are included, I would imagine there is nothing wrong with the code. The problem must lie elsewhere. 
    3) I thought initially that the message/broadcast function might exclude sending to the sender, but when I sent the broadcast message while both my wife and I had the app open, she received no message either.

    Thanks in advance for the help, 
    Bruce
  • 11 Comments sorted by
  • Thank you for the details. I will look in to this soon!
  • Hi Aaron,

    I was wondering if there has been any progress on this issue. If you need me to fire up the app so you can see what is going through, let me know so we can set up a date and time. 

    Thanks,
    Bruce
  • Update - In an effort to work around the message/broadcast call not working, I decided on the following approach

    1) Get all users in the layer
    2) Look for users in the place just created or about to be deleted.
    3) Send any users found the appropriate create/delete message

    I originally included the default layer, but when that didn't work, I removed the default layer. http://jsfiddle.net/bp4151/Ae3VC/

    I get a 200 status that shows one user (me) being sent the message, and no message on my phone.

    At this point I now have no way to send messages out to users. 

    Thanks,
    Bruce
    2012-11-18_1902.png
    1279 x 683 - 127K
    2012-11-18_1904.png
    1279 x 682 - 107K
  • All,

    Message/Broadcast still does not result in messages getting to my device, but my workaround using layer/users, finding the place I am working with, and sending a message to any users in that place does work. 

    Unfortunately this requires far more api calls to accomplish the same thing, but it will do for now. 

    Thanks,
    Bruce
  • Thanks for posting about your workaround, this is a reasonable way to do it for now. I wouldn't worry about the extra API calls it requires.

    We're fixing the problem with the message/broadcast method, but I don't have a good estimate of when the fix will be deployed.

  • We have deployed the fix for message/broadcast. Please feel free to try it out. It should work properly with Apple and Android push notifications now.
  • +1. Your SDK doesn't work, have spent a lot of time figuring out why message send sometimes works, sometimes not (your console shows status ok, but no message on phone). You have to pay your customers for spending hours with your buggy SDK 
  • Aaron,

    I may have found something here. I am still not getting messages or triggers despite seeing 200 status. As a test, I went to the console and ran a user/list against my account. I have a ton of anonymous users that have either apns_dev = "" or apns_dev = "xxxx" and apns_live = "". I cannot see all the accounts as the console won't show me past 25 records, but in the geoloqi.init success event I am registering the device token as follows:

    geoloqi.iOS.registerDeviceToken(data.deviceToken, 'live');

    I am wondering if I am seeing status 200 because the system found the user to send to, but since the tokens don't match (user=dev, token = live) the messages don't go anywhere.

    Suggestions?

    Thanks,
    Bruce

  • Bruce,

    You're correct that the dev/live mixup is causing the issue. We added the second parameter to the registerDeviceToken method in the previous version of the Titanium module, so make sure you're using the latest code. It sounds like you may have an older version which did not send the 'dev' or 'live' string to the server, so it always thinks the devices are in 'dev' mode.
  • Aaron,

    After getting bizzare results using my workaround, I refactored my code back to using the message/broadcast to see if it would work. It does. 

    Now if we can just clear up the place/update issue I am having, I will be off to AndroidLand...

    Thanks,
    Bruce

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

In this Discussion