[aerogear-dev] Metrics Endpoint (was: Re: Advanced Analtyics, new PR and call to the client tech leads)
Daniel Passos
dpassos at redhat.com
Thu May 7 17:58:50 EDT 2015
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]
https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/MessageHandler.java
[2]
https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/gcm/AeroGearGCMMessageReceiver.java
[3]
https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/RegistrarManager.java#L118
[4]
https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/RegistrarManager.java#L130
-- Passos
On Wed, May 6, 2015 at 6:38 AM, Matthias Wessendorf <matzew at 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/sender/src/main/java/org/jboss/aerogear/unifiedpush/message/sender/APNsPushNotificationSender.java#L107-L108
>
> 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/jaxrs/src/main/java/org/jboss/aerogear/unifiedpush/rest/registry/installations/InstallationRegistrationEndpoint.java#L128-L133
>
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-dev/attachments/20150507/c85d2242/attachment-0001.html
More information about the aerogear-dev
mailing list