[aerogear-dev] Metrics Endpoint (was: Re: Advanced Analtyics, new PR and call to the client tech leads)

Sebastien Blanc scm.blanc at gmail.com
Mon May 11 09:51:53 EDT 2015


Let's start with the "semi-automatic" approach ;)
@passos : maybe you can use the same method's name to keep it unified ? (we
can always change the names later)


On Mon, May 11, 2015 at 3:48 PM, Corinne Krych <corinnekrych at gmail.com>
wrote:

> Yeap all is in "semi".
> for iOs we'll have 2 public static methods:
>
> AGPushAnalytics.sendMetricWhenAppLaunched(serverURL: NSURL,
> launchOptions: [NSObject:AnyObject]?)
> AGPushAnalytics.sendMetricsWhenAppAwoken(serverURL: NSURL,
> applicationState: UIApplicationState, userInfo: [NSObject:AnyObject])
>
> If we want all automation we have to provide more wrapping around native
> life cycle, which can be quite intrusive.
>
> ++
> Corinne
>
> On 11 May 2015 at 15:44, Matthias Wessendorf <matzew at apache.org> wrote:
>
>> iOS is also semi automatic ;-)
>>
>> On Mon, May 11, 2015 at 3:41 PM, Daniel Passos <dpassos at redhat.com>
>> wrote:
>>
>>> Of course. My point was just to be clear we can't do it "automatic" :)
>>>
>>> On Mon, May 11, 2015 at 10:39 AM, Erik Jan de Wit <edewit at redhat.com>
>>> wrote:
>>>
>>>> but the android sdk could have a method for uploading the metrics, so
>>>> that a developer can opt for having that displayed on the dashboard.
>>>>
>>>> This method can then also be used for cordova ;)
>>>>
>>>> On Mon, May 11, 2015 at 3:30 PM, Daniel Passos <dpassos at redhat.com>
>>>> wrote:
>>>> > On Fri, May 8, 2015 at 2:10 AM, Matthias Wessendorf <
>>>> matzew at apache.org>
>>>> > wrote:
>>>> >>
>>>> >>
>>>> >>
>>>> >> 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
>>>> >
>>>> >
>>>> > I can't do that. I can't do an action when app was opened. To do that
>>>> we
>>>> > would need to create our own application[1] class, and all projects
>>>> would
>>>> > need to extend it. As I have told in my previous email, for now I
>>>> only can
>>>> > do something when the message is delivered to the device.
>>>> >
>>>> > [1]
>>>> http://developer.android.com/reference/android/app/Application.html
>>>> >
>>>> >>
>>>> >>>
>>>> >>>
>>>> >>> 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
>>>> >>
>>>> >> _______________________________________________
>>>> >> aerogear-dev mailing list
>>>> >> aerogear-dev at lists.jboss.org
>>>> >> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > -- Passos
>>>> >
>>>> > _______________________________________________
>>>> > aerogear-dev mailing list
>>>> > aerogear-dev at lists.jboss.org
>>>> > https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>
>>>>
>>>>
>>>> --
>>>> Cheers,
>>>>        Erik Jan
>>>> _______________________________________________
>>>> aerogear-dev mailing list
>>>> aerogear-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>
>>>
>>>
>>>
>>> --
>>> -- Passos
>>>
>>> _______________________________________________
>>> 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
>>
>> _______________________________________________
>> aerogear-dev mailing list
>> aerogear-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>
>
>
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-dev/attachments/20150511/b4ac0e7d/attachment.html 


More information about the aerogear-dev mailing list