What is the AWS Mobile Hub ?
The AWS Mobile Hub is a console that provides an integrated experience for discovering, configuring, and accessing AWS cloud services for building, testing, and monitoring usage of mobile apps. With the AWS Mobile Hub, you can select and configure features to add to your mobile app. AWS Mobile Hub features combine AWS services, client SDKs, and client integration code that make it fast and easy to add new capabilities to your mobile app.
What can I do with the Mobile Hub?
The AWS Mobile Hub lets you explore and learn about AWS solutions for building common mobile app features, including easy access to functional overviews, documentation, and forums. With the AWS Mobile Hub, you always start with a Project. You can either create a project or view and modify an existing one. When you create a project, you can select and configure features to add to your app, including user sign-in, user data storage, app content delivery, cloud logic, push notifications, and app analytics. After you have selected and configured features for your app, you can download a source code and SDK package or a working quickstart app. This quickstart app is configured to work with your provisioned services. You can return to the Mobile Hub to modify your app projects to change, add, or delete features, create new projects, or to download quickstart app source code. After your app is built, you can test it on real devices and monitor app metrics in an analytics dashboard.
What does it cost to use the AWS Mobile Hub?
When you use the AWS Mobile Hub, you pay only for the underlying AWS services that you use. There are no additional charges for using the AWS Mobile Hub. To learn more about the pricing and free tiers for the services provisioned by the AWS Mobile Hub, please visit our pricing page.
How do I get started with the Mobile Hub?
Features and Functions
What is a Mobile Hub Project?
A Mobile Hub Project is a named collection of AWS features and services you have selected for your mobile app.
What does the User Sign-in feature provide?
Using the AWS Mobile Hub, you can configure how users sign in to your app: through popular social logins such as Facebook and Google or with Email and Password based authentication. The AWS Mobile Hub will configure Amazon Cognito Identity and include sign-in, sign-up and password recovery screens in your quickstart app (as needed) along with the code required to connect Amazon Cognito with identity providers you have configured. Regardless of how your users sign in, the Mobile Hub will ensure your app has the right access control policies and follows AWS security best practices by using temporary, limited-privilege credentials to access other AWS resources that you create using Hub. The AWS Mobile Hub uses Amazon Cognito Identity, a free service, to power this feature.
What does the User Data Storage feature provide?
The user data storage feature includes cloud storage for two types of user data. First, it includes storage for user data in key-value pairs for cases like user profiles and preferences, high scores, or game state. You can synchronize this data across a user’s authenticated devices to help make the user’s experience consistent. The AWS Mobile Hub configures Amazon Cognito to handle key-value pair storage and synchronization. If you select this feature, your quickstart app will include an example of this. In addition to key-value storage, the user data storage feature allows you to store files such as photos in Amazon S3. You can store user-private files that are not meant to be shared with other users of the app, and you can store user files that can be read by other users of your applications. The Mobile Hub will create an Amazon S3 bucket with a folder for each use case and set file read/write permissions appropriate for each. If you select this feature, your quickstart app will include an example.
What does the Hosting and Streaming feature provide?
What does the NoSQL Database feature provide?
Using the NoSQL database feature you can add Amazon DynamoDB instance where you can store and query data used by your apps. Amazon DynamoDB is a fast and flexible NoSQL database service for all applications that need consistent, single-digit millisecond latency at any scale. It is a fully managed cloud database and its flexible data model and reliable performance make it a great data store for mobile apps. The AWS Mobile Hub lets you setup a database and define your database table schemas and indexes on the Mobile Hub console. If you select this feature, your quickstart app will include code for inserting, querying and deleting data in the database tables and saves you the effort on each of these operations.
What does the Cloud Logic Feature provide?
Through the AWS Mobile Hub, you can create cloud functions that can be called directly from your mobile app to execute logic (eg: validating in-app purchase receipts, cropping images) or to connect to other software resources (eg: business applications, databases). By putting your application logic in the cloud, you can share common functions across your iOS and Android apps without writing and maintaining two different versions. You can also modify your cloud functions on the fly without having to build, test, and submit new versions of your mobile app to the app store. The AWS Mobile Hub configures AWS Lambda and Amazon API gateway to handle execution of your cloud functions. AWS Mobile enables you to easily import existing API Gateway endpoints and generates custom Android and iOS SDKs for you, when you want to integrate them with your exisiting mobile apps. If you include cloud logic in your project, your quickstart app will include an example cloud function you can edit later.
What does the Push Notifications feature provide?
Through the AWS Mobile Hub, you can set up push notifications through the Apple (APNS and APNS Sandbox) and Google (GCM) push notification services. If you select this feature, the Mobile Hub console will walk you through initial setup. Your quickstart app will include mobile app code to automatically retrieve and update your push tokens. Additionally, your quickstart app will have code to subscribe each instance of your mobile app to a list, so you can send push notifications to your all of your mobile app users with one publish action. The Mobile Hub also lets you create topics for your app that you can subscribe users to group or topic-based notifications. The push notifications feature uses Amazon Simple Notification Service for sending push notifications.
What does the Messaging and Analytics feature provide?
If you choose to include this feature in your app, the Mobile Hub will automatically configure mobile app event collection, multi-channel messaging, and user and app analytics with Amazon Pinpoint. Your quickstart app will initialize Amazon Pinpoint to record standard events like session start along with example monetization and custom events. You can use the console to define campaigns for sending messages to users via mobile push notification, SMS text messages, or emails. You can segment users according to numerous criteria to target campaigns at appropriate subsets for specific messages. You can also perform A/B testing to determine optimal messages, channels, and timing. Amazon Pinpoint provides dashboards showing usage metrics and other critical KPIs for your application.
What does the Project Export/Import feature provide?
From the Mobile Hub project list page, you can clone, export and import your projects. Projects can be cloned within the same AWS account. Developers can import a zipped YAML project definition file exported from their own or other accounts. When you clone or import a project, Mobile Hub creates a new project and provisions it with its own set of AWS resources that match the original project.
Using AWS Mobile Hub
Which device platforms and SDKs does the Mobile Hub support?
The AWS Mobile Hub supports iOS (Swift and Objective C), Android (Java), Web (ReactJS), and React Native.
Can I use other AWS services with a Mobile Hub Project?
You can provision and configure other AWS services (for example, Amazon EC2) in their respective service consoles, which are accessible through the home page of the AWS Management Console home page.
Does the Mobile Hub support Unity or Xamarin?
AWS provides SDKs for both Unity and Xamarin. Visit our SDK page to download them. The Mobile Hub does not currently generate working sample apps for Unity or Xamarin.
Does the Mobile Hub create resources that are visible in other consoles?
Yes. The resources provisioned and configured through the AWS Mobile Hub are visible in, and can be managed in, the respective AWS service consoles. Resources associated with a Mobile Hub project will be designated with a name, such as projectname_resourcename_MOBILEHUB_456456 (unique ID). The Resources section in the Mobile Hub project shows you all of the resources created and modified for that project.
Can I use service consoles to manage and configure resources initially created in the Mobile Hub?
Yes, after a Mobile Hub project has been configured and a resource has been created, you can visit the related service console for advanced configuration and management of that service. For example, you can visit the Mobile Analytics console to view and analyze app usage metrics and charts and configure AutoExport of your mobile app event data to Amazon S3 and Amazon Redshift. Links to the service consoles are provided on the Resources page, found in the left navigation bar in of the Mobile Hub console. Additionally, as before, you can navigate to the various service consoles from the home page of the AWS Management Console.
Can I associate any service resources that I have created directly in service consoles with a Mobile Hub project so that those resources are visible and manageable in the Mobile Hub project dashboard?
The AWS Mobile Hub allows you to use existing Lambda functions. Other resources independently created and provisioned through individual service consoles cannot currently be referenced in a Mobile Hub project.
How do I control access to Mobile Hub Projects for my team members?
Access to service resources configured through the AWS Mobile Hub is controlled via the standard AWS user access mechanisms available in IAM (Identity and Access Management). In a team setting, team members have access to create Mobile Hub Projects and manage Project resources as defined by access permissions given to their AWS logins for the underlying services used by the AWS Mobile Hub (Amazon Cognito, Amazon DynamoDB, Amazon S3, AWS Lambda, Amazon SNS, Amazon CloudFront, AWS Device Farm, and Amazon Mobile Analytics).
What regions does the Mobile Hub support?
The AWS Mobile Hub provisions AWS service resources in the US-East-1 region by default.