© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or i...
モバイルアプリの開発どうされてますか?
ユーザ認証
アクセスの認可
ユーザの行動分析
メディアの管理
データの同期
メディアの配信
共有データの保存
データのリアルタイム解析Track Retention
プッシュ通知の送信
Manage users and
identity pro...
AWSモバイルサービスのご紹介
Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push
Kinesis Connector DynamoDB Connector S3 Conn...
モバイルへの最適化、クロスプラットフォーム
Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push
Kinesis Connector DynamoDB Connector S...
統合されたAWS  Mobile  SDK
•  全てのサービスに共通の認証機構
•  オンライン・オフラインを⾃自動でハンドリン
グ
•  クロスプラットフォームサポート:Android,  
iOS,  Fire  OS  (今後の予定: ...
ユーザ認証
アクセスの認可
ユーザの行動分析
メディアの管理
データの同期
メディアの配信
共有データの保存
データのリアルタイム解析Track Retention
プッシュ通知の送信
Manage users and
identity pro...
AWS Mobile SDK
Amazon Mobile
Analytics
Amazon Cognito
(Sync)
AWS Identity and
Access Management
Amazon Cognito
(Identity B...
ユーザの認証: Amazon Cognito
Amazon  Cognitoとは?  
デバイスや
プラットフォームを越
えてデータをSync
モバイルデバイスか
ら  AWSの各種サービ
スにアクセス
IDとアクセス管理理を
シンプルに
セキュリティのベスト
プラクティスを実践
“アプリ...
ID
プロバイダ
ユニークID
Joe Anna Bob
Any Device
Any Platform
Any AWS
Service
セキュリティのベストプラクティスを実装
AWS  Identity  and  Access  Manag...
Amazon  Cognitoによる認証を伴わないユーザ特定
“モノ”へのユニークIDの付与
スクリーン等のない“Headless”なデバイスにつ
いてもセキュアなクラウドへのアクセスを提供
データはクラウドに保存
アプリやデバイスのデータをク...
顧客事例例:  位置情報を⽤用いた⾳音楽アプリ
ユースケース:  
Soundtrackerはユーザが作成した
Music  Stationの共有を実現する位置
情報つきソーシャル⾳音楽ネットワー
クを提供するサービスです。
ユーザ作成のMus...
Cognitoを使い始めるまでの3ステップ
AWS  Accountを取得して  AWS  Management  Consoleにログイ
ン
AWS  Mobile  SDKをダウンロードし、アプリに組み込
んでユーザのデータをdataset...
デモ: Amazon Cognito 管理画面
Amazon  Cognito  Security
AWSリソースへのアクセス制御
クラウドリソースへのきめ細やかなアクセスコ
ントロールを提供します
AWS  Credentialsの管理理
クレデンシャルをアプリに組み込むことなく、最
低限...
Amazon  Cognito  セキュリティアーキテクチャ
User ID
(Temp
Credentials)
DynamoDB
End Users
Developer
App w/SDK
Access
to AWS
Services
Co...
アクセスの認可: Amazon Cognito + AWS IAM + Fine-grained
access control
Amazon Cognito (IDブローカ)
Identitypool
Identity
Providers
Pool of identities that
share the same trust policy
Access
Policy
...
IAM Role用のアクセスポリシーの作成
{!
"Effect":"Allow",!
"Action":["s3:*"],!
"Resource":"*"!
}!
!
{!
"Effect": ”Deny",!
"Action": ["dyn...
アクセスポリシーによる制限
{!
"Effect":"Allow",!
"Action":["s3:PutObject","s3:GetObject","s3:DeleteObject",!
!"s3:ListMultipartUploadPa...
アクセスポリシーによる制限
{!
"Effect":"Allow”,!
"Action” ["s3:PutObject","s3:GetObject","s3:DeleteObj
ect”,”s3:ListMultipartUploadPart...
アクセスポリシーによる制限 (Policy Variables)
Allow
Actions:
All sync operations
Resource:
Only to that identity
{!
"Effect": "Allow”,!...
デバイス間のデータ同期: Amazon Cognito (Sync)
プロファイルの同期について
利用者が複数のデバイス間でデータ同期を取りたい。
異なるデバイス、OSやアプリ間でのデータ同期の実装が難しい。
オフラインモードの実装や、既存アプリとの連携が必要。
Amazon Cognito Sync
User Data
Storage and
Sync
Any Platform
iOS/Android/FireOS
アプリデータ、設定や状態の保存
アプリやデバイスのデータをクラウド上に保存し、ログイン...
Amazon Cognito Sync
オフライン: クライアントSDKがローカルのSQLiteデータスト
アを管理しているため、ネットワーク接続がなくてもアプリが
動く。
速い: データの読み書きはローカルのSQLiteデータベース
のみに対...
Amazon Cognito Sync データモデル
AWS
Account
Identitypool
Dataset
同じトラストポリシーを共有するアイデンティティプール
Identity
Identity
Identity
Dataset
...
Amazon Cognito Sync データモデル – サンプル
AWS
Account
Identitypool
Dataset
Identity
Identity
Identity
Dataset
Dataset
identitypool...
Cognito Syncの利用は非常にシンプル
CredentialsProvider と CognitoClient の初期化
Datasetのsynchronizeメソッドを呼出す
Datasetを作成/オープンし、キーバリューを追加
pr...
Cognito Syncの利用は非常にシンプル
AWSCognitoSyncClientを初期化
Datasetのsynchronizeメソッドを呼出す
Datasetを作成/オープンし、キーバリューを追加
DataSet *dataset =...
デモ: デバイス間でユーザーのゲームステートを同期
ユーザの行動分析
メディアの管理
メディアの配信
共有データの保存
データのリアルタイム解析Track Retention
プッシュ通知の送信
Track active users,
engagement
Manage funnels,
Cam...
ユーザ行動分析: Amazon Mobile Analytics
ユーザ分析は最も採用されたモバイル開発ツール
モバイル分析について
開発者はユーザ分析が非常に重要だと捉えている。最も重要なメトリックを
タイムリーにモニターし、アクションを早く取りたい。
開発者はほかのAWSサービスと同様に、モバイルデータを自分で保有した
い。
Amazon Mobile Analytics
スケール
無料使用枠
重要なメトリックにフォーカ
ス。アプリからデータを受け
取ってから、60分以内にレ
ポート利用が可能。
速い
数百万のユーザーから、
一日数十億のイベントま
でスケール
デー...
3ステップでMobile Analyticsを始める
AWSアカウントをサインアップし、既存または新規作成のCognito ID
をAWS Management Consoleで利用
数分以内に、アクティビティレポートをAWS Manageme...
Key Business Metrics
(with one line of code)
1.  Monthly Active Users
(MAU)
2.  Daily Active Users
(DAU)
3.  New Users,
4....
Track Retention
ユーザリテンションはマーケ
ティング、新機能、UI変更やア
プリ更新の効果を測る際の重
要な指標。
Mobile Analyticsは4つの
チャートを提供し、日次や週次
のユーザリテンションをトラッキ
ング。
ユーザ行動のインサイト情報でアプリの特定の
アクションのユーザの行動を分析
特定のイベントの発生頻度レポートを提供。各
イベントに、属性やメトリックを追加可能。
サンプル
Track the number of
Likes/Shares, pe...
Cognito Analyticsの利用は非常にシンプル
Initialize the AmazonMobileAnalyticsClient. That’s it! Get Session
Activity in the AWS Manage...
Cognito Analyticsの利用は非常にシンプル
Initialize the AmazonMobileAnalytics object. That’s it! Get Session
Activity in the AWS Manag...
デモ: プラットフォームを跨いだゲーム・パフォーマンス
メディアの管理
メディアの配信
共有データの保存
データのリアルタイム解析
プッシュ通知の送信
Store user-generated photos
Media and share them
Automatically detect mobi...
メディアの保存と共有: Amazon S3
Amazon S3 Connector: Transfer Manager
S3 Connector
メディアのマルチパートアップロード(写真、ビデオ、
音声)
耐障害ダウンロード(例: アセット)
バックエンドなし
自動リトライ
一時停止、再...
// Creating the transfer manager !
self.transferManager = [S3TransferManager new]; !
self.transferManager.s3 = s3client; !...
デモ: ゲームアセットのダウンロード
共有データの保存
データのリアルタイム解析
プッシュ通知の送信
Bring users back to your app by sending
messages reliably
Store and query fast NoSQL data
...
ユーザ認証
アクセスの認可
ユーザの行動分析
メディアの管理
データの同期
AWS Mobile SDK
Amazon Mobile
Analytics
メディアの配信
Amazon Cognito
(Sync)
AWS Identity an...
プッシュ通知の送信: Amazon SNS Mobile Push
プッシュ通知について
クロスプラットフォームに、大規模なプッシュ通知送信は難しい。
開発者はグローバルに、クロスデバイスにカスタマにリーチしたい。
プラットフォームそれぞれ動きが異なり、大量のデバイスにスケール
する場合、プッシュ通知はさらに複雑になる
クラウド
アプリ
プラットフォーム・サー
ビス
モバイル・アプリ
Amazon SNS
Cross-platform
Mobile Push 
Internet
Apple APNS
Google GCM
Amazon ADM
Windows WNS and
MPNS
Baidu CP
業界初!
New!
A...
ユースケース: SNSのクロスプラットフォーム機能
Eメールの受信通知
はSNSで送信
高いスケーラビリティと
信頼性
スタートアップ業界
高い柔軟性
Secret.ly
高度なターゲッティング
通知でユーザリテンション
を高める
ゲーム業界
...
共有データの保存
データのリアルタイム解析
プッシュ通知の送信
Bring users back to your app by sending
messages reliably
Store and query fast NoSQL data
...
ユーザ認証
アクセスの認可
ユーザの行動分析
メディアの管理
データの同期
AWS Mobile SDK
Amazon Mobile
Analytics
メディアの配信
Amazon Cognito
(Sync)
AWS Identity an...
リアルタイムクリックストリームデータの収集: Amazon Kinesis
Mobile Connector
Amazon
Kinesis
RedshiftS3Kinesis
enabled
Apps on
EC2
AWS
Mobile
SDK
Amazon Kinesis Connector for Mobile
Apps
高度なユーザ行動
分析のた...
サマリー
ユーザ認証
アクセスの認可
ユーザの行動分析
メディアの管理
データの同期
メディアの配信
共有データの保存
データのリアルタイム解析Track Retention
プッシュ通知の送信
Manage users and
identity pro...
ユーザ認証
アクセスの認可
ユーザの行動分析
メディアの管理
データの同期
AWS Mobile SDK
Amazon Mobile
Analytics
メディアの配信
Amazon Cognito
(Sync)
AWS Identity an...
キーポイント
Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push
Kinesis Connector DynamoDB Connector S3 Connector SQS...
キーポイント
Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push
Kinesis Connector DynamoDB Connector S3 Connector SQS...
Amazon Cognito Amazon Mobile
Analytics
Amazon SNS
Mobile Push
無料枠:
月毎100万プッシュ通知
無料枠 (最初の12ヶ月):
100万 syncs/月 + 10GB
Amazon ...
Thank You!
Jinesh Varia
@jinman
jvaria@amazon.com
Appendix..
Simple and predictable pay as you go pricing
Amazon Cognito Amazon Mobile
Analytics
Amazon SNS
Mobile Push
Free Tier:
1 Mi...
AWS Summits 2014 AWS MobileServices JP
AWS Summits 2014 AWS MobileServices JP
AWS Summits 2014 AWS MobileServices JP
AWS Summits 2014 AWS MobileServices JP
AWS Summits 2014 AWS MobileServices JP
AWS Summits 2014 AWS MobileServices JP
Upcoming SlideShare
Loading in...5
×

AWS Summits 2014 AWS MobileServices JP

1,477

Published on

AWS Summits 2014 AWS MobileServices

Published in: Technology
0 Comments
15 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,477
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
13
Comments
0
Likes
15
Embeds 0
No embeds

No notes for slide

Transcript of "AWS Summits 2014 AWS MobileServices JP"

  1. 1. © 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc. Cloud-powered モバイルアプリの構築 Amazon Cognito, Amazon Mobile Analytics, AWS SDK for Mobile Jinesh Varia 7/10/2014
  2. 2. モバイルアプリの開発どうされてますか?
  3. 3. ユーザ認証 アクセスの認可 ユーザの行動分析 メディアの管理 データの同期 メディアの配信 共有データの保存 データのリアルタイム解析Track Retention プッシュ通知の送信 Manage users and identity providers Securely access cloud resources Sync user prefs across devices Track active users, engagement Manage funnels, Campaign performances Store user-generated photos Media and share them Automatically detect mobile devices Deliver content quickly globally Bring users back to your app by sending messages reliably Store and query fast NoSQL data across users and devices Collect real-time clickstream logs and take actions quickly Your Mobile App
  4. 4. AWSモバイルサービスのご紹介 Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push Kinesis Connector DynamoDB Connector S3 Connector SQS ConnectorSES Connector AWS Global Infrastructure (10 Regions, Availability Zones, 51 Edge Locations) Core Building Block Services Mobile Optimized Connectors Mobile Optimized Services Your Mobile App, Game or Device App AWS Mobile SDK, API Endpoints, Management Console Compute Storage Networking Analytics Databases Integrated SDK
  5. 5. モバイルへの最適化、クロスプラットフォーム Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push Kinesis Connector DynamoDB Connector S3 Connector SQS ConnectorSES Connector User identity & data synchronization service Store any NoSQL data and also map mobile OS specific objects to DynamoDB tables Fast cross-platform Analytics & reporting Service Powerful Cross-platform Push notification service Recorder that can handle intermittent network connection Easily upload, download to S3 and also pause, resume, and cancel these operations Send email reliably from device Access distributed buffering and queuing service
  6. 6. 統合されたAWS  Mobile  SDK •  全てのサービスに共通の認証機構 •  オンライン・オフラインを⾃自動でハンドリン グ •  クロスプラットフォームサポート:Android,   iOS,  Fire  OS  (今後の予定:  Unity,   PhoneGap,  Cordova) •  Mobile  OSへの最適化   •  例例:  ローカルオフラインキャシュを利利 ⽤用するアーキテクチャ •  メモリフットプリントの削減 •  同梱するパッケージの選択も可
  7. 7. ユーザ認証 アクセスの認可 ユーザの行動分析 メディアの管理 データの同期 メディアの配信 共有データの保存 データのリアルタイム解析Track Retention プッシュ通知の送信 Manage users and identity providers Securely access cloud resources Sync user prefs across devices Track active users, engagement Manage funnels, Campaign performances Store user-generated photos Media and share them Automatically detect mobile devices Deliver content quickly globally Bring users back to your app by sending messages reliably Store and query fast NoSQL data across users and devices Collect real-time clickstream logs and take actions quickly Your Mobile App
  8. 8. AWS Mobile SDK Amazon Mobile Analytics Amazon Cognito (Sync) AWS Identity and Access Management Amazon Cognito (Identity Broker) Amazon S3 Transfer Manager Amazon CloudFront (Device Detection) Amazon DynamoDB (Object Mapper) Amazon Kinesis (Recorder) Track Retention Amazon Mobile Analytics Amazon SNS Mobile Push Your Mobile App ユーザ認証 アクセスの認可 ユーザの行動分析 メディアの管理 データの同期 メディアの配信 共有データの保存 データのリアルタイム解析 プッシュ通知の送信
  9. 9. ユーザの認証: Amazon Cognito
  10. 10. Amazon  Cognitoとは?   デバイスや プラットフォームを越 えてデータをSync モバイルデバイスか ら  AWSの各種サービ スにアクセス IDとアクセス管理理を シンプルに セキュリティのベスト プラクティスを実践 “アプリのデータをセキュアに、オフラインでも参照可能な形で保存し、かつ、 デバイス間でSync可能に” ⾮非同期に複数のデバイ ス・プラットフォーム 間でデータをSync IDプロバイダを越え てユーザのユニークな IDを管理理 Guest
  11. 11. ID プロバイダ ユニークID Joe Anna Bob Any Device Any Platform Any AWS Service セキュリティのベストプラクティスを実装 AWS  Identity  and  Access  Management  (IAM) とのインテグレーションをシンプルに実現し、 AWSの各種サービスへのアクセスをセキュアに実 現 複数のIDプロバイダをサポート 主要なIDプロバイダとのインテグレーションを 容易易に ユニークユーザの特定 デバイスやプラットフォームを越えて⾃自動でユ ニークなユーザを認識識して管理理 Amazon  Cognito  Identity Mobile Analytics S3 DynamoDB Kinesis
  12. 12. Amazon  Cognitoによる認証を伴わないユーザ特定 “モノ”へのユニークIDの付与 スクリーン等のない“Headless”なデバイスにつ いてもセキュアなクラウドへのアクセスを提供 データはクラウドに保存 アプリやデバイスのデータをクラウドに保存 し、ログイン後にマージ可能な状態で管理理 ゲストユーザアクセス AWSリソースへのアクセスやアプリの機能の活 ⽤用をアカウントの作成やログインを強いることな くセキュアに実現 Visitor Preferences Cognito   Store Guest EC2 S3 DynamoDB Kinesis
  13. 13. 顧客事例例:  位置情報を⽤用いた⾳音楽アプリ ユースケース:   Soundtrackerはユーザが作成した Music  Stationの共有を実現する位置 情報つきソーシャル⾳音楽ネットワー クを提供するサービスです。 ユーザ作成のMusic  Stationを地理理的 にローカライズし、データをデバイ スやOS間で同期することで、ユーザ ⾃自⾝身の周りでストリーミングされて いる⾳音楽を選んで聞くという新しい ユーザ体験を提供します。 ユーザプリファレンス Stations Music Albums 認証済みユーザ ゲスト
  14. 14. Cognitoを使い始めるまでの3ステップ AWS  Accountを取得して  AWS  Management  Consoleにログイ ン AWS  Mobile  SDKをダウンロードし、アプリに組み込 んでユーザのデータをdatasetに同期   AWS  Management  Consoleで認証したユーザと認証 を伴わないユーザ向けの  identitypool  を作成
  15. 15. デモ: Amazon Cognito 管理画面
  16. 16. Amazon  Cognito  Security AWSリソースへのアクセス制御 クラウドリソースへのきめ細やかなアクセスコ ントロールを提供します AWS  Credentialsの管理理 クレデンシャルをアプリに組み込むことなく、最 低限必要な権限に絞った⼀一時的なクレデンシャル を提供します セキュリティのベストプラクティスを実践 Security  Token  Serviceとのやり取りを簡単化 し、  Token  Vending  Machineの必要性をなく します。 EC2 S3 DynamoDB Kinesis
  17. 17. Amazon  Cognito  セキュリティアーキテクチャ User ID (Temp Credentials) DynamoDB End Users Developer App w/SDK Access to AWS Services Cognito Identity Broker Login OAUTH/OpenID Access Token Cognito ID, Temp Credentials S3 Mobile Analytics Cognito Sync Store AWS Management Console Access Token Pool ID Role ARNs
  18. 18. アクセスの認可: Amazon Cognito + AWS IAM + Fine-grained access control
  19. 19. Amazon Cognito (IDブローカ) Identitypool Identity Providers Pool of identities that share the same trust policy Access Policy Access to AWS Services identitypool Unauthenticated Identities authenticated identities AWS IAM Roles AWS Account Web Identity Federation S3 DynamoDB Get Delete Put
  20. 20. IAM Role用のアクセスポリシーの作成 {! "Effect":"Allow",! "Action":["s3:*"],! "Resource":"*"! }! ! {! "Effect": ”Deny",! "Action": ["dynamodb:*"],! "Resource": "*"! }! ! {! "Effect": "Allow",! "Action": [”cognito-sync:*"],! "Resource": "*"! }! Allow Actions: All S3, Sync store Operations Resource: All resources within these services Deny Actions: All DDB Operations Resource: All resources
  21. 21. アクセスポリシーによる制限 {! "Effect":"Allow",! "Action":["s3:PutObject","s3:GetObject","s3:DeleteObject",! !"s3:ListMultipartUploadParts","s3:AbortMultipartUpload"],! "Resource":"arn:aws:s3:::BUCKET_NAME/*"! } ! {! "Effect":"Allow",! "Action":["s3:ListBucket","s3:ListBucketMultipartUploads"],! "Resource":"arn:aws:s3:::BUCKET_NAME"! }! {! "Effect": "Allow",! "Action": ["dynamodb:GetItem", "dynamodb:Query", "dynamodb:PutItem"],! "Resource" : [ "arn:aws:dynamodb:REGION:123456789:table/TABLE_NAME", ! ! "arn:aws:dynamodb:REGION:123456789:table/TABLE_NAME/ ! !index/INDEX_NAME" ]! }! ! Allow Actions: Certain operations Resource: One bucket, table ..
  22. 22. アクセスポリシーによる制限 {! "Effect":"Allow”,! "Action” ["s3:PutObject","s3:GetObject","s3:DeleteObj ect”,”s3:ListMultipartUploadParts","s3:AbortMultipart Upload"],! "Resource":"arn:aws:s3:::BUCKET_NAME/Bob/*"! } ! {! "Effect":"Allow",! "Action":"s3:ListBucket",! "Resource":"arn:aws:s3:::BUCKET_NAME",! "Condition":{"StringLike":{"s3:prefix":”Bob/"}}! }! {! "Effect":"Allow",! "Action":["s3:ListBucketMultipartUploads"],! "Resource":"arn:aws:s3:::BUCKET_NAME"! }! Allow Actions: Certain operations Resource: Within a bucket with specific prefix (user)
  23. 23. アクセスポリシーによる制限 (Policy Variables) Allow Actions: All sync operations Resource: Only to that identity {! "Effect": "Allow”,! "Action": ["s3:GetObject”,"s3:PutObject”],! "Resource": ["arn:aws:s3:::! !myBucket/amazon/snakegame/! !${cognito-identity.amazonaws.com:sub}"]! }! {! "Effect":"Allow",! "Action":"cognito-sync:*", ! "Resource":["arn:aws:cognito-sync:us-east-1: !123456789012:identitypool/! !${cognito-identity.amazonaws.com:aud}/identity/! !${cognito-identity.amazonaws.com:sub}/*"] ! }! Allow Actions: S3 Get/Put operations Resource: Only to a specific part of bucket to that identity
  24. 24. デバイス間のデータ同期: Amazon Cognito (Sync)
  25. 25. プロファイルの同期について 利用者が複数のデバイス間でデータ同期を取りたい。 異なるデバイス、OSやアプリ間でのデータ同期の実装が難しい。 オフラインモードの実装や、既存アプリとの連携が必要。
  26. 26. Amazon Cognito Sync User Data Storage and Sync Any Platform iOS/Android/FireOS アプリデータ、設定や状態の保存 アプリやデバイスのデータをクラウド上に保存し、ログイン 後に結合する。 デバイス間、OS間の同期 コード一行でユーザーデータや設定をデバイス間で 同期 オフライン作業 データは常にローカルのSQLite DBに先に保存する。 インターネット接続が不安定または切断の場合でも アプリがシームレスに動く。 k/v data Identity pool
  27. 27. Amazon Cognito Sync オフライン: クライアントSDKがローカルのSQLiteデータスト アを管理しているため、ネットワーク接続がなくてもアプリが 動く。 速い: データの読み書きはローカルのSQLiteデータベース のみに対して行う。 賢い同期: 同期メソッドはデータのローカルとクラウドのバー ジョンを比較し、変更があった差分をクラウドにプッシュする と同時に、新し変更をクラウドから取得。. 柔軟なコンフリクト処理: 同期メソッドは最新の変更を取得し たうえローカルの変更をクラウドに書込。デフォルトの動きと して、Cognitoは最後の書込を適用する。開発者はこれを上 書きし、カスタマイズのコンフリクト処理を実装することも可能。 Local SQLite Cache
  28. 28. Amazon Cognito Sync データモデル AWS Account Identitypool Dataset 同じトラストポリシーを共有するアイデンティティプール Identity Identity Identity Dataset Dataset identitypool クロスデバイスのユニークIDを、 ローカルデバイスにキャッシュしながらクラウドにも保存 1:n 1:n 1:n dataset.synchronize()を呼出すだけで、 データ・セットをデバイス間で同期 DatasetDataset Key/Value 1:n キーバリューと同期カウント
  29. 29. Amazon Cognito Sync データモデル – サンプル AWS Account Identitypool Dataset Identity Identity Identity Dataset Dataset identitypool 1:n 1:n 1:n User preferences Developer has two apps: a game and a productivity app Game state Identitypool1 Productivity App Game App DatasetDataset Key/Value 1:n
  30. 30. Cognito Syncの利用は非常にシンプル CredentialsProvider と CognitoClient の初期化 Datasetのsynchronizeメソッドを呼出す Datasetを作成/オープンし、キーバリューを追加 provider = new CognitoCredentialsProvider(context, AWS_ACCOUNT_ID, ! ! ! ! ! !COGNITO_POOL_ID, COGNTIO_ROLE_UNAUTH, COGNITO_ROLE_AUTH);! ! cognito = new DefaultCognitoSyncClient(context, COGNITO_POOL_ID, provider);! dataset.synchronize(new SyncCallback(){..});! ! cognito.openOrCreateDataset(datasetName);! dataset.put(key, value);!
  31. 31. Cognito Syncの利用は非常にシンプル AWSCognitoSyncClientを初期化 Datasetのsynchronizeメソッドを呼出す Datasetを作成/オープンし、キーバリューを追加 DataSet *dataset = [syncClient openOrCreateDataSet:@"myDataSet"]; NSString *value = [dataset readStringForKey:@"myKey"]; [dataset putString:@"my value" forKey:@"myKey"];   AWSCognitoSyncClient *syncClient = [[AWSCognitoSyncClient alloc] initWithConfiguration: configuration];   [dataset synchronize]; iOS
  32. 32. デモ: デバイス間でユーザーのゲームステートを同期
  33. 33. ユーザの行動分析 メディアの管理 メディアの配信 共有データの保存 データのリアルタイム解析Track Retention プッシュ通知の送信 Track active users, engagement Manage funnels, Campaign performances Store user-generated photos Media and share them Automatically detect mobile devices Deliver content quickly globally Bring users back to your app by sending messages reliably Store and query fast NoSQL data across users and devices Collect real-time clickstream logs and take actions quickly Your Mobile App ユーザ認証 アクセスの認可 データの同期 Amazon Cognito (Sync) AWS Identity and Access Management Amazon Cognito (Identity Broker)
  34. 34. ユーザ行動分析: Amazon Mobile Analytics
  35. 35. ユーザ分析は最も採用されたモバイル開発ツール
  36. 36. モバイル分析について 開発者はユーザ分析が非常に重要だと捉えている。最も重要なメトリックを タイムリーにモニターし、アクションを早く取りたい。 開発者はほかのAWSサービスと同様に、モバイルデータを自分で保有した い。
  37. 37. Amazon Mobile Analytics スケール 無料使用枠 重要なメトリックにフォーカ ス。アプリからデータを受け 取ってから、60分以内にレ ポート利用が可能。 速い 数百万のユーザーから、 一日数十億のイベントま でスケール データを所有 「アプリ利用率データの収集、可視化や理解を簡単に、しかも大規模に実現」 収集したデータは共有、集 計や再利用はしない
  38. 38. 3ステップでMobile Analyticsを始める AWSアカウントをサインアップし、既存または新規作成のCognito ID をAWS Management Consoleで利用 数分以内に、アクティビティレポートをAWS Management Consoleで確認 モバイルSDKをダウンロードし、たった一行のコードで連携 する(Android/FireOS, iOS)
  39. 39. 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
  40. 40. Track Retention ユーザリテンションはマーケ ティング、新機能、UI変更やア プリ更新の効果を測る際の重 要な指標。 Mobile Analyticsは4つの チャートを提供し、日次や週次 のユーザリテンションをトラッキ ング。
  41. 41. ユーザ行動のインサイト情報でアプリの特定の アクションのユーザの行動を分析 特定のイベントの発生頻度レポートを提供。各 イベントに、属性やメトリックを追加可能。 サンプル Track the number of Likes/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 イベントのトラッキング
  42. 42. Cognito Analyticsの利用は非常にシンプル Initialize the AmazonMobileAnalyticsClient. That’s it! Get Session Activity in the AWS Management Console. For Custom Events activity reports, add events. Add OnResume() and OnPause() analytics = new AmazonMobileAnalytics(provider, context, "SnakeGameAWS”);! EventClient eventClient = analytics.getEventClient();! MobileAnalyticsEvent visitEvent = eventClient.createEvent("speedSet");! eventClient.recordEvent(visitEvent);! analytics.getSessionClient().resumeSession();! analytics.getSessionClient().pauseSession();! Analytics.getEventClient().submitEvents();!
  43. 43. Cognito Analyticsの利用は非常にシンプル Initialize the AmazonMobileAnalytics object. That’s it! Get Session Activity in the AWS Management Console. Submit the event. If we don't call submitEvents, events will automatically be submitted at periodic intervals. Create add Custom Events [eventClient submitEvents];! id<AWSMobileAnalyticsEventClient> eventClient = analytics.eventClient;! id<AWSMobileAnalyticsEvent> level1Event = [eventClient createEventWithEventType:@"level1Complete"];! AWSMobileAnalytics* analytics = [AWSMobileAnalytics ! !defaultAWSMobileAnalyticsWithIdentifier:@"someuniqueid"];! iOS
  44. 44. デモ: プラットフォームを跨いだゲーム・パフォーマンス
  45. 45. メディアの管理 メディアの配信 共有データの保存 データのリアルタイム解析 プッシュ通知の送信 Store user-generated photos Media and share them Automatically detect mobile devices Deliver content quickly globally Bring users back to your app by sending messages reliably Store and query fast NoSQL data across users and devices Collect real-time clickstream logs and take actions quickly Your Mobile App ユーザ認証 アクセスの認可 ユーザの行動分析 データの同期 Amazon Mobile Analytics Amazon Cognito (Sync) AWS Identity and Access Management Amazon Cognito (Identity Broker) Track Retention Amazon Mobile Analytics
  46. 46. メディアの保存と共有: Amazon S3
  47. 47. Amazon S3 Connector: Transfer Manager S3 Connector メディアのマルチパートアップロード(写真、ビデオ、 音声) 耐障害ダウンロード(例: アセット) バックエンドなし 自動リトライ 一時停止、再開、キャンセル機能 ネイティブOS向け最適化
  48. 48. // Creating the transfer manager ! self.transferManager = [S3TransferManager new]; ! self.transferManager.s3 = s3client; ! ! // Upload image ! [self.transferManager uploadFile:fileName bucket:bucketName key:objectName]; ! ! // Download image ! [self.transferManager downloadFile:fileName bucket:bucketName key:objectName]; ! ! // Pause, Resume, Cancel ! [self.transferManager pauseAllTransfers]; ! [self.transferManager resumeAllTransfers]; ! [self.transferManager cancelAllTransfers]; ! Amazon S3 Connector: Transfer Manager
  49. 49. デモ: ゲームアセットのダウンロード
  50. 50. 共有データの保存 データのリアルタイム解析 プッシュ通知の送信 Bring users back to your app by sending messages reliably Store and query fast NoSQL data across users and devices Collect real-time clickstream logs and take actions quickly Your Mobile App ユーザ認証 アクセスの認可 ユーザの行動分析 データの同期 Amazon Mobile Analytics Amazon Cognito (Sync) AWS Identity and Access Management Amazon Cognito (Identity Broker) Track Retention Amazon Mobile Analytics メディアの管理 メディアの廃止 Amazon S3 Transfer Manager Amazon CloudFront (Device Detection)
  51. 51. ユーザ認証 アクセスの認可 ユーザの行動分析 メディアの管理 データの同期 AWS Mobile SDK Amazon Mobile Analytics メディアの配信 Amazon Cognito (Sync) AWS Identity and Access Management Amazon Cognito (Identity Broker) Amazon S3 Transfer Manager Amazon CloudFront (Device Detection) 共有データの保存 Amazon DynamoDB (Object Mapper) データのリアルタイム解析 Amazon Kinesis (Recorder) Track Retention Amazon Mobile Analytics プッシュ通知の送信 Amazon SNS Mobile Push Your Mobile App
  52. 52. プッシュ通知の送信: Amazon SNS Mobile Push
  53. 53. プッシュ通知について クロスプラットフォームに、大規模なプッシュ通知送信は難しい。 開発者はグローバルに、クロスデバイスにカスタマにリーチしたい。
  54. 54. プラットフォームそれぞれ動きが異なり、大量のデバイスにスケール する場合、プッシュ通知はさらに複雑になる クラウド アプリ プラットフォーム・サー ビス モバイル・アプリ
  55. 55. Amazon SNS Cross-platform Mobile Push Internet Apple APNS Google GCM Amazon ADM Windows WNS and MPNS Baidu CP 業界初! New! Amazon SNSを利用して, 開発者は世界中のクロスプラットフォームのユーザにプッ シュ通知を送信 新機能: メッセージの有効期間 メッセージ属性 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
  56. 56. ユースケース: SNSのクロスプラットフォーム機能 Eメールの受信通知 はSNSで送信 高いスケーラビリティと 信頼性 スタートアップ業界 高い柔軟性 Secret.ly 高度なターゲッティング 通知でユーザリテンション を高める ゲーム業界 ユーザリテンション 新しいAndroidアプリに SNSを利用、 プロビージョン必要なし Jetpack Joyride Fruit ninja
  57. 57. 共有データの保存 データのリアルタイム解析 プッシュ通知の送信 Bring users back to your app by sending messages reliably Store and query fast NoSQL data across users and devices Collect real-time clickstream logs and take actions quickly Your Mobile App ユーザ認証 アクセスの認可 ユーザの行動分析 データの同期 Amazon Mobile Analytics Amazon Cognito (Sync) AWS Identity and Access Management Amazon Cognito (Identity Broker) Track Retention Amazon Mobile Analytics メディアの管理 メディアの配信 Amazon S3 Transfer Manager Amazon CloudFront (Device Detection)
  58. 58. ユーザ認証 アクセスの認可 ユーザの行動分析 メディアの管理 データの同期 AWS Mobile SDK Amazon Mobile Analytics メディアの配信 Amazon Cognito (Sync) AWS Identity and Access Management Amazon Cognito (Identity Broker) Amazon S3 Transfer Manager Amazon CloudFront (Device Detection) 共有データの保存 Amazon DynamoDB (Object Mapper) データのリアルタイム解析 Amazon Kinesis (Recorder) Track Retention Amazon Mobile Analytics プッシュ通知の送信 Amazon SNS Mobile Push Your Mobile App
  59. 59. リアルタイムクリックストリームデータの収集: Amazon Kinesis Mobile Connector
  60. 60. Amazon Kinesis RedshiftS3Kinesis enabled Apps on EC2 AWS Mobile SDK Amazon Kinesis Connector for Mobile Apps 高度なユーザ行動 分析のため 統合AWS Mobile SDK 汎用的なバッチシステムで、ネット ワーク接続問題のハンドリングや バッテリーの最適な利用。
  61. 61. サマリー
  62. 62. ユーザ認証 アクセスの認可 ユーザの行動分析 メディアの管理 データの同期 メディアの配信 共有データの保存 データのリアルタイム解析Track Retention プッシュ通知の送信 Manage users and identity providers Securely access cloud resources Sync user prefs across devices Track active users, engagement Manage funnels, Campaign performances Store user-generated photos Media and share them Automatically detect mobile devices Deliver content quickly globally Bring users back to your app by sending messages reliably Store and query fast NoSQL data across users and devices Collect real-time clickstream logs and take actions quickly Your Mobile App
  63. 63. ユーザ認証 アクセスの認可 ユーザの行動分析 メディアの管理 データの同期 AWS Mobile SDK Amazon Mobile Analytics メディアの配信 Amazon Cognito (Sync) AWS Identity and Access Management Amazon Cognito (Identity Broker) Amazon S3 Transfer Manager Amazon CloudFront (Device Detection) 共有データの保存 Amazon DynamoDB (Object Mapper) データのリアルタイム解析 Amazon Kinesis (Object Mapper) Track Retention Amazon Mobile Analytics プッシュ通知の送信 Amazon SNS Mobile Push Your Mobile App
  64. 64. キーポイント Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push Kinesis Connector DynamoDB Connector S3 Connector SQS ConnectorSES Connector AWS Global Infrastructure (10 Regions, Availability Zones, 51 Edge Locations) コアサービス モバイル最適化 コネクタ モバイル最適化 サービス Your Mobile App, Game or Device App AWS Mobile SDK, API Endpoints, Management Console Compute Storage Networking Analytics Databases 統合SDK
  65. 65. キーポイント Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push Kinesis Connector DynamoDB Connector S3 Connector SQS ConnectorSES Connector AWS Global Infrastructure (10 Regions, Availability Zones, 51 Edge Locations) Core Building Block Services Mobile Optimized Connectors Mobile Optimized Services Your Mobile App, Game or Device App AWS Mobile SDK, API Endpoints, Management Console Compute Storage Networking Analytics Databases Integrated SDK クロスプラット フォーム・ モバイルに最適 柔軟性と 自由な選択肢 フルマネージド 簡単スタート
  66. 66. Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push 無料枠: 月毎100万プッシュ通知 無料枠 (最初の12ヶ月): 100万 syncs/月 + 10GB Amazon Cognitoストレージ 無料枠: 月毎1億 イベント 無料でスタート!
  67. 67. Thank You! Jinesh Varia @jinman jvaria@amazon.com
  68. 68. Appendix..
  69. 69. Simple and predictable pay as you go pricing Amazon Cognito Amazon Mobile Analytics Amazon SNS Mobile Push Free Tier: 1 Million push messages every month Thereafter: $0.50 for Million notifications delivered $0.50 for Million requests Free Tier (for first 12 months): 1 Million syncs/month + 10GB of storage for Amazon Cognito Thereafter: $0.15 for 10K Syncs $0.15 per GB for storage Free Tier: 100 Million events every month Thereafter: $1.00 per Million events
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×