SlideShare a Scribd company logo
1 of 58
Download to read offline
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Dhruv Thukral, Amazon Web Services Solutions Architect, Gaming
Tara E. Walker, AWS Technical Evangelist, Amazon Web Services
October 2015
GAM 401
Serverless Mobile App and Game Development
Build Your Game with Mobile Services
Before We Start
How Do You Build a Mobile
Game Today?
Authenticate users
Manage users and identity providers
Authorize access
Securely access cloud resources
Synchronize data
Sync user preferences across devices
Store and deliver media
Store DLC and deliver content quickly
Send real time events
Create live dashboards to track user events in real time
Analyze user behavior
Track active users, engagement and stats
Store shared data
Store and query fast NoSQL data across users and devices
Send push notifications
Bring users back to your app by sending messages reliably
Introducing AWS Mobile Services
Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push
Amazon Kinesis
Recorder
Amazon DynamoDB
Mapper
Amazon S3
Transfer Util
Amazon
SQS Client
Amazon SES
Client
Core building
block services
Mobile optimized
connectors
Mobile optimized
services
Your Mobile Game
AWS Mobile SDK for iOS, Android, Xamarin and Unity, API Endpoints, Management Console
Compute Storage Networking Analytics Databases
Integrated SDK
AWS Lambda
Lambda
Functions
λ λ
λ
λ
Authenticate users
Manage users and identity providers
Authorize access
Securely access cloud resources
Synchronize data
Sync user preferences across devices
Store and deliver media
Store DLC and deliver content quickly
Amazon Cognito
Sync
Amazon Cognito
Amazon Cognito
S3 Transfer
Utility
Send real time events
Create Live Dashboards to track user events in real time
Analyze user behavior
Track active users, engagement and stats
Store shared data
Store and query fast NoSQL data across users and devices
Send push notifications
Bring users back to your app by sending messages reliably
Kinesis
Recorder
DynamoDB
Mapper
Amazon
SNS Mobile Push
Amazon
Mobile Analytics
Authenticate users: Amazon Cognito
Amazon Cognito
Simplifies identity and
access management
Securely access all
AWS services from
mobile device
Cross-device and
cross-platform sync
Implement security best
practices
“Your app data is secure, available offline, and kept in sync between devices”
Synchronize user’s data
across devices and
platforms
Manage users as
unique identities across
identity providers
Guest Your own
Auth
Amazon Cognito concepts
Identity pool
IAM roles, trust, and permissions
Identities: authenticated and unauthenticated
Getting started
Create an identity pool
Use SDK to get credentials
Create roles: authenticated and unauthenticated
Getting credentials
Include the following import statements
Initialize the Amazon Cognito credentials provider
Pass the initialized Amazon Cognito credentials provider to the constructor of
the AWS client to be used. This could be the Amazon Cognito Sync client,
the Amazon S3 transfer manager, or any of the other mobile services we will
talk about shortly.
End Users
App with
AWS Mobile
SDK
Access
to AWS
Services
Login OAUTH/OpenID
Access Token
Amazon
Cognito ID,
Temp
Credentials
Access
Token
Pool ID
Role ARNs
Amazon Cognito ID
(Temp Credentials)
DynamoDB
Developer
Amazon Cognito
Identity Broker
S3
Mobile Analytics
Amazon Cognito
Sync Store
AWS
Management
Console
Amazon Cognito security architecture
Amazon Cognito ID
(Temp Credentials)
End Users
Access
to AWS
Services
Get OpenID Token
User name,
password
Amazon
Cognito ID,
Temp
Credentials
OIDC Token
Pool ID
Role ARNs
User Authentication
System
(Running on AWS or not)
OIDC Token
OIDC Token
Developer authenticated identities
S3
Mobile Analytics
Amazon Cognito
Identity Broker AWS
Management
Console
Developer
DynamoDB
Amazon Cognito
Sync Store
Synchronize data across devices : Amazon Cognito (Sync)
Amazon Cognito Sync
User data,
storage,
and sync
Any platform
iOS, Android, FireOS
Store app data, preferences, and state
Save app and device data to the cloud and merge
them after login
Cross-device cross-OS sync
Sync user data and preferences across devices
with one line of code
Work offline
Data always stored in local SQLite DB first;
works seamlessly when intermittent or no
connectivity
k/v data
Identity pool
Integrating Amazon Cognito Sync functionality is simple
Import the Amazon Cognito package
Initialize the Sync client and use the previously created credentials provider
Datasets
Create a dataset or open an existing one
To delete a dataset
Reading and writing to a dataset
Removing keys from a dataset
Store and deliver media assets:
Amazon S3 and Amazon CloudFront
Amazon S3 Connector: Transfer Utility
S3 Connector
• Multipart upload (e.g., user content)
• Fault tolerant download (e.g., assets)
• No back end required
• Automatic retries
• Pause, resume, cancel functions
Integrating the S3 Transfer Utility is simple too!
Instantiate an Amazon S3 client
Instantiate TransferUtility
Performing operations
Upload an object
Download an object
Performing operations
Upload an object
Download an object
Tracking S3 transfer progress
Other operations
Pausing an S3 transfer
Resuming and S3 transfer
Cancelling an S3 transfer
Analyze user behavior: Amazon Mobile Analytics
Amazon Mobile Analytics
Scalable and generous
Free tier
Focus on metrics that matter; usage
reports available within 60 minutes of
receiving data from an app
Fast
Scale to billions of
events per day from
millions of users
Own your data
“Easily collect, visualize and understand your app usage data at scale”
Data collected are not
shared, aggregated, or
reused
Integrating Mobile Analytics is guess what….simple!
Initialize the MobileAnalyticsManager and that’s it….
We saw earlier where we can find our identity pool ID.
You can get the appid by creating a new app in the Mobile Analytics dashboard
Key business metrics
(with one line of code)
1. Monthly Active Users
(MAU)
2. Daily Active Users
(DAU)
3. New Users
4. Daily Sessions
5. Sticky Factor
6. 1-day retention
7. Avg. revenue per DAU
8. Daily paying users
9. Avg. paying DAU
Amazon Mobile Analytics dashboard
Get behavioral insights into app specific
actions that your users take
Reports provide a view of how often custom
events occur; you can add further context
with attributes and metrics, to each custom
event
Track the number of
likes and shares, per
article, in a news app
Understand player
abort rates per
level, in a game
Number of songs
played, per user
session, in a music
app
In-app item popularity
in a shopping app
Track custom events
Custom event tracking using Mobile Analytics
Create an AnalyticsEvent, pass attributes and metrics
Then record the event
Send push notifications: Amazon SNS mobile push
Each platform works differently, and push gets more complex as
you scale to support millions of devices
Cloud app
Platform services Mobile apps
Amazon SNS
Cross-platform
Mobile Push
Internet
Apple APNS
Google GCM
Amazon ADM
Windows WNS and
MPNS
Baidu CP
New features:
Message expiry time
Message attributes
Delivery status
Broadcast
iOS 9 support
Amazon SNS mobile push
Android Phones and Tablets
Apple iPhones and iPads
Kindle Fire Devices
Android Phones and Tablets in China
iOS
Windows Desktop and Windows Phone
Devices
Store shared data: Amazon DynamoDB
Joe Anna Bob
Highscores
Joe 1500
Anna 800
Bob 750
Simplifies access to Amazon
DynamoDB in your app
Map client-side classes to Amazon
DynamoDB tables
Removes the need to transform
objects into tables and vice versa
Amazon DynamoDB Connector: Object Mapper
@DynamoDBTable(tableName = ”Highscores")
public static class HighScore{
private int userid, highScore;
private String name;
@DynamoDBHashKey(attributeName = ”userid")
public int getUserId() {
return userid;
}
public void setUserId(int userid) {
this.userid = userid;
}
@DynamoDBAttribute(attributeName=”name")
public String getName() {
return name;
}……
User ID Name High score
17 Joe 25
23 Anna 67
32 Bob 55
Table: high scores
Amazon DynamoDB mapper example
// Build a highscore object
HighScore highScore = new HighScore();
highScore.setUserId(17);
highScore.setName(”Joe");
highScore.setHighScore(25);
// Save book object to DynamoDB
mapper.save(highScore);
// Update item and save object again
highScore.setHighScore(118);
mapper.save(highScore);
// Load another highScore
HighScore anotherHighScore = mapper.load(HighScore.class,23);
Amazon DynamoDB mapper example
Quiz?
Q. What is the maximum number of datasets per identity in Amazon Cognito?
A. 20
Q. What object is returned by the TransferUtility when calling an upload or
download?
A. TransferObserver
Q. How many events can you store in the free tier for Mobile Analytics?
Q. 100 MM
Tappy Plane Architecture
and Demo
Now over to Tara!!
Tappy Plane architecture
Mobile Client
AWS Unity
SDK
AWS Toolkit for
Visual Studio
Amazon Cognito
Identity
AWS Cloud
DynamoDB
Mobile
Analytics
Amazno
Cognito Sync
Login
AWS Mobile SDKs for gaming
1. AWS Mobile SDK for Android
2. AWS Mobile SDK for iOS
3. AWS Mobile SDK for Unity (developer preview)
Introducing the AWS SDK for Unity
Generally available, May 2015
Services available
 Amazon DynamoDB
 Amazon S3
 Amazon Cognito
 Amazon Mobile Analytics
 Amazon SNS
Other AWS services
Invoke Lambda with SNS and/or S3 events
Build custom plugins for other AWS services using
AWS Mobile SDK for.NET
SDK installation and setup
Download AWS Unity SDK and unzip
 http://aws.amazon.com/mobile/sdk/
Import the desired package(s) into Unity as a custom
package
 CognitoSync package
 DynamoDB package
 S3 package
 MobileAnalytics package
Add the AWSPrefab to scene in Unity
Tappy Plane game
Game showcases
 Amazon Cognito Identity
 Amazon Cognito Sync
 Mobile Analytics
 Amazon S3 Transfer Utility
 DynamoDB Mapper
Want More Game Samples?
 AWS Unity SDK samples available on GitHub
https://github.com/awslabs/aws-sdk-unity-samples
Tappy Plane
AWS Mobile SDK: services setup
Tappy Plane : services setup
Set up Amazon Cognito identity pool
 Create Tappy Plane identity pool
 Retrieve identity pool ID
Set up Mobile Analytics app
 Add Tappy Plane app
 Retrieve app ID
Create Tappy Plane high score table
 Create table
 Add hash key
 Add table attributes
Tappy Plane demo
Setting up AWS services in the console
Tappy Plane demo
Amazon Cognito: reviewing Unity3D code
Adding DynamoDB
Methods to create DynamoDB table
 Using DynamoDB console
 Using code with createTable method
 Using Visual Studio with AWS Toolkit for Visual Studio:
http://aws.amazon.com/net/
 Example:
• Table name: TappyHighScores
• Primary key type: Hash
• Hash attribute name: ScoreID,
• Hash type: Number
Create DynamoDB client
AmazonDynamoDBClient client = new
AmazonDynamoDBClient(RegionEndpoint.USEast1)
Using DynamoDB
Add a high score record
 Create high score object
[DynamoDBTable(”TappyHighScores")]
class HighScore
{ [DynamoDBHashKey] // hash key
public int ScoreID { get; set; }
[DynamoDBProperty]
public string Score { get; set; }
public string UserID {get; set; }
}
 Save high score record to DynamoDB
_context.SaveAsync<HighScore>(myScore,
(AmazonDynamoResult<VoidResponse> result) =>
{ if (result.Exception != null) { this.displayMessage += "Save
failed ; “ +result.Exception.Message; }
High scores
Joe 1500
Anna 800
Bob 750
Adding Amazon Simple Storage Service (S3)
Methods create S3 bucket (set permissions)
 Using Amazon S3 console
 Using code with PutBucket and PutBucketRequest
 Using Visual Studio with AWS Toolkit for Visual Studio:
http://aws.amazon.com/net/
 Example:
Bucket name: tappyplane_bucket
Create an Amazon S3 transfer manager
AmazonS3Client S3Client =
new AmazonS3Client (credentials ,RegionEndpoint.USEast1);
Using Amazon Simple Storage Service (S3)
Download an object
 Get badge picture (bragging rights)
var request = new GetObjectRequest ()
{ BucketName = bucketName,
Key = downloadKey,
};
S3Client.GetObjectAsync (request, GetObjectCallback,null);
Upload an object
 Upload a picture of high score
Stream stream = null;
stream = new FileStream(uploadSrcFilePath, FileMode.Open,
FileAccess.Read, FileShare.Read);
var postRequest = new PostObjectRequest
{ Key = uploadKey, Bucket = bucketName, InputStream = stream };
S3Client.PostObjectAsync (postRequest, PostObjectCallback,null);
AWS resources
AWS mobile blog
• http://mobile.awsblog.com
AWS Mobile Services
• http://aws.amazon.com/mobile/
AWS Mobile SDK
• http://aws.amazon.com/mobile/sdk/
AWS mobile developer guides
• Unity: http://docs.aws.amazon.com/mobile/sdkforunity/developerguide
• iOS: http://docs.aws.amazon.com/mobile/sdkforios/developerguide
• Android:
http://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/We
lcome.html
Thank you!
Serverless Mobile App and Game Development
Build your game with Mobile Services
Tara Walker AWS Technical Evangelist, Amazon Web Services
Dhruv Thukral Amazon Web Services Solutions Architect, Gaming
Remember to complete
your evaluations!
Related Sessions

More Related Content

What's hot

엔터프라이즈 기술 지원을 통한 효율적인 클라우드 운영 사례 - AWS Summit Seoul 2017
엔터프라이즈 기술 지원을 통한 효율적인 클라우드 운영 사례 - AWS Summit Seoul 2017엔터프라이즈 기술 지원을 통한 효율적인 클라우드 운영 사례 - AWS Summit Seoul 2017
엔터프라이즈 기술 지원을 통한 효율적인 클라우드 운영 사례 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
Amazon Web Services
 

What's hot (20)

(BDT208) A Technical Introduction to Amazon Elastic MapReduce
(BDT208) A Technical Introduction to Amazon Elastic MapReduce(BDT208) A Technical Introduction to Amazon Elastic MapReduce
(BDT208) A Technical Introduction to Amazon Elastic MapReduce
 
Intro to AWS Lambda
Intro to AWS Lambda Intro to AWS Lambda
Intro to AWS Lambda
 
Storage with Amazon S3 and Amazon Glacier
Storage with Amazon S3 and Amazon GlacierStorage with Amazon S3 and Amazon Glacier
Storage with Amazon S3 and Amazon Glacier
 
Deep Dive into AWS SAM
Deep Dive into AWS SAMDeep Dive into AWS SAM
Deep Dive into AWS SAM
 
엔터프라이즈 기술 지원을 통한 효율적인 클라우드 운영 사례 - AWS Summit Seoul 2017
엔터프라이즈 기술 지원을 통한 효율적인 클라우드 운영 사례 - AWS Summit Seoul 2017엔터프라이즈 기술 지원을 통한 효율적인 클라우드 운영 사례 - AWS Summit Seoul 2017
엔터프라이즈 기술 지원을 통한 효율적인 클라우드 운영 사례 - AWS Summit Seoul 2017
 
Amazon services ec2
Amazon services ec2Amazon services ec2
Amazon services ec2
 
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
 
Build and Deploy Your Mobile Games
Build and Deploy Your Mobile Games Build and Deploy Your Mobile Games
Build and Deploy Your Mobile Games
 
고객의 플랫폼/서비스를 개선한 국내 사례 살펴보기 – 장준성 AWS 솔루션즈 아키텍트, 강산아 NDREAM 팀장, 송영호 야놀자 매니저, ...
고객의 플랫폼/서비스를 개선한 국내 사례 살펴보기 – 장준성 AWS 솔루션즈 아키텍트, 강산아 NDREAM 팀장, 송영호 야놀자 매니저, ...고객의 플랫폼/서비스를 개선한 국내 사례 살펴보기 – 장준성 AWS 솔루션즈 아키텍트, 강산아 NDREAM 팀장, 송영호 야놀자 매니저, ...
고객의 플랫폼/서비스를 개선한 국내 사례 살펴보기 – 장준성 AWS 솔루션즈 아키텍트, 강산아 NDREAM 팀장, 송영호 야놀자 매니저, ...
 
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
 
An Introduction to the AWS Well Architected Framework - Webinar
An Introduction to the AWS Well Architected Framework - WebinarAn Introduction to the AWS Well Architected Framework - Webinar
An Introduction to the AWS Well Architected Framework - Webinar
 
Cost Optimisation on AWS
Cost Optimisation on AWSCost Optimisation on AWS
Cost Optimisation on AWS
 
Identity and Access Management: The First Step in AWS Security
Identity and Access Management: The First Step in AWS SecurityIdentity and Access Management: The First Step in AWS Security
Identity and Access Management: The First Step in AWS Security
 
Using AWS Well Architectured Framework for Software Architecture Evaluations ...
Using AWS Well Architectured Framework for Software Architecture Evaluations ...Using AWS Well Architectured Framework for Software Architecture Evaluations ...
Using AWS Well Architectured Framework for Software Architecture Evaluations ...
 
Introduce AWS Lambda for newbie and Non-IT
Introduce AWS Lambda for newbie and Non-ITIntroduce AWS Lambda for newbie and Non-IT
Introduce AWS Lambda for newbie and Non-IT
 
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...
AWS Lambda 내부 동작 방식 및 활용 방법 자세히 살펴 보기 - 김일호 솔루션즈 아키텍트 매니저, AWS :: AWS Summit ...
 
AWS와 함께 하는 클라우드 비즈니스 (임성은 매니저, AWS) :: AWS TechShift 2018
AWS와 함께 하는 클라우드 비즈니스 (임성은 매니저, AWS) :: AWS TechShift 2018AWS와 함께 하는 클라우드 비즈니스 (임성은 매니저, AWS) :: AWS TechShift 2018
AWS와 함께 하는 클라우드 비즈니스 (임성은 매니저, AWS) :: AWS TechShift 2018
 
Introduction to Amazon EC2
Introduction to Amazon EC2Introduction to Amazon EC2
Introduction to Amazon EC2
 

Similar to (GAM401) Build a Serverless Mobile Game w/ Cognito, Lambda & DynamoDB

Similar to (GAM401) Build a Serverless Mobile Game w/ Cognito, Lambda & DynamoDB (20)

(MBL310) Workshop: Build iOS Apps Using AWS Mobile Services | AWS re:Invent 2014
(MBL310) Workshop: Build iOS Apps Using AWS Mobile Services | AWS re:Invent 2014(MBL310) Workshop: Build iOS Apps Using AWS Mobile Services | AWS re:Invent 2014
(MBL310) Workshop: Build iOS Apps Using AWS Mobile Services | AWS re:Invent 2014
 
Building mobile apps on AWS
Building mobile apps on AWSBuilding mobile apps on AWS
Building mobile apps on AWS
 
Building mobile apps on aws
Building mobile apps on awsBuilding mobile apps on aws
Building mobile apps on aws
 
Build Your Mobile App Faster with AWS Mobile Services
Build Your Mobile App Faster with AWS Mobile ServicesBuild Your Mobile App Faster with AWS Mobile Services
Build Your Mobile App Faster with AWS Mobile Services
 
AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...
AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...
AWS April Webinar Series - Easily Build and Scale Mobile Apps with AWS Mobile...
 
Building Mobile Apps on AWS at Websummit Diublin
Building Mobile Apps on AWS at Websummit DiublinBuilding Mobile Apps on AWS at Websummit Diublin
Building Mobile Apps on AWS at Websummit Diublin
 
Mobile on AWS
Mobile on AWSMobile on AWS
Mobile on AWS
 
Building Cloud-Powered Mobile Apps
Building Cloud-Powered Mobile AppsBuilding Cloud-Powered Mobile Apps
Building Cloud-Powered Mobile Apps
 
Journey Through the Cloud - Mobile & Social Apps
Journey Through the Cloud - Mobile & Social AppsJourney Through the Cloud - Mobile & Social Apps
Journey Through the Cloud - Mobile & Social Apps
 
Build Your Mobile App Faster with AWS Mobile Services
Build Your Mobile App Faster with AWS Mobile ServicesBuild Your Mobile App Faster with AWS Mobile Services
Build Your Mobile App Faster with AWS Mobile Services
 
Build Your Mobile App Faster with AWS Mobile Services
Build Your Mobile App Faster with AWS Mobile ServicesBuild Your Mobile App Faster with AWS Mobile Services
Build Your Mobile App Faster with AWS Mobile Services
 
Build high performing mobile apps, faster with AWS
Build high performing mobile apps, faster with AWSBuild high performing mobile apps, faster with AWS
Build high performing mobile apps, faster with AWS
 
Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)
Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)
Build Your Mobile App Faster with AWS Mobile Services (Part 1 - AWS)
 
Build Your Mobile App Faster with AWS Mobile Services
Build Your Mobile App Faster with AWS Mobile ServicesBuild Your Mobile App Faster with AWS Mobile Services
Build Your Mobile App Faster with AWS Mobile Services
 
AWS Webinar - 201 Developing mobile apps with AWS
AWS Webinar - 201 Developing mobile apps with AWSAWS Webinar - 201 Developing mobile apps with AWS
AWS Webinar - 201 Developing mobile apps with AWS
 
Build Your Mobile App with AWS Mobile Services
Build Your Mobile App with AWS Mobile ServicesBuild Your Mobile App with AWS Mobile Services
Build Your Mobile App with AWS Mobile Services
 
AWS Cloud Kata 2014 | Jakarta - 2-2 Mobile
AWS Cloud Kata 2014 | Jakarta - 2-2 MobileAWS Cloud Kata 2014 | Jakarta - 2-2 Mobile
AWS Cloud Kata 2014 | Jakarta - 2-2 Mobile
 
(SPOT205) State of the Union: AWS Mobile Services and New World of Connected ...
(SPOT205) State of the Union: AWS Mobile Services and New World of Connected ...(SPOT205) State of the Union: AWS Mobile Services and New World of Connected ...
(SPOT205) State of the Union: AWS Mobile Services and New World of Connected ...
 
Build Mobile Apps using AWS SDKs and AWS Mobile Hub
Build Mobile Apps using AWS SDKs and AWS Mobile HubBuild Mobile Apps using AWS SDKs and AWS Mobile Hub
Build Mobile Apps using AWS SDKs and AWS Mobile Hub
 
Building Cloud-powered Mobile Apps
Building Cloud-powered Mobile AppsBuilding Cloud-powered Mobile Apps
Building Cloud-powered Mobile Apps
 

More from Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

(GAM401) Build a Serverless Mobile Game w/ Cognito, Lambda & DynamoDB

  • 1. © 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Dhruv Thukral, Amazon Web Services Solutions Architect, Gaming Tara E. Walker, AWS Technical Evangelist, Amazon Web Services October 2015 GAM 401 Serverless Mobile App and Game Development Build Your Game with Mobile Services
  • 3. How Do You Build a Mobile Game Today?
  • 4. Authenticate users Manage users and identity providers Authorize access Securely access cloud resources Synchronize data Sync user preferences across devices Store and deliver media Store DLC and deliver content quickly
  • 5. Send real time events Create live dashboards to track user events in real time Analyze user behavior Track active users, engagement and stats Store shared data Store and query fast NoSQL data across users and devices Send push notifications Bring users back to your app by sending messages reliably
  • 6. Introducing AWS Mobile Services Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push Amazon Kinesis Recorder Amazon DynamoDB Mapper Amazon S3 Transfer Util Amazon SQS Client Amazon SES Client Core building block services Mobile optimized connectors Mobile optimized services Your Mobile Game AWS Mobile SDK for iOS, Android, Xamarin and Unity, API Endpoints, Management Console Compute Storage Networking Analytics Databases Integrated SDK AWS Lambda Lambda Functions λ λ λ λ
  • 7. Authenticate users Manage users and identity providers Authorize access Securely access cloud resources Synchronize data Sync user preferences across devices Store and deliver media Store DLC and deliver content quickly Amazon Cognito Sync Amazon Cognito Amazon Cognito S3 Transfer Utility
  • 8. Send real time events Create Live Dashboards to track user events in real time Analyze user behavior Track active users, engagement and stats Store shared data Store and query fast NoSQL data across users and devices Send push notifications Bring users back to your app by sending messages reliably Kinesis Recorder DynamoDB Mapper Amazon SNS Mobile Push Amazon Mobile Analytics
  • 10. Amazon Cognito Simplifies identity and access management Securely access all AWS services from mobile device Cross-device and cross-platform sync Implement security best practices “Your app data is secure, available offline, and kept in sync between devices” Synchronize user’s data across devices and platforms Manage users as unique identities across identity providers Guest Your own Auth
  • 11. Amazon Cognito concepts Identity pool IAM roles, trust, and permissions Identities: authenticated and unauthenticated
  • 12. Getting started Create an identity pool Use SDK to get credentials Create roles: authenticated and unauthenticated
  • 13. Getting credentials Include the following import statements Initialize the Amazon Cognito credentials provider Pass the initialized Amazon Cognito credentials provider to the constructor of the AWS client to be used. This could be the Amazon Cognito Sync client, the Amazon S3 transfer manager, or any of the other mobile services we will talk about shortly.
  • 14. End Users App with AWS Mobile SDK Access to AWS Services Login OAUTH/OpenID Access Token Amazon Cognito ID, Temp Credentials Access Token Pool ID Role ARNs Amazon Cognito ID (Temp Credentials) DynamoDB Developer Amazon Cognito Identity Broker S3 Mobile Analytics Amazon Cognito Sync Store AWS Management Console Amazon Cognito security architecture
  • 15. Amazon Cognito ID (Temp Credentials) End Users Access to AWS Services Get OpenID Token User name, password Amazon Cognito ID, Temp Credentials OIDC Token Pool ID Role ARNs User Authentication System (Running on AWS or not) OIDC Token OIDC Token Developer authenticated identities S3 Mobile Analytics Amazon Cognito Identity Broker AWS Management Console Developer DynamoDB Amazon Cognito Sync Store
  • 16. Synchronize data across devices : Amazon Cognito (Sync)
  • 17. Amazon Cognito Sync User data, storage, and sync Any platform iOS, Android, FireOS Store app data, preferences, and state Save app and device data to the cloud and merge them after login Cross-device cross-OS sync Sync user data and preferences across devices with one line of code Work offline Data always stored in local SQLite DB first; works seamlessly when intermittent or no connectivity k/v data Identity pool
  • 18. Integrating Amazon Cognito Sync functionality is simple Import the Amazon Cognito package Initialize the Sync client and use the previously created credentials provider
  • 19. Datasets Create a dataset or open an existing one To delete a dataset Reading and writing to a dataset Removing keys from a dataset
  • 20. Store and deliver media assets: Amazon S3 and Amazon CloudFront
  • 21. Amazon S3 Connector: Transfer Utility S3 Connector • Multipart upload (e.g., user content) • Fault tolerant download (e.g., assets) • No back end required • Automatic retries • Pause, resume, cancel functions
  • 22. Integrating the S3 Transfer Utility is simple too! Instantiate an Amazon S3 client Instantiate TransferUtility
  • 23. Performing operations Upload an object Download an object
  • 24. Performing operations Upload an object Download an object
  • 26. Other operations Pausing an S3 transfer Resuming and S3 transfer Cancelling an S3 transfer
  • 27. Analyze user behavior: Amazon Mobile Analytics
  • 28. Amazon Mobile Analytics Scalable and generous Free tier Focus on metrics that matter; usage reports available within 60 minutes of receiving data from an app Fast Scale to billions of events per day from millions of users Own your data “Easily collect, visualize and understand your app usage data at scale” Data collected are not shared, aggregated, or reused
  • 29. Integrating Mobile Analytics is guess what….simple! Initialize the MobileAnalyticsManager and that’s it…. We saw earlier where we can find our identity pool ID. You can get the appid by creating a new app in the Mobile Analytics dashboard
  • 30. Key business metrics (with one line of code) 1. Monthly Active Users (MAU) 2. Daily Active Users (DAU) 3. New Users 4. Daily Sessions 5. Sticky Factor 6. 1-day retention 7. Avg. revenue per DAU 8. Daily paying users 9. Avg. paying DAU Amazon Mobile Analytics dashboard
  • 31. Get behavioral insights into app specific actions that your users take Reports provide a view of how often custom events occur; you can add further context with attributes and metrics, to each custom event Track the number of likes and shares, per article, in a news app Understand player abort rates per level, in a game Number of songs played, per user session, in a music app In-app item popularity in a shopping app Track custom events
  • 32. Custom event tracking using Mobile Analytics Create an AnalyticsEvent, pass attributes and metrics Then record the event
  • 33. Send push notifications: Amazon SNS mobile push
  • 34. Each platform works differently, and push gets more complex as you scale to support millions of devices Cloud app Platform services Mobile apps
  • 35. Amazon SNS Cross-platform Mobile Push Internet Apple APNS Google GCM Amazon ADM Windows WNS and MPNS Baidu CP New features: Message expiry time Message attributes Delivery status Broadcast iOS 9 support Amazon SNS mobile push Android Phones and Tablets Apple iPhones and iPads Kindle Fire Devices Android Phones and Tablets in China iOS Windows Desktop and Windows Phone Devices
  • 36. Store shared data: Amazon DynamoDB
  • 37. Joe Anna Bob Highscores Joe 1500 Anna 800 Bob 750 Simplifies access to Amazon DynamoDB in your app Map client-side classes to Amazon DynamoDB tables Removes the need to transform objects into tables and vice versa Amazon DynamoDB Connector: Object Mapper
  • 38. @DynamoDBTable(tableName = ”Highscores") public static class HighScore{ private int userid, highScore; private String name; @DynamoDBHashKey(attributeName = ”userid") public int getUserId() { return userid; } public void setUserId(int userid) { this.userid = userid; } @DynamoDBAttribute(attributeName=”name") public String getName() { return name; }…… User ID Name High score 17 Joe 25 23 Anna 67 32 Bob 55 Table: high scores Amazon DynamoDB mapper example
  • 39. // Build a highscore object HighScore highScore = new HighScore(); highScore.setUserId(17); highScore.setName(”Joe"); highScore.setHighScore(25); // Save book object to DynamoDB mapper.save(highScore); // Update item and save object again highScore.setHighScore(118); mapper.save(highScore); // Load another highScore HighScore anotherHighScore = mapper.load(HighScore.class,23); Amazon DynamoDB mapper example
  • 40. Quiz? Q. What is the maximum number of datasets per identity in Amazon Cognito? A. 20 Q. What object is returned by the TransferUtility when calling an upload or download? A. TransferObserver Q. How many events can you store in the free tier for Mobile Analytics? Q. 100 MM
  • 41. Tappy Plane Architecture and Demo Now over to Tara!!
  • 42. Tappy Plane architecture Mobile Client AWS Unity SDK AWS Toolkit for Visual Studio Amazon Cognito Identity AWS Cloud DynamoDB Mobile Analytics Amazno Cognito Sync Login
  • 43. AWS Mobile SDKs for gaming 1. AWS Mobile SDK for Android 2. AWS Mobile SDK for iOS 3. AWS Mobile SDK for Unity (developer preview)
  • 44. Introducing the AWS SDK for Unity Generally available, May 2015 Services available  Amazon DynamoDB  Amazon S3  Amazon Cognito  Amazon Mobile Analytics  Amazon SNS Other AWS services Invoke Lambda with SNS and/or S3 events Build custom plugins for other AWS services using AWS Mobile SDK for.NET
  • 45. SDK installation and setup Download AWS Unity SDK and unzip  http://aws.amazon.com/mobile/sdk/ Import the desired package(s) into Unity as a custom package  CognitoSync package  DynamoDB package  S3 package  MobileAnalytics package Add the AWSPrefab to scene in Unity
  • 46. Tappy Plane game Game showcases  Amazon Cognito Identity  Amazon Cognito Sync  Mobile Analytics  Amazon S3 Transfer Utility  DynamoDB Mapper Want More Game Samples?  AWS Unity SDK samples available on GitHub https://github.com/awslabs/aws-sdk-unity-samples
  • 47. Tappy Plane AWS Mobile SDK: services setup
  • 48. Tappy Plane : services setup Set up Amazon Cognito identity pool  Create Tappy Plane identity pool  Retrieve identity pool ID Set up Mobile Analytics app  Add Tappy Plane app  Retrieve app ID Create Tappy Plane high score table  Create table  Add hash key  Add table attributes
  • 49. Tappy Plane demo Setting up AWS services in the console
  • 50. Tappy Plane demo Amazon Cognito: reviewing Unity3D code
  • 51. Adding DynamoDB Methods to create DynamoDB table  Using DynamoDB console  Using code with createTable method  Using Visual Studio with AWS Toolkit for Visual Studio: http://aws.amazon.com/net/  Example: • Table name: TappyHighScores • Primary key type: Hash • Hash attribute name: ScoreID, • Hash type: Number Create DynamoDB client AmazonDynamoDBClient client = new AmazonDynamoDBClient(RegionEndpoint.USEast1)
  • 52. Using DynamoDB Add a high score record  Create high score object [DynamoDBTable(”TappyHighScores")] class HighScore { [DynamoDBHashKey] // hash key public int ScoreID { get; set; } [DynamoDBProperty] public string Score { get; set; } public string UserID {get; set; } }  Save high score record to DynamoDB _context.SaveAsync<HighScore>(myScore, (AmazonDynamoResult<VoidResponse> result) => { if (result.Exception != null) { this.displayMessage += "Save failed ; “ +result.Exception.Message; } High scores Joe 1500 Anna 800 Bob 750
  • 53. Adding Amazon Simple Storage Service (S3) Methods create S3 bucket (set permissions)  Using Amazon S3 console  Using code with PutBucket and PutBucketRequest  Using Visual Studio with AWS Toolkit for Visual Studio: http://aws.amazon.com/net/  Example: Bucket name: tappyplane_bucket Create an Amazon S3 transfer manager AmazonS3Client S3Client = new AmazonS3Client (credentials ,RegionEndpoint.USEast1);
  • 54. Using Amazon Simple Storage Service (S3) Download an object  Get badge picture (bragging rights) var request = new GetObjectRequest () { BucketName = bucketName, Key = downloadKey, }; S3Client.GetObjectAsync (request, GetObjectCallback,null); Upload an object  Upload a picture of high score Stream stream = null; stream = new FileStream(uploadSrcFilePath, FileMode.Open, FileAccess.Read, FileShare.Read); var postRequest = new PostObjectRequest { Key = uploadKey, Bucket = bucketName, InputStream = stream }; S3Client.PostObjectAsync (postRequest, PostObjectCallback,null);
  • 55. AWS resources AWS mobile blog • http://mobile.awsblog.com AWS Mobile Services • http://aws.amazon.com/mobile/ AWS Mobile SDK • http://aws.amazon.com/mobile/sdk/ AWS mobile developer guides • Unity: http://docs.aws.amazon.com/mobile/sdkforunity/developerguide • iOS: http://docs.aws.amazon.com/mobile/sdkforios/developerguide • Android: http://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/We lcome.html
  • 56. Thank you! Serverless Mobile App and Game Development Build your game with Mobile Services Tara Walker AWS Technical Evangelist, Amazon Web Services Dhruv Thukral Amazon Web Services Solutions Architect, Gaming