AWS Mobile Blog
Announcing AWS Mobile SDK v2.6 for Android and iOS
Recently, we released the AWS Mobile SDK v2.6.0 for Android and iOS. The release has new features that make it easier for iOS and Android developers to integrate AWS backend services into their apps. The new features include:
- A configuration pattern that makes it easier for developers to get started, and to target production vs. pre-production environments.
- A native authentication user experience, which allows developers to easily add sign-in and sign-up flows powered by Amazon Cognito.
- A new S3 transfer manager that provides easier integration of file upload and download capabilities.
Amazon Pinpoint adds ADM, Baidu, APNs Token Authentication and Sandbox Channel for Push Notifications
This post was written by
Zach Barbitta, Amazon Pinpoint Sr. Product Manager Tech & Lomax Escarmant, Amazon Pinpoint Software Development Engineer.
Reaching your customers through push notifications is an important part of user engagement and retention. To enable push notifications for your mobile application, you use a push notification service such as Apple Push Notification service (APNs) or Firebase Cloud Messaging (FCM). Amazon Pinpoint supports both of these. Today, Amazon Pinpoint launches support for Amazon Device Messaging (ADM) and Baidu Cloud Push (Baidu) services as well as the APNs sandbox environment and APNs .p8 token authentication.
The ADM service is used to send push notifications to users of Amazon devices, such as Kindle Fire tablets and other Amazon devices that run your apps. The Baidu service enables you to send push notifications to millions of mobile devices in China. This is essential for Amazon Pinpoint customers who want to engage Android users in China.
Additionally, Amazon Pinpoint added the ability to use the APNs sandbox environment and authenticate using APNs .p8 tokens. APNs .p8 tokens allow you to use a single authentication token across all of your apps. APNs .p8 tokens eliminate the frustration of dealing with expired certificates. You can use the APNs sandbox environment to test your notifications before you ship your apps.
In this brief tutorial, we show how to add push notifications with ADM. Click the links for more information about Baidu, APNs Sandbox, or .p8 token authentication. For more information, see Getting Started with Amazon Pinpoint in the Amazon Pinpoint User Guide.
Announcing: React Native Starter Project with One-Click AWS Deployment and Serverless Infrastructure
React Native as a mobile development platform continues to grow in popularity. AWS has invested more in this area over the past year, and has been participating in React Native community events. Many developers want to enrich applications that they built using React Native with features like database access and content storage (images, videos, etc.), while protecting these resources with strong security mechanisms. Adding functionality such as user registration, sign-in, and MFA flows can be challenging to do in a cost effective and scalable manner.
Today, we’re announcing a new React Native starter project which has been open sourced on GitHub to help customers quickly add these features using AWS services. The project contains a starter application that can be run with a single click, using the Deploy from GitHub button capabilities of AWS Mobile Hub. After deployment finishes, the starter can be run locally using npm or yarn on either iOS or Android. The project demonstrates user sign-up and sign-in flows along with MFA as a “Pet Tracker” application, allowing you to upload pictures of your pets along with some data (name, age, breed, and gender). The pictures are stored in an S3 bucket. The bucket can only be accessed by the user. Similarly, the records corresponding to these pictures are stored in an Amazon DynamoDB table on a per-user basis as well. This is protected by a serverless infrastructure that uses Amazon API Gateway and AWS Lambda.
Custom Artifacts on AWS Device Farm
A good test report is essential to proper analysis of mobile app testing. It is not only the summary of test results, but also artifacts like screenshots, videos, crash reports, logs, and app-generated files. A well formed test report provides useful insights, leads to faster resolution of issues, and helps teams focus on the right priorities. With so many great testing frameworks available, with their own strengths and weaknesses, the configuration capabilities for reports are important.
AWS Device Farm provides comprehensive test reporting that includes all of the standard capabilities: screenshots, videos, and crash reports. We also know that developers need access to custom reports and artifacts that are generated by the test framework. Today, we are providing access to any custom artifact (log file, test framework generated file, or application generated file) when accessing the test results within AWS Device Farm.
(more…)
Push Notifications with Ionic and Amazon Pinpoint
Engaging your customers through communication channels such as push notifications is important for mobile app success. AWS services such as AWS Mobile Hub and Amazon Pinpoint enable you to do this in a scalable and cost effective manner. When using these services with development tooling like Ionic Framework you can rapidly develop modern applications to build your business.
Ionic recently announced that they are sunsetting their Push and Auth services. We recently launched an Ionic Starter Project and posted a tutorial for adding sign-up and sign-in to an Ionic project to help customers evaluate AWS as an alternative for migration. In this post, we cover how to add push notifications to your Ionic project with Amazon Pinpoint.
In this tutorial, we show how to add push notifications with Google Cloud Messaging (GCM). A similar procedure can be followed for Apple Push Notification service (APNs) which you can find on the Apple Developer website.
Migrating Users to Amazon Cognito User Pools
Many customers ask about the best way to migrate their existing users in to Amazon Cognito User Pools. In this blog post, we describe the options and provide step-by-step instructions on how to do it.
Amazon Cognito User Pools offer a fully managed user directory so you can easily add sign-up and sign-in to your mobile app or web application. User pools scale to hundreds of millions of users and provide simple, secure, and easy to use options for you as a developer. You can take advantage of enhanced security features, such as email and phone number verification, and multi-factor authentication. User Pools provide a customizable user interface for sign-up and sign-in, and built-in federation with Google, Facebook, Login with Amazon, and SAML-based identity providers. User pool sign-in is based on OpenID Connect and OAuth 2.0 standards.
Easy Sign-in and Sign-up UI with the AWS Mobile SDK for Android
Recently, we released v2.6.0 of the AWS Mobile SDK for Android and AWS Mobile SDK for iOS. It includes many improvements. This post focuses on two of these. First, you can integrate a JSON file with the configuration details of your mobile backend. The easiest way to generate this file is with AWS Mobile Hub. You can also generate the file yourself. Using the JSON file means that you don’t need to edit the Info.plist file (for iOS) or create a class of constants (for Android). You can use the same configuration file for both iOS and Android versions of the app.
Second, we integrated two features that were available only on the AWS Mobile Hub custom SDK. IdentityManager is for managing identity. It includes a UI component for each platform. The component makes it easier to develop a sign-in and sign-up screen. TransferManager is for managing file uploads and downloads. As with IdentityManager, it’s designed for integrating into the UI. Since the custom SDK features have been integrated into the standard SDK, we no longer have a custom SDK for AWS Mobile Hub users.
In this post, we walk through adding analytics and authentication to an existing Android app. The example app is a standalone note-taking app, which you can download from GitHub. Start by downloading and compiling the source code. Set up an emulator and run the code to see how it performs. We used the master-detail project so that the application is responsive to tablets and phones. The app was tested in the emulator for a Nexus 5X and a Pixel C on Android 7.1.1 (API level 25).
User Sign-in and Sign-up for Ionic Mobile Apps with Amazon Cognito
This post was written by Brice Pelle, AWS Technical Account Manager.
In our previous blog post, we described how to secure and deploy RESTful interfaces for the Ionic Framework using the AWS SDK for JavaScript and AWS Mobile Hub, with support for authenticated and unauthenticated users. This allows guest users to use your app, with limited privileges, without having an account. When users are ready, they can sign up for an account and sign in. This gives them access to more features in the app. Sign-up and sign-in functionality in a mobile app can be difficult to implement securely and challenging to manage.
In this post, we take a deeper look at how AWS Mobile Hub along with Amazon Cognito provide a foundation for user sign-up and sign-in. We describe how these services integrate in your Ionic Framework mobile app. We use the same sample app introduced in the previous post to showcase the implementation. Refer to the previous blog post for instructions on how to deploy backend resources with Mobile Hub and how to launch the app.
Deploy and Secure REST-based Mobile Apps with AWS Mobile Hub
This post was written by Brice Pelle, AWS Technical Account Manager.
RESTful APIs are used today to power many mobile apps. Using RESTful interfaces allows developers to decouple the frontend application from the backend systems and provides standard interoperability between the two components. Controlling access to resources can be hard to set up. This usually requires addressing authentication and authorization concerns.
In this article, I am going to look at how AWS Mobile Hub helps build a serverless mobile backend that exposes REST interfaces, and uses Amazon Cognito to help developers integrate authentication and authorization into an Ionic v2 app. I will be using a sample app, to demonstrate the implementation. The app is a simple task management app that allows access to authenticated and unauthenticated users. I will cover authentication in the second part of this blog.
Building fine-grained authorization using Amazon Cognito User Pools groups
This post was authored by Leo Drakopoulos, AWS Solutions Architect.
User authentication and authorization can be challenging when building web and mobile apps. The challenges include handling user data and passwords, token-based authentication, managing fine-grained permissions, scalability, federation, and more.
In this post, we show how to integrate authentication and authorization into an Angular web app by using AWS services. You can use Amazon Cognito to control permissions for different user groups in your app. This ensures that users have appropriate access to backend resources, determined by the group they belong to.

