株式会社アイビス

ホーム 会社概要 製品情報 技術情報
開発事例 人材募集 パブリシティ

ibisBrowser Personal Editionとは

iアプリ to ibisBrowser

■概要

iアプリからibisBrowserDXを起動し、指定のURLを開きます。
ibisとは異なるドメインから取得したiアプリからでも、ibisBrowserDXを起動することができます。

■ 処理の流れ

呼び出し元iアプリは、ibisBrowserサーバへURL及び端末情報を送信します。
ただし、iアプリからibisBrowserサーバへ直接通信を行うことができないため、iアプリ配布元サーバを経由する必要があります。
(1)呼び出し元iアプリは、iアプリ配布元サーバへURLを送信します。
(2)iアプリ配布元サーバは、URLおよびiアプリのPackageURLをibisBrowserサーバへ送信します。
(3)ibisBrowserサーバは、指定されたURLをDBに登録します。
ibisBrowserサーバは、処理結果を配布元サーバに経由して、iアプリへ返します。
(4)処理結果がOKの場合は、ランチャーモードによるiアプリ連携起動によりibisBrowserDXを起動します。
※通常の連携モードによるiアプリ連携起動では、ibisBrowserDXを起動することはできません。
(5) ibisBrowserDXは初回起動時に、指定されたURLのサイトを表示します。
(6) ibisBrowserDXの終了後もしくは戻る処理実行後、起動元iアプリを再起動します。
※配布元サーバから、PackageURLを送信しておく必要があります。

各アプリ間の関連図を以下に示します。
iモードアプリ間関連図
アプリ間関連図

■ 処理詳細


iアプリ
iアプリは、FOMAカード個体識別子とURLを配布元サーバに送信します。
通信時のフォーマットは独自ルールでかまいませんが
FOMAカード個体識別子は「Phone.getProperty(Phone.USER_ID)」で取得できる20桁のIDである必要があります。

配布元サーバ
iアプリから取得したIDとURL、およびiアプリのPackageURLを、httpを使用してibisBrowserサーバへリクエストします。
リクエストURLは以下となります。
 http://ibis.ne.jp/br/request
同時に引き渡しパラメータを設定します。 送信メソッドは、「GET」「POST」どちらも可能です。
引き渡すパラメータには以下の項目があります。「PackageURL」を除いて全て必須となります。
mode 固定値:1(URLの登録を行うためのリクエストであることを表します)
url iアプリから取得したURL
id iアプリから取得したFOMAカード個体識別子
jam 起動元iアプリのPackageURL(jamのURL)
(ibisBrowserDXから再度起動したい場合に必要となるパラメータです)

ibisBrowserサーバ
受け取ったパラメータを元に登録処理を実行し、処理結果を配布元サーバへ返却します。
処理結果はプレーンなテキストで返却されます。
処理結果には以下の2通りがあります。
OK 処理が正常終了した場合に返却されます。
NG,… 処理が異常終了した場合に返却されます。
","以降は、エラーメッセージを示す文字列がEOFになるまで続きます。
文字コードは「MS932」です。

配布元サーバ
ibisBrowserサーバから、処理結果を受け取ります。
受け取った処理結果をiアプリに返却します。
必要であればエラーメッセージも同時に返却します。

iアプリ
配布元サーバから受け取った処理結果がOKであれば、「ランチャーモードによりiアプリ連携起動」によりibisBrowserDXを起動します。
iアプリ上からは、ibisBrowserDXがインストールされているかどうかの判定はできません。
そのため、ibisBrowserDXを起動するか、新規インストールするかの選択はユーザが行うこととなります。
※ランチャーモードでiアプリ連携起動を行う場合は、ADFのLaunchAPPキーでiアプリ連携起動を行うことを宣言(値:yes)する必要があります。

-ibisBrowserDXを起動する場合−
ランチャーモードによるiアプリ連携起動を行う場合、開発者は以下の2つの処理を起動元iアプリに実装する必要があります。
ibisBrowserDXのエントリID取得
ランチャーモードでiアプリを起動するには、その携帯電話にインストールされている各iアプリと1対1に対応付けられているエントリIDを使用します。 有効なエントリIDを得るためには、ユーザによるiアプリ選択プロセスを経る必要があります。
iアプリ選択プロセスは、com.nttdocomo.system.ApplicationStoreクラスを使用します。 このクラスのstaticメソッドselectEntry()を呼び出すことで、iアプリはサスペンドして画面上にiアプリ一覧が表示されます。 そのiアプリ一覧からユーザがいずれかのiアプリを選択するとiアプリはレジュームし、selectEntry()メソッドは選択されたiアプリに対応するApplicationStoreオブジェクトを返します。 返却されたApplicationStoreオブジェクトに対してgetId()メソッドを呼び出すことで、選択されたiアプリのエントリIDを取得することができます。

※ここで選択できるiアプリは、ibisBrowserDXだけでなく、任意のiアプリを起動できます。 そのため、ibisBrowserDXの起動を促すなどの必要があります。
エントリIDを指定してのibisBrowserDXの起動
エントリIDを指定してランチャーモードでiアプリを起動するには、IApplication.launch()メソッドを使用します。
引数には以下の項目を設定します。
第1引数 起動対象となるアプリケーションの種別です。
「IApplication.LAUNCH_AS_LAUNCHER」を設定します。
第2引数 起動引数を示すString配列です。
先頭要素に文字列化したエントリIDを指定します。

-ibisBrowserDXが端末にインストールされていなかった場合−
iアプリ側で処理を打ち切ることもできますが、iモードブラウザ起動によりibisBrowserDXダウンロードページへ遷移することもできます。 iモードブラウザの起動には、以下のメソッドを使用します。
 IApplication#launch(int target, String[] args)
 「target」には、「IApplication.LAUNCH_BROWSER」を指定します。
 「args」には、ibisBrowserDXダウンロードページを示すURLを設定します。
 URLは以下となります。
  http://ibis.ne.jp/br/request
 同時に引き渡しパラメータを設定します。
 引き渡しパラメータには以下の項目があり、全て必須となります。

mode 固定値:2(登録済みのURLを取得するためのリクエストであることを表します)
id FOMAカード個体識別子
z 通常は固定値:0(アフィリエイト登録済みの場合は、アフィリエイトIDを指定します)
iモードブラウザ起動後は、画面の指示に従っていくことでibisBrowserDXをダウンロードできます。

ibisBrowserDX
初回起動時、iアプリにより設定されたURLを開きます。
終了時、起動元iアプリを登録します。登録済みの場合は、起動元iアプリを再起動します。

■サンプル


iアプリto ibisBrowserのサンプルソースを以下に示します。
iアプリ DOWNLOAD
配布元サーバ DOWNLOAD
※メール to ibisBrowserのサンプルと同じものです。