21. Mobile Services

AWS Amplify

AWS Amplify
makes it easy to create, configure, and implement
scalable mobile applications
powered by AWS. Amplify seamlessly
provisions and manages your mobile backend and provides a simple framework to
easily integrate your backend with your iOS, Android, Web, and React Native
frontends. Amplify also automates the application release process of both your
frontend and backend allowing you to deliver features faster.

Mobile
applications require cloud services for actions that can’t be done directly on
the device, such as offline data synchronization, storage, or data sharing
across multiple users. You often have to configure, set up, and manage multiple
services to power the backend. You also have to integrate each of those
services into your application by writing multiple lines of code. However, as
the number of application features grow, your code and release process becomes
more complex and managing the backend requires more time.

Amplify
provisions and manages backends for your mobile applications. You just select
the capabilities you need such as authentication, analytics, or offline data sync
and Amplify will automatically provision and manage the AWS service that powers
each of the capabilities. You can then integrate those capabilities into your
application through the Amplify libraries and UI components.

Amazon Cognito

Amazon
Cognito lets you add user sign-up, sign-in, and access
control to your web and mobile apps quickly and easily
. With Amazon
Cognito, you also have the option to authenticate
users through social identity providers such as Facebook,
Twitter, or
Amazon, with SAML identity solutions, or by using your own identity system. In
addition, Amazon Cognito enables you to save data locally on users’ devices,
allowing your applications to work even when the devices are offline. You can
then synchronize data across users’ devices so that their app experience
remains consistent regardless of the device they use.

With Amazon
Cognito, you can focus on creating great app experiences instead of worrying
about building, securing, and scaling a solution to handle user management,
authentication, and sync across devices.

Amazon Pinpoint

Amazon
Pinpoint makes it easy to send targeted messages to
your customers through multiple engagement channels
. Examples of
targeted campaigns are promotional alerts and customer retention campaigns, and
transactional messages are messages such as order confirmations and password
reset messages.

You can
integrate Amazon Pinpoint into your mobile and web apps to capture usage data to provide you with
insight into how customers interact with your apps. Amazon Pinpoint also tracks
the ways that your customers respond to the messages you send—for example, by
showing you the number of messages that were delivered, opened, or clicked.

You can
develop custom audience segments and send them pre-scheduled targeted campaigns
via email, SMS, and push notifications. Targeted campaigns are useful for
sending promotional or educational content to re-engage and retain your users.

You can send
transactional messages using the console or the Amazon Pinpoint REST API.
Transactional campaigns can be sent via email, SMS, push notifications, and voice messages. You can
also use the API to build custom applications that deliver campaign and
transactional messages.

AWS Device Farm

AWS Device
Farm is an app testing service that lets you test and interact with your
Android, iOS, and web apps on many devices at once, or reproduce issues on a
device in real time. View video, screenshots, logs, and performance data to
pinpoint and fix issues before shipping your app.

AWS AppSync

AWS AppSync
is a serverless back-end for mobile, web, and enterprise applications.

AWS AppSync
makes it easy to build data driven mobile and web applications by handling
securely all the application data management tasks like online and offline data
access, data synchronization, and data manipulation across multiple data
sources. AWS AppSync uses GraphQL, an API query language designed to build
client applications by providing an intuitive and flexible syntax for
describing their data requirement.