キャリアごとの共有オブジェクト

共有オブジェクト(SharedObject)について 今回はFlash Lite 2.x以降から使用できるようになった「共有オブジェクト(SharedObject)」について紹介ます。

岡田 昇三

2009年1月27日 20:00

共有オブジェクト(SharedObject)について

 今回はFlash Lite 2.x以降から使用できるようになった「共有オブジェクト(SharedObject)」について紹介ます。

 まず、キャリアごとの違いをざっくり言うと、以下のようになります。

・docomo:Flash Lite 3.0以上 ブラウザのみ使用可能
・au:Flash Lite 2.0以上 データフォルダのみ使用可能
・ソフトバンク:Flash Lite 2.0以上 機種によってまちまち

 docomoは、Flash Lite 3.0以上の端末であれば共有オブジェクト使用可能です。ブラウザのみ使用可能となります。ただし、ブラウザを閉じると消失してしまいます。auは、Flash Lite 2.0以上の端末で使用可能です。auも使用制限があり、データフォルダの中でのみ発行可能になります。ソフトバンクに関しては、機種によってまちまちのようです。ソフトバンクの公式資料には、データボックスのみ使用可能とありますが、筆者の手持ちのFlash Lite 2.0端末ではブラウザで使用可能、データボックスで使用不可でした。

 また、共有オブジェクトが使用可能かどうかは、以下のスクリプトで確認する事ができます。checkSOの結果をテキストフィールドに表示して確認します。

checkSO = System.capabilities.hasSharedObjects

 図1-1のようにキャリアによって使用方法に違いがあるので注意が必要です(docomoの場合は設定ファイルも一緒にデータフォルダに保存されるためにtrueが返却されます。実際には共有オブジェクトに変更等はできない)。

 では実際に共有オブジェクトを作成してみましょう。今回はファイルにアクセスするごとに数値がカウントアップする例を作成します。処理の具体的な流れとしては、以下のようにとなります(図1-2)。

1.読み取り後のfunctionをリスナー登録
2.getLocal でSharedObject読み取り
3.load完了後、リスナー登録したfunction実行

 Flash Liteの場合、読み書きには時間が必要になります。PCのように一瞬でSharedObjectが書き込み、読み込みされる事はなく、ほとんどの機種でgetLocal直後に保存されたSharedObjectが返却される事はありません。ですので読み込みにはaddListenerを使用してリスナー登録し、読み込み終わるのを待ちます。addListenerとは、onLoadの様に読み込み完了を通知するものと考えてください。

 スクリプトは図1-3のように記述します。

 docomoはブラウザで、auはデータボックスで確認してください。cntがカウントアップしていきます。サンプルファイルをダウンロードできますので、ご活用ください(5.84KB)。

docomoにはプラグインが必要!

 気をつけなければならないのはdocomoの場合です。FlashからFlash Lite 3.0を書き出しできるので、そのまま使用できそうなものですが、実はプラグインをインストールしなければ使用できません。プラグインは、「Adobeのモバイル & デバイスデベロッパーセンター(http://www.adobe.com/jp/devnet/devices/i-mode.html#resources)」の「Flash Lite 3.0 対応 NTT DoCoMo 携帯電話用 Adobe Flash CDK」からダウンロードしてください(図1-4)。

 その中の「モバイルメタデータ.swf」がメタデータパネルになります。プラグインと言っても、SWFファイルなので間違わないようにしてください。このファイルをOSに応じて指定のディレクトリにコピーします。

・Windows Vista PC:<.../Users/< ユーザー>/AppData/Local/Adobe/Flash CS3/ja/Configuration/WindowsSWF>
・Windows XP PC:<.../Documents and Settings/<ユーザー>/Local Settings/Application Data/Adobe/Flash CS3/ja/Configuration/WindowsSWF>
・Apple Mac:<.../Users/<ユーザー>/Library/Application Support/Adobe/Flash CS3/ja/Configuration/WindowsSWF>

 コピーが終わったら、Flashを再起動します。すると、「ウィンドウ → 他のパネル → モバイルメタデータ」でモバイルメタデータパネルが開きます。そのウィンドウのにある、ストレージサイズを設定します。ストレージサイズの容量は、1KBから最大10KBです。今回は10と入力しました。そしてモバイルメタデータパネルの右下にあるチェックマークをクリックして、ストレージサイズをムービーに適応します(図1-5)。

 これでdocomoでもShardObjectが使用できるようになりました。非常にわかりにくいので、開発の際はインストールを忘れないようにしましょう。

 ざっくり見ていきましたが、ShardObjectはキャリアごとにあまりに扱いが違いますので、多くのプロジェクトは使われないかと思います(そもそもdocomoではデータフォルダでswfの操作ができません)。Flash Liteのディスコンも決定していますし、せめて次の発売のモデルではキャリアごとの仕様の違いがなくなる事を強く願います。

 この連載では、今までネットにはあまり情報がなかったFlash Liteの仕様を中心にざっくり見ていきましたが、いかがでしたでしょうか。

 Flash Liteは制限との戦いです。窮屈に感じられる方もいらっしゃるかと思いますが、逆にいうと、制限をうまくくぐり抜けることによってもっと面白いコンテンツを作る事が可能だと思います。Flash Liteは制限が多くプアーに思うかもしれません。しかし皆さんのアイデアはプアーではないはずです。ぜひ、日本のモバイルならではのコンテンツ作りにチャレンジしてみてください。

【参考文献】

「Flash Lite 2.x ActionScript リファレンスガイド > ActionScript クラス > SharedObject」(http://livedocs.adobe.com/flashlite/2_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts_wEcute&file=00000749.html)(アクセス:2009/01)

「Adobe モバイル & デバイスデベロッパーセンター : i モード」(http://www.adobe.com/jp/devnet/devices/i-mode.html#resources)(アクセス:2009/01)

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30