AWS Mobile HubとUnity

  • 1
    いいね
  • 0
    コメント

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を参照してください。

やりたいこと

  • UnityのクライアントアプリからFacebook→Cognito認証を行い、ログインする。
  • ログイン後、APIを投げてLamdaからの適切なレスポンスをもらう。 enterprise-mobile-hub_inventory-management-app.png

※上記の画像はAWS公式サイトから持ってきました。

手順

1)AWS側

1. AWS Mobile Hubにてプロジェクト作成
  • 「AWS Mobile Hub」ページへ移動し、「Create a new project」ボタンを押してプロジェクトを新しく生成します。
    스크린샷 2017-07-06 22.26.27.png

  • プロジェクトが生成されると以下のようなページが表示されと思います。
     その中で今回は、「User Sign-in」(Cognito)と「CloudLogic」(API Gateway + Lambda)だけを作成するようにします。
    스크린샷 2017-07-06 22.27.07.png

2. Cognito作成
  • 「User Sign-in」をクリックすると以下のようなページが表示されます。  今回はFacebookと連動しますので、「Facebook Login」を選択し、「Facebook APP ID」を入力します。 스크린샷 2017-07-06 22.27.55.png ※事前にFacebook APP IDは作成して置いてください。
3. CloudLogic作成
  • 「Cloud Logic」をクリックすると以下のようなページが表示されると思います。
    「Create new API」をクリックし、新しいAPIを生成します。
    스크린샷 2017-07-06 22.29.05.png

  • 「API Name」と「Path」設定
    스크린샷 2017-07-06 23.08.16.png

これで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です。
繋ぐためのロジックの実装は次回説明します。