<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, May 11, 2015 at 10:56 PM, Bruno Oliveira <span dir="ltr"><<a href="mailto:bruno@abstractj.org" target="_blank">bruno@abstractj.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 2015-05-11, Sebastien Blanc wrote:<br>
> Let's start with the "semi-automatic" approach ;)<br>
<br>
</span>I think by "semi-automatic" you mean "it's up to the developer", right?<br></blockquote><div>right :) </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
If yes, +1.<br>
<br>
Another question is: Is another HTTP request required only<br>
to feed metrics? I'm thinking about people with very limited data plans.<br>
If yes, that's definitely must be optional.<br></blockquote><div>Yes since we have to collect when a specific action occurs (open an app or bring to foreground) the only way is do a http request </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Also, do we have documented in some place what we are collecting?<br></blockquote><div>We are not collecting anything with this advanced metrics, we are just "counting" anonymously. </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
>From our guide I have:<br>
<br>
"For analytic purposes on our Dashboard we store the content of the<br>
alert key sent to the UnifiedPush Server. The content of the alert key<br>
belongs to the metadata, which is deleted after 30 days, using a nightly<br>
job within the UnifiedPush Server."<br>
<br>
If we reach an agreement on it, test the endpoint against DDoS might be<br>
required.<br></blockquote><div>Agreed. </div><div>we should even test DDoS against all our "open" endpoints (registration, import, sender) </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div class="h5"><br>
> @passos : maybe you can use the same method's name to keep it unified ? (we<br>
> can always change the names later)<br>
><br>
><br>
> On Mon, May 11, 2015 at 3:48 PM, Corinne Krych <<a href="mailto:corinnekrych@gmail.com">corinnekrych@gmail.com</a>><br>
> wrote:<br>
><br>
> > Yeap all is in "semi".<br>
> > for iOs we'll have 2 public static methods:<br>
> ><br>
> > AGPushAnalytics.sendMetricWhenAppLaunched(serverURL: NSURL,<br>
> > launchOptions: [NSObject:AnyObject]?)<br>
> > AGPushAnalytics.sendMetricsWhenAppAwoken(serverURL: NSURL,<br>
> > applicationState: UIApplicationState, userInfo: [NSObject:AnyObject])<br>
> ><br>
> > If we want all automation we have to provide more wrapping around native<br>
> > life cycle, which can be quite intrusive.<br>
> ><br>
> > ++<br>
> > Corinne<br>
> ><br>
> > On 11 May 2015 at 15:44, Matthias Wessendorf <<a href="mailto:matzew@apache.org">matzew@apache.org</a>> wrote:<br>
> ><br>
> >> iOS is also semi automatic ;-)<br>
> >><br>
> >> On Mon, May 11, 2015 at 3:41 PM, Daniel Passos <<a href="mailto:dpassos@redhat.com">dpassos@redhat.com</a>><br>
> >> wrote:<br>
> >><br>
> >>> Of course. My point was just to be clear we can't do it "automatic" :)<br>
> >>><br>
> >>> On Mon, May 11, 2015 at 10:39 AM, Erik Jan de Wit <<a href="mailto:edewit@redhat.com">edewit@redhat.com</a>><br>
> >>> wrote:<br>
> >>><br>
> >>>> but the android sdk could have a method for uploading the metrics, so<br>
> >>>> that a developer can opt for having that displayed on the dashboard.<br>
> >>>><br>
> >>>> This method can then also be used for cordova ;)<br>
> >>>><br>
> >>>> On Mon, May 11, 2015 at 3:30 PM, Daniel Passos <<a href="mailto:dpassos@redhat.com">dpassos@redhat.com</a>><br>
> >>>> wrote:<br>
> >>>> > On Fri, May 8, 2015 at 2:10 AM, Matthias Wessendorf <<br>
> >>>> <a href="mailto:matzew@apache.org">matzew@apache.org</a>><br>
> >>>> > wrote:<br>
> >>>> >><br>
> >>>> >><br>
> >>>> >><br>
> >>>> >> On Thu, May 7, 2015 at 11:58 PM, Daniel Passos <<a href="mailto:dpassos@redhat.com">dpassos@redhat.com</a>><br>
> >>>> wrote:<br>
> >>>> >>><br>
> >>>> >>> Just to be clear, we are talking about metrics for messages<br>
> >>>> delivered<br>
> >>>> >>> (received on device) or about really read/open?<br>
> >>>> >>><br>
> >>>> >>> Because in Android land is not possible know when message was<br>
> >>>> >>> read/opened. We delegate how the message will be delivered/showed<br>
> >>>> to the<br>
> >>>> >>> MessageHandler[1] and we don't have access to it.<br>
> >>>> >><br>
> >>>> >><br>
> >>>> >> when the user clicks on the message, the app opens. That's what we<br>
> >>>> track<br>
> >>>> >> w/ this PR, not the actual: I read the message - more "App was<br>
> >>>> opened due to<br>
> >>>> >> push", see:<br>
> >>>> >> <a href="https://issues.jboss.org/browse/AGPUSH-971" target="_blank">https://issues.jboss.org/browse/AGPUSH-971</a><br>
> >>>> ><br>
> >>>> ><br>
> >>>> > I can't do that. I can't do an action when app was opened. To do that<br>
> >>>> we<br>
> >>>> > would need to create our own application[1] class, and all projects<br>
> >>>> would<br>
> >>>> > need to extend it. As I have told in my previous email, for now I<br>
> >>>> only can<br>
> >>>> > do something when the message is delivered to the device.<br>
> >>>> ><br>
> >>>> > [1]<br>
> >>>> <a href="http://developer.android.com/reference/android/app/Application.html" target="_blank">http://developer.android.com/reference/android/app/Application.html</a><br>
> >>>> ><br>
> >>>> >><br>
> >>>> >>><br>
> >>>> >>><br>
> >>>> >>> Today we only have access when the message is delivered. Basically<br>
> >>>> we<br>
> >>>> >>> receive the message in a AeroGearGCMMessageReceiver[2] do some<br>
> >>>> checks and<br>
> >>>> >>> push the message for all Handles registered[3][4]<br>
> >>>> >>><br>
> >>>> >>> [1]<br>
> >>>> >>><br>
> >>>> <a href="https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/MessageHandler.java" target="_blank">https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/MessageHandler.java</a><br>
> >>>> >>> [2]<br>
> >>>> >>><br>
> >>>> <a href="https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/gcm/AeroGearGCMMessageReceiver.java" target="_blank">https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/gcm/AeroGearGCMMessageReceiver.java</a><br>
> >>>> >>> [3]<br>
> >>>> >>><br>
> >>>> <a href="https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/RegistrarManager.java#L118" target="_blank">https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/RegistrarManager.java#L118</a><br>
> >>>> >>> [4]<br>
> >>>> >>><br>
> >>>> <a href="https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/RegistrarManager.java#L130" target="_blank">https://github.com/aerogear/aerogear-android-push/blob/master/aerogear-android-push/src/main/java/org/jboss/aerogear/android/unifiedpush/RegistrarManager.java#L130</a><br>
> >>>> >>><br>
> >>>> >>> -- Passos<br>
> >>>> >>><br>
> >>>> >>><br>
> >>>> >>> On Wed, May 6, 2015 at 6:38 AM, Matthias Wessendorf <<br>
> >>>> <a href="mailto:matzew@apache.org">matzew@apache.org</a>><br>
> >>>> >>> wrote:<br>
> >>>> >>>><br>
> >>>> >>>> Hi,<br>
> >>>> >>>><br>
> >>>> >>>> as discussed on the previous thread, there will be a new endpoint<br>
> >>>> to<br>
> >>>> >>>> 'track' the "App opened/launched due to received push<br>
> >>>> notification".<br>
> >>>> >>>><br>
> >>>> >>>> Internally, on the UPS, the Push Message has an ID, which get's<br>
> >>>> append<br>
> >>>> >>>> to the payload of the notification, like here:<br>
> >>>> >>>><br>
> >>>> >>>><br>
> >>>> <a href="https://github.com/matzew/aerogear-unifiedpush-server/blob/analytics/push/sender/src/main/java/org/jboss/aerogear/unifiedpush/message/sender/APNsPushNotificationSender.java#L107-L108" target="_blank">https://github.com/matzew/aerogear-unifiedpush-server/blob/analytics/push/sender/src/main/java/org/jboss/aerogear/unifiedpush/message/sender/APNsPushNotificationSender.java#L107-L108</a><br>
> >>>> >>>><br>
> >>>> >>>> On the client SDKs this will be read and a HTTP call made to the<br>
> >>>> soon<br>
> >>>> >>>> introduced MetricsEndpoint. Currently this info is send to the<br>
> >>>> >>>> RegistrationEndpoint, including the deviceToken/registrationId.<br>
> >>>> However, I<br>
> >>>> >>>> think that the deviceToken/registrationId is currently not needed<br>
> >>>> for<br>
> >>>> >>>> metrics, since we are just interested in anonymous "app<br>
> >>>> launched/opened due<br>
> >>>> >>>> to push", and not a specific "DEVICE X did open, while DEVICE Y<br>
> >>>> did not yet<br>
> >>>> >>>> open".<br>
> >>>> >>>><br>
> >>>> >>>> So all we really need is the ID of the push notification, to be<br>
> >>>> >>>> processed by our Metrics Service<br>
> >>>> >>>><br>
> >>>> >>>><br>
> >>>> <a href="https://github.com/matzew/aerogear-unifiedpush-server/blob/analytics/jaxrs/src/main/java/org/jboss/aerogear/unifiedpush/rest/registry/installations/InstallationRegistrationEndpoint.java#L128-L133" target="_blank">https://github.com/matzew/aerogear-unifiedpush-server/blob/analytics/jaxrs/src/main/java/org/jboss/aerogear/unifiedpush/rest/registry/installations/InstallationRegistrationEndpoint.java#L128-L133</a><br>
> >>>> >>>><br>
> >>>> >>>> Therefore my proposal is have an endpoint:<br>
> >>>> >>>><br>
> >>>> >>>> PUT /metrics/pushmessage/{pushMessageID}<br>
> >>>> >>>><br>
> >>>> >>>> I think PUT is good/best, because there is nothing really created<br>
> >>>> on the<br>
> >>>> >>>> server, it's more updating the 'counter' on the existing<br>
> >>>> >>>> PushMessageInformation object.<br>
> >>>> >>>><br>
> >>>> >>>> Thoughts?<br>
> >>>> >>>> -Matthias<br>
> >>>> >>><br>
> >>>> >>><br>
> >>>> >>> _______________________________________________<br>
> >>>> >>> aerogear-dev mailing list<br>
> >>>> >>> <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
> >>>> >>> <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
> >>>> >><br>
> >>>> >><br>
> >>>> >><br>
> >>>> >><br>
> >>>> >> --<br>
> >>>> >> Matthias Wessendorf<br>
> >>>> >><br>
> >>>> >> blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
> >>>> >> sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
> >>>> >> twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a><br>
> >>>> >><br>
> >>>> >> _______________________________________________<br>
> >>>> >> aerogear-dev mailing list<br>
> >>>> >> <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
> >>>> >> <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
> >>>> ><br>
> >>>> ><br>
> >>>> ><br>
> >>>> ><br>
> >>>> > --<br>
> >>>> > -- Passos<br>
> >>>> ><br>
> >>>> > _______________________________________________<br>
> >>>> > aerogear-dev mailing list<br>
> >>>> > <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
> >>>> > <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
> >>>><br>
> >>>><br>
> >>>><br>
> >>>> --<br>
> >>>> Cheers,<br>
> >>>> Erik Jan<br>
> >>>> _______________________________________________<br>
> >>>> aerogear-dev mailing list<br>
> >>>> <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
> >>>> <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
> >>>><br>
> >>><br>
> >>><br>
> >>><br>
> >>> --<br>
> >>> -- Passos<br>
> >>><br>
> >>> _______________________________________________<br>
> >>> aerogear-dev mailing list<br>
> >>> <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
> >>> <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
> >>><br>
> >><br>
> >><br>
> >><br>
> >> --<br>
> >> Matthias Wessendorf<br>
> >><br>
> >> blog: <a href="http://matthiaswessendorf.wordpress.com/" target="_blank">http://matthiaswessendorf.wordpress.com/</a><br>
> >> sessions: <a href="http://www.slideshare.net/mwessendorf" target="_blank">http://www.slideshare.net/mwessendorf</a><br>
> >> twitter: <a href="http://twitter.com/mwessendorf" target="_blank">http://twitter.com/mwessendorf</a><br>
> >><br>
> >> _______________________________________________<br>
> >> aerogear-dev mailing list<br>
> >> <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
> >> <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
> >><br>
> ><br>
> ><br>
> > _______________________________________________<br>
> > aerogear-dev mailing list<br>
> > <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
> > <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
> ><br>
<br>
> _______________________________________________<br>
> aerogear-dev mailing list<br>
> <a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
> <a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
<br>
<br>
--<br>
<br>
</div></div>abstractj<br>
PGP: 0x84DC9914<br>
<div class="HOEnZb"><div class="h5">_______________________________________________<br>
aerogear-dev mailing list<br>
<a href="mailto:aerogear-dev@lists.jboss.org">aerogear-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/aerogear-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/aerogear-dev</a><br>
</div></div></blockquote></div><br></div></div>