Windows Azureモバイル サービス: iOSアプリ、Facebook/Twitter/Google ID、電子メール、SMS、BLOB、サービス バスなどの新規サポート

Posted: 2012/10/17 カテゴリー: Uncategorized
タグ:, , , ,

数週間前、Windows Azureモバイル サービスに関してブログを書きました (英語 / 日本語)。これは、クライアント/モバイル アプリケーションをスケーラブルなクラウド バックエンドに接続することを信じられないほど簡単にする、Windows Azureの新機能です。

本日、Windows Azureモバイル サービスに対する、多数の素晴らしい改善を提供しました。新機能は次の通りです。

  • iOSのサポート – iPhone/iPadアプリをモバイル サービスに接続可能に
  • モバイル サービスでのFacebook、Twitter、Google認証のサポート
  • モバイル サービス内からのBLOB、テーブル、キュー、サービス バスのサポート
  • モバイル サービスからの電子メールの送信 (SendGridとのパートナーシップ)
  • モバイル サービスからのSMSメッセージの送信 (Twilioとのパートナーシップ)
  • 米国西部リージョンで、モバイル サービスのデプロイが可能に

これらの改善すべては本番環境で有効化されており、今すぐ使い始めることができます。さらなる詳細は次の通りです。

iOSのサポート

今週、iOSベースのデバイス (iPhone、iPad) のWindows Azureモバイル サービスへの接続の初期サポートを提供しました。他のWindows Azure SDKと同様に、GitHubでオープン ソース (Apache 2.0) ライセンスの下で、ネイティブiOSライブラリを提供しています。フォーラムGitHubの問題リストを介して、この新しいライブラリへの皆さんからのフィードバックを得ることに興奮しています。SDKへの貢献も歓迎します。

新しいiOSアプリを作成するか、既存のiOSアプリをモバイル サービスに接続するには、Windows Azureポータル内のモバイル サービスのクイック スタート ビューで「iOS」タブを選択するだけです。それから、その下の「Create a new iOS app」または「Connect to an existing iOS app」リンクに従います。

いずれかのリンクをクリックすると、展開されて、モバイル サービスに接続するiOSアプリケーションの構築方法に関する、段階的な手順が表示されます、

Widnows Azureにデータを格納する簡単なiOS「Todo List」アプリを (5分以内に) どのように構築できるかをウォークスルーする「作業の開始」チュートリアルを読んでください。それから、データの格納やユーザーの認証を行うためのiOSクライアント ライブラリの使い方を調べるために、次のチュートリアルに従ってください。

Facebook、Twitter、Google認証のサポート

モバイル サービスの初期プレビューは、Microsoftアカウント (旧称 Windows Live IDアカウント) を使った、モバイル アプリでのユーザー認証機能をサポートしていました。今週、Facebook、Twitter、Google資格情報を使って、ユーザーを認証する機能を追加しました。これは、Windows 8アプリとiOSアプリの両方でサポートされています (そして、単一のアプリが複数のID形式を同時にサポートできるので、ユーザーにログイン方法の選択肢を提供できます)。

次のチュートリアルは、モバイル サービスのIDプロバイダーへの登録方法をウォークスルーします。

前述のチュートリアルは、IDプロバイダーからのクライアントID/シークレット キーの取得方法をウォークスルーします。それから、モバイル サービスでサーバー側認証を有効化するために、(Windows Azureポータル内の) モバイル サービスの「IDENTITY」タブをクリックし、これらの値を保存できます。

それから、モバイル サービスに対してユーザーを認証するために、クライアント/モバイル アプリ内でコードを書くことができます。たとえば、次のコードは、Facebook資格情報を使ってユーザーにモバイル サービスにログインさせるために書くコードです。

