Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

FacebookとFlash、2つのプラットフォームを組み合わせてアプリケーションを開発しよう

原題:Facebook Platform x Flash Platformで開発するアプリケーションのアーキテクチャーの理解

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2012/05/02 14:00

 今、SNSとして最も人気が高い「Facebook」。この記事では、そのFacebookと連携するアプリケーションを開発する際、Flash PlatformとFacebook Platformの2つと組み合わせる手法を紹介します。開発できるアプリの種類や、サーバーとの連携など、アーキテクチャの基礎からきっちり学んでいきましょう。

目次

 リッチなユーザ体験を開発できるFlash Platform、リッチなソーシャル体験を開発できるFacebook Platform、この2つのプラットフォームを組み合わせれば、インタラクティビティと応答性、表現力に優れ、さらにソーシャル機能も盛り込んだキラーアプリケーションを開発することが可能となります。

 この記事では、Flash PlatformとFacebook Platformを使用したアプリのアーキテクチャーについて解説します。開発できるアプリの種類と、それらのアプリがどのようにサーバーやFacebookと連携するのかについて説明します。

 合わせて「The technologies for building applications on the Flash and Facebook Platforms」(英語)もお読みください。

開発できるアプリの種類

 Facebookと連携するFlashアプリを開発する場合、「Facebook上のアプリ」「外部サイト上のアプリ」「デスクトップアプリ」「モバイルアプリ」の4種類から選べます。

Facebookで開発できるFlashアプリの種類

Facebook上のアプリ

 アプリ自体はあなたのサーバーにホストすることになりますが、ユーザはFacebook経由でアプリにアクセスします。また、アプリはFacebookのクロームを含むページの中に表示されるため、ユーザから見るとFacebook上にあなたのアプリがあるように感じます。友人からの招待やアプリ検索などで「Facebook上のアプリ」へアクセスすると、Facebookサーバーはそのリクエストをあなたのサーバーへと中継(プロキシ)し、アプリのページ(Flashアプリが埋め込まれたHTMLやJavaScriptを含む)を取得し、Facebook上に表示します。そのため、ユーザはFacebookから離れることなくアプリを利用でき、シームレスなユーザ体験を提供することができます。

 Flashアプリは、Facebook Graph APIのラッパーである「Adobe ActionScript 3 SDK for Facebook Platform」を使って、Facebookとデータのやり取りを行います。このようなアプリの例としては、「Who Has the Biggest Brain」やZyngaの「Texas Hold'em Poker」があります。

外部サイト上のアプリ

 こちらもアプリ自体はあなたのサーバーにホストすることになります。しかしユーザは、Facebook経由ではなく、URLを介してアプリにアクセスすることになります。このようなアプリでFacebookのソーシャル機能を利用するには、Adobe ActionScript 3 SDK for Facebook PlatformとFacebook JavaScript SDKを使って、アプリやFacebookにシングルサインイン/アウトする仕組みを追加する必要があります。アプリにログイン/アウトボタンを設置し、ユーザがログインした際には、ポップアップウインドウをなどを使ってFacebookログインやアプリ認証ダイアログ(場合によっては両方)が表示されるようにします。セキュリティ面を考慮すれば、ポップアップウインドウでの表示は必須でしょう。そうすることで、ユーザは自分自身がFacebookにログインしようとしていることを把握できるからです。

 Facebookにシングルサインインすることで、アプリのログインプロセスがすっきりとするほか、ユーザのプロフィールにアクセスできるようになり、ユーザごとにサイトや体験をカスタマイズすることができます(例えば、ユーザ名や写真を表示したり、友達が購入した商品を掲載したり、友達のコメントやレビューを表示したり、ユーザのウォールや友達のニュースフィードにコメントやレビューを投稿したりするなど)。「Facebook上のアプリ」と同様にFlashアプリは、Facebook Graph APIのラッパーである「Adobe ActionScript 3 SDK for Facebook Platform」を使って、Facebookとデータのやり取りを行います。このようなアプリの例としては、「Ben and Jerry's」や「City Search」があります。

デスクトップアプリ

 「外部サイト上のアプリ」と似ていますが、Flashアプリをサーバー上にホストするかわりに、デスクトップ用AIRアプリとして配布するという点が異なります。「外部サイト上のアプリ」同様に、デスクトップアプリでも「Adobe ActionScript 3 SDK for Facebook Platform」を使って、ログイン機能やFacebookのソーシャル機能を実装します。このようなアプリの例としては、「Seesmic for Facebook」や「Nomee」があります。

モバイルアプリ

 デスクトップアプリと似ていますが、アプリの配布先がPCではなくデバイスとなります。他の種類のアプリ同様に、モバイルアプリでも「Adobe ActionScript 3 SDK for Facebook Platform」を使って、ログイン機能やFacebookのソーシャル機能を実装します。このようなアプリの例として、Zyngaの「Farmville」があります。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • Jeanette Stallons(Jeanette Stallons)

    Adobe、Oracle、Boeing、Wachovia、Morgan Stanley、Charles Schwabなどの企業の代理人として様々な講習・研修活動を営む、個人のFlexトレーナー兼コンサルタント。個人での活動を開始する以前は、Allaire、Macromedia、Adobeに勤務し、ト...

バックナンバー

連載:Adobe Developer Connection

もっと読む

All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5