[aerogear-dev] Metrics Endpoint (was: Re: Advanced Analtyics, new PR and call to the client tech leads)
Matthias Wessendorf
matzew at apache.org
Fri May 8 01:10:43 EDT 2015
On Thu, May 7, 2015 at 11:58 PM, Daniel Passos <dpassos at redhat.com> wrote:
> 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.
>
when the user clicks on the message, the app opens. That's what we track w/
this PR, not the actual: I read the message - more "App was opened due to
push", see:
https://issues.jboss.org/browse/AGPUSH-971
>
> 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
>>
>
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>
--
Matthias Wessendorf
blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-dev/attachments/20150508/96018018/attachment.html
More information about the aerogear-dev
mailing list