bc.device.postDataToURL の使用方法

App Cloud SDK ではリモートでデータを交換する方法が2つ提供されています。1つは下記の GET リクエストを行う方法となります。

bc.device.fetchContentsOfURL(url, successCallback, errorCallback)

App Cloud フィードを使用する代わりに、App Cloud メソッドの fetchContentsOfURL を使用して、あらゆる URL からのコンテンツを取得することができます。fetchContentsofURL を使用すると、文字列の形式で指定した URL でコンテンツを取得できます。さらに successCallback 演算で、コンテンツをパース、フォーマット、表示できます。

■fetchContentsOfURL を使用するケース

以下に、fetchContentsOfURL の使用が最も適している状況について、記載しています。

XML または JSON 以外のコンテンツ。これらは App Cloud のデータ最適化技術の恩恵を受けることができません。HTML コンテンツまたは他のテキスト形式をロードしている場合、fetchContentsOfURL が適しています。

コンテンツのサービス プロバイダは、帯域制限を設けています(特定のデバイス アドレスからの指定期間におけるリクエストの数を制限する)。このケースではリクエストを、シングル ソースである App Cloud サーバーを介して実行する代わりに、デバイス中に広げます。Twitter や Google Places 等の人気ある API は帯域制限を設けています。

応答データはキャッシュされてはいけません。たとえばアプリケーションで、ユーザーの現在の位置から 3,000 メートル以内にあるレストランを検索する場合、応答データが毎回最新であることが望まれます。また、緯度および経度のデータが正確として(現在の位置は 41.0895985, -74.0083885)、2 つのリクエストが同じになる可能性はほとんどありません。

下記のコードでは、あるツイートを引っ張り使用しています。

2つめの方法は POST リクエストを行います。

bc.device.postDataToURL(url, successCallback, errorCallback, options)

下記のコードでは、ユーザ名/パスワードを認証サービスへ送信しています。

下記により詳細な認証に関するサンプルコードがございますのでご参照下さい。

http://opensource.brightcove.com/project/app-cloud-demos

fetchContentsOfURL メソッドは、クロスドメインの制限により、デバイスでのみ機能し、ブラウザでは機能しません。ブラウザで機能させるには、Chrome を --disable-web-security フラグのコマンドラインで開始します。