設定編の続きです。
すべてのサービスの設定が完了している想定で話を進めます。
iOS Swift
を選択します。プロジェクトファイルの生成が開始します。少し時間がかかります。
生成が無事完了すると、Download iOS Swift source package
が表示されます。
クリックしてzipアーカイブをダウンロードします。
Zipを展開します。ソースコード、ライブラリ、ドキュメント一式が入っています。
READ_ME/index.html
を開くと、ヘルパークラスのAPIドキュメントが見れます。
Lambdaをラップした、AWSCloudLogic
クラスとか。
ダウンロードしたプロジェクトをXcodeで開きます。
実行します。
(delegateの指定にselectorを使用してないため、警告がでてますが、とりあえず動きます。)
TableViewで、追加したサービスのサンプルアプリが一覧で表示されます。
この時点ではゲストログインでアプリを実行してます。
Facebookアカウントでログインしてみましょう。
右上のSign-In
をタップします。
ログインすると、こんな感じでFacebookからユーザ情報を引張てこれます。
Demo User Profile Data
をタップします。
ここでSign-Out
すると、デフォルトのオレンジ色のテーマに戻ります。
AWSコンソールから、Congnito > Identity Pool > Identity Browswer
を開きます。
Linked logins
が1にカウントされてるIdentityID
がFacebookでログインしたユーザになります。
それ以外の0は、ログインせずにゲストで利用したユーザのIDになります。
ユーザの詳細を見ると、先ほど設定したカラーテーマの情報がキーバリューで登録されているのがわかります。
これは、CognitoSyncといい、IdentityIDに紐付いたサーバサイドのデータストアになります。
これにより、同一ユーザが異なるデバイス、iPhone, iPad等でログインしても、サーバサイドにユーザの設定情報を保持することで、どこからログインしても設定を同じにすることができます。
より複雑なデータを持たせる場合は、NoSQL(DynamoDB)を使用したり、Cloud Logic(Lambda)から、データベースサーバに接続したり、外部システムにAPIで呼び出したりすることになります。