Just to be clear, we are talking about metrics for messages delivered
(received on device) or about really read/open?
Because in Android land is not possible know when message was read/opened.
We delegate how the message will be delivered/showed to the
MessageHandler[1] and we don't have access to it.
Today we only have access when the message is delivered. Basically we
receive the message in a AeroGearGCMMessageReceiver[2] do some checks and
push the message for all Handles registered[3][4]
[1]
-- Passos
On Wed, May 6, 2015 at 6:38 AM, Matthias Wessendorf <matzew(a)apache.org>
wrote:
Hi,
as discussed on the previous thread, there will be a new endpoint to
'track' the "App opened/launched due to received push notification".
Internally, on the UPS, the Push Message has an ID, which get's append to
the payload of the notification, like here:
https://github.com/matzew/aerogear-unifiedpush-server/blob/analytics/push...
On the client SDKs this will be read and a HTTP call made to the soon
introduced MetricsEndpoint. Currently this info is send to the
RegistrationEndpoint, including the deviceToken/registrationId. However, I
think that the deviceToken/registrationId is currently not needed for
metrics, since we are just interested in anonymous "app launched/opened due
to push", and not a specific "DEVICE X did open, while DEVICE Y did not yet
open".
So all we really need is the ID of the push notification, to be processed
by our Metrics Service
https://github.com/matzew/aerogear-unifiedpush-server/blob/analytics/jaxr...
Therefore my proposal is have an endpoint:
PUT /metrics/pushmessage/{pushMessageID}
I think PUT is good/best, because there is nothing really created on the
server, it's more updating the 'counter' on the existing
PushMessageInformation object.
Thoughts?
-Matthias