2013年7月1日月曜日

すごく役立つ! 【Windows Azure Mobile Services の「ハンズオンラボ」】 をやってみた!

WindowsAzure-TrainingKit/HOL-iOSAndMobileServices · GitHub

前回の記事の続きです。

勉強会の「もくもく作業」時間に私がやったことをまとめようと思い別記事にしました。

やったこと


MicrosoftはGitHubにハンズオン資料(「HOL-」 と付くもの)を公開しています。


ここに、ちょうどiOS関連の物がありましたので、やってみました!


今回の記事は、すべてを解説しないので不明点があれば、直接 @snicker_jp まで問い合わせてください。


前提条件


このハンズオンを行うにあたって、前提条件があります。

  • MacOS
  • Xcode
  • Windows Azure アカウント
  • iOS Developer Program (通知サービスで必要)
  • iOS 5以上のデバイス (通知サービスで必要)
  • Facebook 開発者登録 (外部認証連携で必要)
  • ほんの少しの英語力 (中学生レベル)

プログラミング力」はなくても大丈夫でした! ←私がそうだから!(*´・д・)σ

この ハンズオンラボ でやること



  • Mobile Service を作る
  • Tableにデータを入れて、「データバリデーション」スクリプトを使う
  • 「プッシュ通知」を利用する
  • 「外部認証連携」を利用する

所要時間は60分程度

実際は、2〜3時間かかりましたけど「Azure、Xcode」どちらにも慣れていれば60分なんでしょうね。

・Mobile Service を作る

  • 左下の「新規」から「モバイルサービス」を作成します


  • 「URL」、「データベース」、「地域」を設定してください


  • 「データベース」情報を設定します


  • 作成が完了したら、「ダッシュボード」から
    • 「TodoItem」テーブルの作成
    • 「サンプルアプリ」のダウンロードをします


  • 「サンプルアプリ」を立ち上げて、エミュレータで実行すると以下のようになります!

サービスに必要な情報が入っているので、すぐに動きます!(*´・д・)σ


・Tableにデータを入れて、「データバリデーション」スクリプトを使う

  • そのまま、データを入力するとデータが入ります!


  • このデータに「制約」をかけてみます

    「データ」→「todoitem」→「スクリプト」→「挿入」を選んで以下のスクリプトに書き換えます

function insert(item, user, request) {
    if (item.text.length > 10) {
        request.respond(statusCodes.BAD_REQUEST, 'Text length must be under 10.');
    } else {
        request.execute();
    }
}

  • 保存してから、フォームに「10文字以上」入れると以下のようになります!


・「プッシュ通知」を利用する

「プッシュ通知」やりたかったのですが、iOS Developer Programの有効期限が切れていて、その場で更新したんですが間に合わずできませんでした。


・「外部認証連携」を利用する

Facebookの認証 と連携します!

  • Facebookの開発者ページ(Facebook developers) から、アプリ登録します!(* ̄ε ̄)σ


  • IDタブから「facebook設定」に取得したキーを入力します


  • 次に、データの権限を変更します!

    「データ」→「todoitem」→「アクセス許可」から変更します


上記から「認証されたユーザーのみ」に変更します


  • コードを追加する

QSTodoListViewController.mの「[self refresh];」下に

-(void)viewDidAppear:(BOOL)animated
{
     MSClient *client = self.todoService.client;

    if (client.currentUser != nil) {
        return;
    }

    [client loginWithProvider:@"facebook" controller:self animated:YES completion:^(MSUser *user, NSError *error) {
         [self refresh];
    }];
}

  • すると認証画面が出て、権限設定を「許可」することによりデータを見ることができます!



許可しないと、いつまでも許可を求められまーす!ヽ(=´▽`=)ノ



以上で完了です!

まとめ


  • 「プッシュ通知」やってみたかったなぁ〜!
  • BaaSって体験してみないと、どんなものかわからないですね!?
  • 意外にもすぐ出来て、ひと通り Mobile Services 使うことが出来るので、楽しかったです!(*´・д・)σ
あ、そうそう!
Windows Azure Mobile Services」は今なら、7月31日まで全プラン完全無料で利用できますよ!


ぜひお試しあれ~!
 (」・ω・)」うー!(/・ω・)/にゃー!

資料的なの。


  • 勉強会最後の発表に使ったスライドです!


Zenback