Menu
AWS Mobile SDK
Xamarin Developer Guide

What is the AWS Mobile SDK for .NET and Xamarin?

The AWS Mobile SDK for .NET and Xamarin provides a set of .NET libraries, code samples, and documentation to help developers build connected mobile applications for:

  • Xamarin iOS

  • Xamarin Android

  • Windows Phone Silverlight

  • Windows RT 8.1

  • Windows Phone 8.1

Mobile apps written using the AWS Mobile SDK for .NET and Xamarin call native platform APIs so they have the look and feel of native applications. The .NET libraries in the SDK provide C# wrappers around the AWS REST APIs.

What's included in the AWS Mobile SDK for .NET and Xamarin?

Supported AWS services currently include, but are not limited to:

These services enable you to authenticate users, save player and game data, save objects in the cloud, receive push notifications, and collect and analyze usage data.

The AWS Mobile SDK for .NET and Xamarin also allows you to use most of the AWS services supported by the AWS SDK for .NET. The AWS services specific to mobile development are explained in this developer guide. For more information about the AWS SDK for .NET, see:

Compatability

The AWS Mobile SDK for .NET and Xamarin is shipped as a Portable Class Library (PCL). PCL Support was added in Xamarin.Android 4.10.1, Xamarin.iOS 7.0.4 and Xamarin Studio 4.2. Portable Library projects are automatically enabled in Xamarin Studio on OS X, and are built in to Visual Studio 2013.

IDEs

  • Windows: You can use either Visual Studio or Xamarin Studio to develop your application.

  • Mac: You must use the Xamarin Studio IDE to develop your applications. iOS development using Xamarin requires access to a Mac to run your app. For more information, see Installing Xamarin.iOS on Windows.

How do I get the AWS Mobile SDK for .NET and Xamarin?

To get the AWS Mobile SDK for .NET and Xamarin, see Setting Up the AWS Mobile SDK for .NET and Xamarin. The AWS Mobile SDK for .NET and Xamarin is distributed as NuGet packages. You can find a complete list of AWS service packages at AWS SDK packages on NuGet or at the AWS SDK for .NET Github Repository.

About the AWS Mobile Services

Cognito Identity

All calls made to AWS require AWS credentials. Rather than hard-coding your credentials into your apps, we recommend that you use Amazon Cognito Identity to provide AWS credentials to your application. Follow the instructions in Setting Up the AWS Mobile SDK for .NET and Xamarin to obtain AWS credentials via Amazon Cognito.

Cognito also allows you to authenticate users using public log-in providers like Amazon, Facebook, Twitter, and Google as well as providers that support OpenID Connect. Cognito also works with unauthenticated users. Cognito provides temporary credentials with limited access rights that you specify with an Identity and Access Management (IAM) role. Cognito is configured by creating an identity pool that is associated with an IAM role. The IAM role specifies the resources/services your app may access.

To get started with Cognito Identity, see Setting Up the AWS Mobile SDK for .NET and Xamarin.

To learn more about Cognito Identity, see Amazon Cognito Identity.

Cognito Sync

Cognito Sync is an AWS service and client library that enables cross-device syncing of application-related user data. You can use the Cognito Sync API to synchronize user profile data across devices and across login providers - Amazon, Facebook, Google, and your own custom identity provider.

To get started with Cognito Sync, see Sync User Data with Cognito Sync.

For more information about Cognito Sync, see Amazon Cognito Sync.

Mobile Analytics

Amazon Mobile Analytics lets you collect, visualize, and understand app usage for your mobile apps. Reports are available for metrics on active users, sessions, retention, in-app revenue, and custom events, and can be filtered by platform and date range. Amazon Mobile Analytics is built to scale with your business and can collect and process billions of events from many millions of endpoints.

To get started using Mobile Analytics, see Tracking App Usage Data with Amazon Mobile Analytics.

For more information about Mobile Analytics, see Amazon Mobile Analytics.

Dynamo DB

Amazon DynamoDB is a fast, highly scalable, highly available, cost-effective, non-relational database service. DynamoDB removes traditional scalability limitations on data storage while maintaining low latency and predictable performance.

To get started using Dynamo DB, see Store and Retrieve Data with DynamoDB.

For more information about Dynamo DB, see Amazon DynamoDB.

Amazon Simple Notification Service

Amazon Simple Notification Service (SNS) is a fast, flexible, fully managed push notification service that lets you send individual messages or to fan-out messages to large numbers of recipients. Amazon Simple Notification Service makes it simple and cost effective to send push notifications to mobile device users, email recipients or even send messages to other distributed services.

To get started using SNS for Xamarin iOS, see Receive Push Notifications using SNS (Xamarin iOS).

To get started using SNS for Xamarin Android, see Receive Push Notifications using SNS (Xamarin Android).

For more information about SNS, see Amazon Simple Notification Service (SNS).