[aerogear-dev] [UnifiedPush Server] Analytics / Metrics

Karel Piwko kpiwko at redhat.com
Tue Apr 8 06:59:18 EDT 2014


On Mon, 7 Apr 2014 08:09:01 -0400
Burr Sutter <bsutter at redhat.com> wrote:

> 
> On Apr 7, 2014, at 1:17 AM, Matthias Wessendorf <matzew at apache.org> wrote:
> 
> > Hello,
> > 
> > for a first round of collection some more data around the usage of the push
> > server (aka analytics/metrics), I'd propose we keep it very simple.
> > 
> > Overall, I see one major area of interest:
> > *metrics around push messages being sent:
> > - time of sending (using timezone of the server?)
> 
> > - group of receivers (e.g. everyone or the provided cirterias(e.g. alias,
> > categories,...))
> > - payload (the entire payload, including custom keys - not only alert,
> > sound, badge etc)
> > 
> As a developer, I wish to know if my 3 test devices all registered properly.
> As a developer, I wish to know if the push notification was sent to all 3
> test devices properly (at least delivered to Apple/Google properly) 

Definitely a great feature. We already have such endpoint in integration tests:

https://github.com/aerogear/aerogear-unifiedpush-server-integration-tests/blob/master/src/test/java/org/jboss/aerogear/unifiedpush/utils/SenderStatisticsEndpoint.java

> As a
> developer, I would like to know what were my past messages As a push
> administrator, a business unit representative (e.g head of sales, warehouse
> manager) is going ask me if a particular message was sent to a particular
> user (alias) or user group (aliases or category).
> > 
> > This is a nice feature, and would enrich the UPS.
> > 
> > 
> > However, I can see also some interest around device specific metrics:
> > 
> > Today we obivously store all the registered devices, but we also remove
> > them from the database table if needed (to not send messages to phones that
> > would no longer receive them anyways).
> I can see people wanting to just archive instead of delete those records -
> interesting data points would be:
> - any commonality in device type
> - a trend in date/time of removal
> - ratio of added/removed (user opted in vs out)
> 
> Is it possible to distinguish between app uninstall vs push notification
> disable (where the app remains installed)?
> 
> > 
> > Something that would be interesting as well, might be the following data:
> > - how often was an app has reached the push server  (note: every time the
> > app starts, the metadata of the server is being updated (see [2])
> would this be a good proxy for letting me know how often an end-user is using
> the app?
> > - number of device-tokens / registrationIDs that have been removed, when
> > receiving errors from Apple/Google (see [3] or [4])
> > - number of devices, that were activly removed using our APIs (supported
> > only on Android/SimplePush due to Apple policy, see [5])
> > 
> > 
> > While the initial focus should be around the message related metrics,
> > capturing some device data is nice too.
> > 
> > 
> > Any thoughts ? 
> > 
> > -Matthias
> > 
> > 
> > PS: Oh, for the longer run(...), I'd also like to see metrics like "was
> > mobile app opened due to a push notification". BUT that also requires some
> > more work/reseach on the client Push SDKs. But seriously, this is not a
> > priority for the next few months! 
> > 
> > 
> > 
> > 
> > [1] https://issues.jboss.org/browse/AGPUSH-116
> > [2]
> > https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/jaxrs/src/main/java/org/jboss/aerogear/unifiedpush/rest/registry/installations/InstallationRegistrationEndpoint.java#L98-L112
> > [3]
> > https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/push/src/main/java/org/jboss/aerogear/unifiedpush/message/sender/APNsPushNotificationSender.java#L87-L94
> > [4]
> > https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/push/src/main/java/org/jboss/aerogear/unifiedpush/message/sender/GCMPushNotificationSender.java#L93-L94
> > [5]
> > https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/jaxrs/src/main/java/org/jboss/aerogear/unifiedpush/rest/registry/installations/InstallationRegistrationEndpoint.java#L117-L119
> > 
> > 
> > -- 
> > 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
> 



More information about the aerogear-dev mailing list