AndroidとMobile Hubを一通り簡単に使ったアプリを作ってみる Part2 #アドカレ2015

advent2015-09

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

橋本です。

part1から引き続き、AWS Mobile Hub を実際に使ってみたまとめです。

今回は以下のサービスを利用してみます。

  • App Content Delivery:Amazon CloudFront、 Amazon S3
  • User Data Storage: Amazon S3 、Amazon Cognito
  • App Analytics:Amazon Mobile Analytics
  • Cloud Logic:AWS Lambda

App Content Delivery

App Content Delivery は静的コンテンツの配信サービスです。
ウェブサイト画像、動画、メディアファイル、またはソフトウェアのダウンロードなどの静的コンテンツを、アプリから参照する場合に重宝します。

実際に使用するには App Content Delivery の項目を選択して、Single Location か Global CDN を選択するだけです。

スクリーンショット 2015-12-09 18.29.51

有効にしたら Resources に Amazon S3 Buckets が追加されます。バケットの内容をアプリに配信することができます。

スクリーンショット_2015-12-09_18_31_55

スクリーンショット_2015-12-09_18_35_31

アプリをビルドしてインストールしてみます。

Screenshot_2015-12-09-18-42-47

App Content Delivery の項目が追加されています。

Screenshot_2015-12-09-18-42-59

Demo アプリでは先ほどの S3 バケットの内容を確認することができました。
ダウンロードして画像を表示することもできます。

Screenshot_2015-12-09-18-43-04

Screenshot_2015-12-09-18-43-26

User Data Storage

User Data Storage はユーザーのプロフィールなどのデータをクラウド上に保存することができるサービスです。
プラットフォーム間連携や機種変対応などでの利用シーンがありそうですね。
User Data Storage も項目を選択するだけで使用できるようになります。

スクリーンショット 2015-12-09 18.52.32

Resource を確認すると Amazon S3 Buckets に userfiles のバケットが追加されていました。

スクリーンショット_2015-12-09_18_53_23

アプリをビルドしてインストールしてみます。

Screenshot_2015-12-09-19-03-45

User Data Storage の項目が追加されています。
Demo アプリでは User File Storage と User Profile Data が利用できるようになっており、それぞれ S3 と Cognite Sync でデータを保存することができます。

Screenshot_2015-12-09-19-08-06

User Profile Data からは、以下の画面で選択したテンプレート情報が Cognito に保存される Demo が実装されていました。

Screenshot_2015-12-09-19-08-29

スクリーンショット_2015-12-09_19_20_56

App Analytics

App Analytics は項目を選択するだけで使用できるようになります。

スクリーンショット 2015-12-09 17.10.27

有効にしたら、左のメニューから Analytics を選択するとすぐに使えるようになりました!

スクリーンショット_2015-12-09_18_14_15

スクリーンショット 2015-12-09 18.18.06

Cloud Logic

最後に Cloud Logic です。モバイルから直接 AWS Lambda を呼び出し、実行できるというかなり期待が高まる機能です。
Lambda については今回のアドベントカレンダーでも積極的に取り入れています!
また、弊社ブログの Lambda – 特集カテゴリーも是非ご覧下さい。

アプリケーションからの使用する場合は、これも選択するだけで完了します! Cloud Logic の項目を選択し、実行したい Lambda の Function を選択するだけです!

スクリーンショット_2015-12-09_19_45_14

今回選択した Function の内容は、"key1" の値を返すという単純なものです。
設定が完了すると Resources に AWS Lambda Functions が追加されます。

スクリーンショット 2015-12-09 19.52.57

アプリをビルドしてインストールしてみます。

Screenshot_2015-12-09-19-58-13

Cloud Logic の項目が追加されています。
Cloud Logic の項目をタップすると下記画面が表示されます。
INVOKE をタップして実行してみます。

Screenshot_2015-12-09-19-58-22

Screenshot_2015-12-09-19-58-32

ちゃんと "key1" の値だけ返却されていますね!

まとめ

2回に分けてAndroidからMobile Hubサービスを一通り使ってみました。
実装した機能は、Login、push通知、データ保存、Analytics、サーバーロジックの実行と盛りだくさんですが、全てポチポチで終りました!
実際にアプリとしてリリースするときには、そういうわけにはいかないと思いますが、かなりコード量を抑えて実装できるんじゃないかと感じました。
いままでもモバイルバックエンドのサービスとしては色々とありましたが、規模が大きくなるとトラフィックに耐えられるのか、などの不安がつきまとっていたと思いますが、AWS Mobile Hubでは AWSのリソースを使って自由にスケールを調整できるので、かなりのトラフィックにも対応が可能になりますね。
今後はこのようなサービスの利用の幅が一気に広がりそうな気がします!

明日(12/10)は、荒井さんの AWS Lambda についての記事です。お楽しみに!

AWS Cloud Roadshow 2017 福岡