Front-End Web & Mobile

Transition Guide: Parse Analytics to Amazon Mobile Analytics

Update: April 30, 2018: We’ve discontinued Amazon Mobile Analytics. Amazon Pinpoint now provides the analytics features that Amazon Mobile Analytics previously offered. If you’re new to Mobile Analytics, you can integrate the mobile analytics features of Amazon Pinpoint into your app. If you currently use Amazon Mobile Analytics, you can migrate to Amazon Pinpoint.


As you may already know, Parse announced it will retire its operations by January 28, 2017. To help customers transition their Parse Core resources to another hosted provider like Amazon Web Services (AWS), Parse open-sourced the Parse Server and published a migration guide suggesting that cloud providers, such as AWS, host the Parse Server and the associated MongoDB database. We have published step-by-step instructions on how to migrate to the Parse Server using AWS Elastic Beanstalk with mLab (formerly MongoLab).

The Parse Server and the migration guide published by Parse, however, do not include services such as Parse Push and Parse Analytics.  To help developers migrate their mobile push workloads from Parse Push to Amazon Simple Notification Services (SNS), we published a blog post last week. This week, we will walk you through setting up custom event instrumentation for your app using Amazon Mobile Analytics so that you can evaluate it as an alternative to Parse Analytics.

Parse Analytics

Parse Analytics allows you to track both mobile app client-side events and back-end events. On the mobile app client-side, you can track app-open (sessions) and custom events (e.g., app level completed). On the back end, you can track Parse Server API requests by device type, Parse class name, or REST verb. This article focuses on the replacement for Parse Analytics in the mobile app client-side.

Amazon Mobile Analytics

Amazon Mobile Analytics enables you to measure app usage and app revenue. By tracking key trends for new vs. returning users, app revenue, user retention, and custom in-app behavior events, you can make data-driven decisions to increase engagement and monetization for your app. Amazon Mobile Analytics collects metrics on active users, sessions, and retention, with the option to add reporting on in-app revenue or any custom events you choose. Amazon Mobile Analytics is free up to 100 million events per month and just $1 per million events thereafter.

Parse Analytics and Amazon Mobile Analytics feature comparison

While transitioning from Parse Analytics to Amazon Mobile Analytics is straightforward, there are a few differences between the two services that you should know to ensure your app behaves appropriately once transitioned. Here we compare the main analytics features between the two services:

Feature Parse Analytics (Client-side) Amazon Mobile Analytics
Active Users Yes – Daily Active Users (DAU), Weekly Active Users (WAU), Monthly Active Users (MAU), and Installations Yes – Daily Active Users (DAU), Monthly Active Users (MAU), and Installations
Sessions Yes – App Opens Yes – Session Count and Average Sessions per Daily Active User
Custom Events Yes Yes
Revenue No Yes – Average Revenue per Daily Active User (ARPDAU) and Average Revenue per Paying Daily Active User (ARPPDAU)
Retention Yes Yes – Day 1, 3, and 7 Retention and Week 1, 2, and 3 Retention
Sticky Factor No Yes – DAU divided by MAU
Console Reports Yes – Overview, Audience, Events, Saved/Recent Queries Yes – Overview, Active Users, Sessions, Retention, Revenue, and Custom Events
Download Reports Yes – CSV format Yes – CSV format
Auto Export No Yes – Amazon Simple Storage Service (Amazon S3) bucket and Amazon Redshift cluster

Integrating your app with Amazon Mobile Analytics

With most mobile analytics service offerings, the data collection and interaction between the app and the service is done through SDKs built by that service. Amazon Mobile Analytics is no different. Amazon Mobile Analytics is fully integrated with all of the AWS Mobile SDKs, which include iOS, Android, Fire OS, Unity, and Xamarin for native cross-platform integration.

AWS offers two ways to get started building mobile apps.  The first is to use AWS Mobile Hub, which lets you select multiple cloud service features for your mobile app (like Analytics and Push Notifications). AWS Mobile Hub provisions cloud resources for you, and then provides you a working sample app that is configured to work with those resources.  This enables you to get started quickly with several different AWS services at once. The second way is to use the Amazon Mobile Analytics console to provision your app and get SDK integration instructions that are specific to your platform.  For the purposes of this blog, we’ll walk you through the first approach.

