Triggers don't work every time
  • I am testing your service in iOS app, but I have some issues with receiving push notifications. In visual editor I have created layer added four places and in every place I add trigger which should send push notification. In iOS app I subscribe user to that layer but I don't receive push notifications for every place I go through or enter.

    Today I have received only two notifications for two places but I should four because I did go through all four places. When yesterday I received notification for place that I didn't today. It seems to me that it is working on some random pattern or if I am doing something wrong?

  • 5 Comments sorted by
  • There are several reasons you could not be getting messages.

    * You may have made your places to small generally 60-100 meters is a good place to start. Smaller places may not trigger because you actually never entered the place. You should check location/history to make sure you actually entered all 4 places.

    * If you enter all 4 places in rapid succession Apple may actually be rate limiting your triggers. If you really did enter all 4 places check trigger/history to see if you trigger the event but the messages are being rate limited.

    Also are you developing your own app for using the Geoloqi App from the App Store. The app in the app store is out of date and should not be used to testing. It is better to use the sample app that comes with the IOS SDK.
  • I have checked trigger/history and there have been all triggers for the places I entered. So triggers apparently works the question is why I don't receive notifications? The first place I enter at 5:39pm, second at 5:56pm, third at 6:12pm and so on. Apple could rate limit triggers? that is something new for me could you tell me some more about that how it works?

    Today for example in my way to work I received just one.

    I was using sample app as a guide for implementation and did exactly like it is in sample app except I subscribe user to my layer so I don't think there is something wrong with my implementation.

    Could be this somehow connected with push notification development mode?
  • We did some more testing with three new devices two iPhone 4 and one iPhone 3G. On 3G we received notifications only if app was opened. On one 4 we always received notifications and on the other never. While on mine 4S I receive notifications just for some places.
  • In our testing, we found that the iPhone 3G and 3GS have native location services that are much less accurate. Often the accuracy of the raw GPS data is quite poor. Apple has made many improvements in the iPhone 4, and even more in the 4S, due to the new chipsets used for GPS and wifi-assisted positioning. In general, the better the native capabilities of the device, the better our triggers will work as well. As such, we have seen the best performance on the iPhone 4S.

    As far as the push notifications themselves, Apple actually makes no guarantee of delivery, and there are many reasons why some push notifications may not go through. Please see this technical note from Apple for more details:

    Some Notifications Received, but Not All
    If you are sending multiple notifications to the same device or computer within a short period of time, the push service will send only the last one.

    Here's why. The device or computer acknowledges receipt of each notification. Until the push service receives that acknowledgment, it can only assume that the device or computer has gone off-line for some reason and stores the notification in the quality of service (QoS) queue for future redelivery. The round-trip network latency here is of course a major factor.

    As described in the Local and Push Notification Programming Guide, the QoS queue holds a single notification per app per device or computer. If the service receives another notification before the one in the queue is sent, the new notification overwrites the previous one.

    All of this points out that the intent is that a notification indicates to an app that something of interest has changed on the provider, and the app should check in with the provider to get the details. Notifications should not contain data which isn't also available elsewhere, and they should also not be stateful.
  • Thanks that explains a lot.

Howdy, Stranger!

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

In this Discussion