In most cases, process of sending a message involves 2 steps:
- Preparation, that is extracting push tokens from database and saving them in separate collection. This step also allows calculation of audience and gathering distinct user locales used in this message.
- Actual sending. That is taking prepared collection of tokens and sending push notifications to APN or GCM.
When using API rather than Countly Dashboard, (1) can be done in background, so only request (2) is required. But in any case, (1) will be performed.
This request performs step (1). It builds audience collection(s) and returns number of users found in the database along with number of users for each locale (tab 2 of example response).
Note that sometimes, when calculation process takes too much time, request will return temporary result (tab 1 of example response) with only one total
key in build
property of returned JSON. Temporary total
number represents total number of push-enabled users for all app-platform combinations supplied in request, meaning it's not final and it shouldn't be used for any important decisions. In this case the request can be submitted again, with same parameters and with _id
returned in first response, to check if process of message preparing is finished. When done, response build
key will have count
subobject with locale information and optionally tzs
key containing all timezones of audience built.