Let’s get started!

Sign Up for an AWS Account (if you need one):

  1. Open http://aws.amazon.com/ and choose Create an AWS Account.
  2. Follow the online instructions.

Create an AWS Mobile Hub project and configure App Analytics feature

This step walks you through generating a sample app using the AWS Mobile Hub console. Mobile Hub integrates with key AWS Services and you can enable Amazon Mobile Analytics with one click. Enabling analytics in your Mobile Hub project will create an Amazon Mobile Analytics application, apply correct permissions, enable Amazon Cognito Identity for authentication, and build a native sample app in iOS (Objective-C) or Android (Java). This sample app includes the default integration for capturing user events, sessions, and even demonstrates sending monetization and custom events.

1. Navigate to the AWS Mobile Hub console here.

2. Choose Get Started.

    

3. Review the details of the First things first… page.

4. To grant permissions, choose Yes.

5. Choose Create new mobile project, and enter a project name (for example, “Parse Transition”).

6. After the project has been created, add the App Analytics feature.

  

7. Choose Add analytics and then choose Save changes.

    

8. Choose Build on the left panel and choose a platform.

    

9. Download your sample app project code.

Done.

You just created a Mobile Hub project, enabled App Analytics, built the project, and downloaded your sample app project code from the Mobile Hub console. Now you can launch your generated project code in Android Studio (for Android) or Xcode (for iOS) depending on the platform you selected. The sample app demonstrates typical use cases and utilizes best practices for implementing user tracking such as session start/stop, OS and app version, and locale of the app user.

Launch the sample app to trigger user events

Launch and run the Mobile Analytics demo on the sample app to record user session activity and demonstrate generating a custom or monetization event. These events record user activity, such as the sale of an in-app purchase item. After you have triggered these events, you can view usage reports in the Mobile Analytics console. See what the sample screens look like below.

Sample app screenshots:

         

Review the Data

After you integrate the SDK or the Mobile Hub sample app and launch your app, the data automatically starts collecting and is available in the Amazon Mobile Analytics dashboard. It can take up to an hour for data sent to Mobile Analytics to appear in the console reports. While you are waiting, please check out our Demo App dashboard where you can interact with charts and get more details about the data reports that are available.

Tracking Custom Events

To get the most out of Mobile Analytics, you’ll want to create and submit app events that are custom to your app.  Both Parse Analytics and Amazon Mobile Analytics provide this functionality.  While Parse offers dimensions for custom events, Amazon Mobile Analytics allows you to specify attributes and metrics in key value pairs for each custom event, as shown in the example below. To learn more, visit our documentation here.

As an example custom metric, let’s say our app is a game and we create a custom event that will be submitted when the user completes a level. Here’s what the event might look like:

Amazon Mobile Analytics – JSON example for a custom event

Parse Analytics – JSON example for the same event

The notable difference in custom events between Amazon Mobile Analytics and Parse Analytics is that Amazon Mobile Analytics takes attributes and metrics (measurements), whereas Parse Analytics is a flat structure of dimensions with a handful of string keys and values. Also note that Parse Analytics only stores the first eight dimension pairs per call and Amazon Mobile Analytics allows a total of 40 attributes and metrics per event.

Amazon Mobile Analytics Auto Export: Mobile Analytics captures both standard device data and custom events and then automatically calculates reports on your behalf. In addition to these aggregated reports, you can set up your data to be exported automatically to Amazon Redshift and Amazon S3 for further analysis. For more information, see our Auto Export user guide.

Conclusion

After you integrate the SDK or the Mobile Hub sample app and launch your app, the data will automatically start collecting and will be available in the Amazon Mobile Analytics dashboard here. Note that your events are batch processed and it can take up to an hour for data sent to Mobile Analytics to appear in the console reports (though it is typically shown much faster).

With a report dashboard that is easy to use, a full custom event model for tracking app usage, and a generous free tier that is free for all apps up to 100 million events per month, Amazon Mobile Analytics offers a compelling alternative to Parse Analytics.