(C#を使った) Windowsストアアプリ

var user = await App.MobileService
                    .LoginAsync(MobileServiceAuthenticationProvider.Facebook); 

(Objective Cを使った) iOSアプリ

UINavigationController *controller =
[self.todoService.client
    loginViewControllerWithProvider:@"facebook"
    completion:^(MSUser *user, NSError *error) {
       //...
}];

Microsoftアカウント、Facebook、Twitter、Googleを使ったモバイル サービスの認証について、次のチュートリアルでさらに学んでください。

モバイル サービスでのWindows Azure BLOB、テーブル、キュー、サービス バスの使用

モバイル サービスは、サーバー スクリプトを使ってサーバー ロジックを追加する、単純ながら強力な方法を提供しています。サーバー スクリプトは、モバイル サービスのテーブルに対する個別のCRUD操作に関連付けられています。サーバー スクリプトは、データ検証、カスタム承認ロジック (たとえば、このユーザーはこのゲーム セッションに参加しているか)、CRUD操作の増強、プッシュ通知の送信、他の類似のシナリオに最適です。

サーバー スクリプトはJavaScriptで書かれ、Node.jsを使って構築されたセキュアなサーバー側スクリプト環境内で実行されます。Windows Azureポータル内で直接、サーバー スクリプトを編集し、サーバー上に保存できます。

今週のリリースでは、モバイル サービスのサーバー スクリプトから他のWindows Azureサービスを扱う機能を追加しました。これは、Windows Azure SDK for Node.jsの既存の「azure」モジュールを使ってサポートされます。たとえば、Windows Azureテーブルへの参照を取得するために、モバイル サービス スクリプトで次のコードを使えます (その後、そのテーブルをクエリしたり、そのテーブルにデータを挿入したりすることができます)。

    var azure = require('azure');
    var tableService = azure.createTableService("<< account name >>", 
                                                "<< access key >>");

azureモジュールを使ったBLOB、テーブル、キュー、サービス バスの扱いに関してさらに学ぶには、Windows Azure Node.js開発者センターのチュートリアルに従ってください。

モバイル サービスからの電子メールの送信

今週のリリースでは、SendGridとのパートナーシップに基づいて、モバイル サービスから簡単に電子メールを送信する機能も追加しました。ユーザー登録成功時のようこそメールを追加したり、アプリに特定のアクティビティーを警告させたい場合、モバイル サービスのサーバー スクリプトから電子メールを送信することで、これを行うことができるようになりました。

使い始めるには、http://sendgrid.com/ でSendGridアカウントを登録してください。Windows Azureのお客様は、SendGridから無料電子メール 25,000通/月の特別オファーを受けられます。このオファーに登録したり、さらなる情報を得るには、http://www.sendgrid.com/azure.html にアクセスしてください。

登録したら、SendGridサービスを介して電子メールを送信するために、モバイル サービスのサーバー スクリプトに次のスクリプトを追加できます。

    var sendgrid = new SendGrid('&lt;&lt; account name &gt;&gt;', '&lt;&lt; password &gt;&gt;');

<pre><code>sendgrid.send({
    to: '&amp;lt;&amp;lt; enter email address here &amp;gt;&amp;gt;',
    from: '&amp;lt;&amp;lt; enter from address here &amp;gt;&amp;gt;',
    subject: 'New to-do item',
    text: 'A new to-do was added: ' + item.text
}, function (success, message) {
    if (!success) {
        console.error(message);
    }
});
</code></pre>

さらに学ぶには、チュートリアル「Send email from Mobile Services with SendGrid tutorial」に従ってください。

モバイル サービスからのSMSメッセージの送信

SMSは、モバイル アプリ向けの主要な通信媒体です。登録時にアプリからユーザーに確認コードを送信したい、ユーザーが (アプリをインストールするように) 友達を招待できるようにしたい、あるいは、スマートフォンを持たないモバイル ユーザーにリーチしたい場合に、SMSは役立ちます。

モバイル サービスのサーバー スクリプトとTwilioのREST APIを使って、アプリから簡単にSMSメッセージを送信できるようになりました。使い始めるには、Twilioアカウントを登録してください。Windows Azureのお客様は、TwilioとWindows Azureを一緒に使う場合、無料メッセージ 1000通を受けられます

登録したら、SMSメッセージを送信するために、モバイル サービスのサーバー スクリプトに次のコードを追加できます。

    var httpRequest = require('request');
    var account_sid = &quot;&lt;&lt; account SID &gt;&gt;&quot;;
    var auth_token = &quot;&lt;&lt; auth token &gt;&gt;&quot;;

<pre><code>// Create the request body
var body = &amp;quot;From=&amp;quot; + from + &amp;quot;&amp;amp;To=&amp;quot; + to + &amp;quot;&amp;amp;Body=&amp;quot; + message;

// Make the HTTP request to Twilio
httpRequest.post({
    url: &amp;quot;https://&amp;quot; + account_sid + &amp;quot;:&amp;quot; + auth_token + 
         &amp;quot;@api.twilio.com/2010-04-01/Accounts/&amp;quot; + account_sid + &amp;quot;/SMS/Messages.json&amp;quot;,
    headers: { 'content-type': 'application/x-www-form-urlencoded' },
    body: body
}, function (err, resp, body) {
    console.log(body);
});
</code></pre>

今週のTwilioCon Conferenceで講演できることに興奮しており、TwilioとWindows Azureモバイルサービスで可能になったクールなシナリオについて紹介する予定です。

米国西部リージョンで、モバイル サービスが利用可能に

Windows Azureモバイル サービスの初期のプレビューは、Windows Azureの米国東部リージョンでのみサポートされていました。すべてのWindows Azureサービスと同様に、徐々にモバイル サービスをすべてのWidnows Azureリージョンに拡張する予定です。今週のプレビュー更新では、米国西部リージョンでもモバイル サービスを作成できるように、サポートを追加しました。

まとめ

前述の機能はすべて本番環境で有効化されており、今すぐ使うことができます。もしWindows Azureアカウントをまだ持っていない場合は、無料評価版に登録して、今日からモバイル サービスを使い始めることができます。Windows Azureモバイル サービス開発者センターにアクセスして、モバイル サービスでのアプリ構築方法についてさらに学んでください。

今週、Windows Azure Webサイトでの.NET 4.5サポートなど、さらなる新機能と拡張を予定しています。これらの新機能が利用可能になった際には、詳細に関しては私のブログから目を離さないでいてください。

関連情報

コメント
  1. […] Azureモバイル サービスに対する多数の改善に関して書きました (英語 / 日本語)。その1つは、iOS開発者がモバイル […]

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中