AWS Mobile HubとUnity
はじめに
最近、サーバーレスとかmbass(mobile backend as a Service)とか流行っていますが、その流行りの数多い製品の中で、AWSのmbassである 「AWS Mobile Hub」を使用してUnityとつなげてみようかと思います。
(このページでの)目的
本記事では、AWS Mobile Hubの「認証」(AWS Cognito)
及びビジネスロジック(API Gateway + Lambda)でサーバーレス環境を構築し、
Unityからアクセスできるようにするのが目的となります。
※AndroidやiOSの場合は、MobileHubで設定するだけで、SDKが自動で生成されますが、
Unityはまだサポートしてないようです。そのため、繋ぐ方法をご紹介しようかと思います。
前提知識
本記事ではAWS Mobile HubとUnityを繋ぐ方法を共有するのが目的であり、
AWS CognitoやLambdaなどの補足説明は省略します。
※Cognito、Lambdaについては以下のURLを参照してください。
AWS Cognito
http://dev.classmethod.jp/cloud/aws/what-is-the-cognito/AWS API Gatewayと Lambda
https://www.cresco.co.jp/blog/entry/445/
やりたいこと
※上記の画像はAWS公式サイトから持ってきました。
手順
1)AWS側
1. AWS Mobile Hubにてプロジェクト作成
「AWS Mobile Hub」ページへ移動し、「Create a new project」ボタンを押してプロジェクトを新しく生成します。
プロジェクトが生成されると以下のようなページが表示されと思います。
その中で今回は、「User Sign-in」(Cognito)と「CloudLogic」(API Gateway + Lambda)だけを作成するようにします。
2. Cognito作成
- 「User Sign-in」をクリックすると以下のようなページが表示されます。 今回はFacebookと連動しますので、「Facebook Login」を選択し、「Facebook APP ID」を入力します。 ※事前にFacebook APP IDは作成して置いてください。
3. CloudLogic作成
これでAWS側は設定完了です。次はUnity側で繋ぐ準備を行います。
2) Unity側
1. Unityのテストプロジェクトを生成する。
2. Facebook SDKダウンロード&インポート
ダウンロードページ
https://developers.facebook.com/docs/unity/
上記でダウンロードしたものを自分のUnityプロジェクトへインポートする。
3. AWS Mobile SDK for Unity ダウンロード&インポート
ダウンロードページ
http://docs.aws.amazon.com/mobile/sdkforunity/developerguide/what-is-unity-plugin.html
AWSSDK.IdentityManagement.X.X.X.X.unitypackage
ファイルをUnityプロジェクトへインポート
4. 以下のcsファイルをディレクトリごと、Unityプロジェクトへインポートhttps://github.com/guywald/serverless-auth-msg-board-unity3d-client/tree/master/Assets/AWSSigners
ここまでできたら、AWS側に繋ぐための準備はOKです。
繋ぐためのロジックの実装は次回説明します。