• 検索結果がありません。

APIリファレンス

N/A
N/A
Protected

Academic year: 2021

シェア "APIリファレンス"

Copied!
17
0
0

読み込み中.... (全文を見る)

全文

(1)

B1WS-1129-01(00)

2013

10

FUJITSU Software

Interstage Mobile Application Server V1.0.0

(2)

まえがき

本書の目的

本書は、Interstage Mobile Application Serverが提供するAPIについて説明します。

本書の読者

本書はInterstage Mobile Application Serverを利用したアプリケーションの設計・開発を行う方を対象としています。 本書を読むにあたっては、以下の知識が必要です。

使用するOSに関する基本的な知識

インターネットに関する基本的な知識

スマートデバイスに関する基本的な知識

Interstage Mobile Application Serverの基本的な知識

アプリケーションサーバ管理に関する基本的な知識

アプリケーション開発に関する基本的な知識

HTML5、JavaScript、CSS3の知識

本書の構成

本マニュアルは、次の構成になっています。 第1章 APIリファレンス

Interstage Mobile Application Serverが提供するAPIについて説明しています。

オペレーティングシステム表記

本書では、オペレーティングシステムを以下のように略記しています。

正式名称 略称

Microsoft(R) Windows Server(R) 2012 Datacenter Windows Server 2012 Windows Microsoft(R) Windows Server(R) 2012 Standard

Microsoft(R) Windows Server(R) 2012 Essentials Microsoft(R) Windows Server(R) 2012 Foundation

Microsoft(R) Windows Server(R) 2008 R2 Standard Windows Server 2008 R2 Microsoft(R) Windows Server(R) 2008 R2 Enterprise

商標

Access、Excel、PowerPointおよびWordは、米国Microsoft Corporationの製品です。

Adobe、Acrobat、Adobe Reader、Acrobat Reader、Adobe ロゴ、Adobe AIR、Flash、Flash Playerは、Adobe Systems Incorporatedの

米国ならびに他の国における商標または登録商標です。

Androidは、Google Inc. の登録商標です。

Eclipseは、開発ツールプロバイダのオープンコミュニティであるEclipse Foundation, Inc.により構築された開発ツール統合のための

オープンプラットフォームです。

Internet Explorer、Microsoft Internet Explorer ロゴ、Microsoft、Windows、Windows Serverまたはその他のマイクロソフト製品の名

(3)

OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商 品名等は各社の商標または登録商標である場合があります。

本書におけるその他名称については、各社の登録商標または商標です。 なお、本書では、システム名または製品名に付記される登録表示((TM)または(R))は、省略しています。

輸出管理規制

本ドキュメントを輸出または提供する場合は、外国為替、外国貿易法および米国輸出管理関連法規等の規制をご確認の上、必要な 手続きをおとりください。

お願い

このマニュアルは、予告なしに変更されることがあります。

このマニュアルを無断で他に転用しないようお願いします。

このマニュアルに記載されたデータの使用に起因する第三者の特許権およびその他の権利の侵害については、当社はその責を 負いません。

発行年月日

2013年10月

著作権

(4)

目 次

第1章 APIリファレンス...1 1.1 アプリ実行...1 1.1.1 addEventListener...1 1.1.2 removeAppData...2 1.1.3 abortApp...3 1.1.4 使用例...3 1.2 認証...4 1.2.1 getUserID...4 1.2.2 isOnlineFlag...5 1.2.3 使用例...5 1.3 データ暗号化API(SecureLocalStorage)...6 1.3.1 length...6 1.3.2 key...6 1.3.3 setItem...7 1.3.4 getItem...7 1.3.5 removeItem...8 1.3.6 clear...8 1.3.7 使用例...9 1.4 通信...10 1.4.1 enableAsyncComm...10 1.4.2 processServerResponse...10 1.4.3 使用例...11 1.5 ARアプリケーション連携...11 1.5.1 start...11 1.5.2 使用例...13 1.6 Cordova API...13

(5)

1

API

リファレンス

本章では、Interstage Mobile Application Serverが提供するAPIについて説明します。

APIを利用するためには、以下のJavaScriptファイルをhtmlファイルでインクルードしてください。

imaps-バージョン.js

cordova-バージョン.js JavaScriptファイルは以下に格納されています。IMAPSアプリの開発資産と同じフォルダへコピーしてください。 <製品インストールフォルダ>\MAPS\development

注意

Interstage Mobile Application Serverが提供するAPIは、Cordovaのdevicereadyイベントの受信後に呼び出してください。devicereadyイ

ベントの受信前に呼び出した場合は、正常に動作しません。

devicereadyイベントの受信は、以下のようにaddEventListenerでリスナーを追加します。

document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { // リスナーの処理 }

注意

backbuttonイベントは、index.htmlには通知されません。index.htmlでバックキーまたはバックアイコンが押された場合はIMAPSエージェ ントの[ホーム]画面へ遷移します。 Storage APIで保存したデータは、IMAPSクライアントアプリケーション間で共有されます。

1.1

アプリ実行

1.1.1 addEventListener

IMAPSクライアントアプリケーションのイベントリスナーを登録します。

呼出し形式

imaps.app.addEventListener(event, callback)

引数

引数 説明 event 受信するイベントを指定します。 callback イベント発生時に呼び出すコールバック関数を指定します。 指定可能なイベント、コールバックで行う処理例は、以下の通りです。

(6)

イベント コールバック処理 説明 background 処理を停止してください。 終了に備えて、揮発性データの永続化を行って ください。 利用者の操作により、実行中(フォアグラウンド)のIMAPS クライアントアプリケーションが実行中(バックグラウンド)に なるイベントです。 IMAPSクライアントアプリケーションが停止する前にも発 生します(強制終了の前には発生しません)。 foreground 必要に応じて、永続したデータの復元等を行っ てください。 利用者の操作により、実行中(バックグラウンド)のIMAPS クライアントアプリケーションが実行中(フォアグラウンド)に なるイベントです。

戻り値

なし

ポイント

イベントに上記以外を指定した場合、コールバックにnullを指定した場合は、イベント通知を行いません。

注意

IMAPSクライアントアプリケーションの終了操作を行った際に、コールバック処理がIMAPSアプリ終了処理のタイムアウト時間(デフォル ト: 30秒)以上かかった場合、IMAPSエージェントはメッセージを表示して終了します。 IMAPSクライアントアプリケーションをフォアグラウンドに切り替えた直後に終了操作を行った場合、foregroundとbackgroundのコール バック処理が実行されます。従って、IMAPSアプリ終了処理のタイムアウト時間には、foregroundとbackgroundのコールバック処理にか かる時間よりも大きな値を設定してください。 IMAPSアプリ終了処理のタイムアウト時間の設定方法については、「エージェント操作ガイド」の「付録B IMAPS初期設定のカスタマイ ズ方法」を参照してください。

1.1.2 removeAppData

IMAPSクライアントアプリケーションに関連するすべてのデータを削除します。 なお、Storage APIで保存したデータは、IMAPSクライアントアプリケーション間で共有されるため削除されません。

呼出し形式

imaps.app.removeAppData(onSuccess, onFailure)

引数

引数 説明 onSuccess すべての削除が成功した場合に呼び出すコールバック関数を指定します。 onFailure 削除が失敗した場合に呼び出すコールバック関数を指定します。

戻り値

なし

(7)

1.1.3 abortApp

IMAPSクライアントアプリケーションを強制終了します。

呼出し形式

imaps.app.abortApp()

引数

なし

戻り値

なし

1.1.4

使用例

addEventListenerの使用例を以下に示します。 <!DOCTYPE HTML> <html lang="ja"> <head>

<script type="text/javascript" src="cordova-2.9.0.js"></script> <script type="text/javascript" src="imaps-1.0.0.js"></script> <script type="text/javascript">

document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { imaps.app.addEventListener("background", onBackground); imaps.app.addEventListener("foreground", onForeground); } function onBackground() { console.log("background event"); } function onForeground() { console.log("foreground event"); } </script> </head> <body> </body> </html> removeAppDataの使用例を以下に示します。 <!DOCTYPE HTML> <html lang="ja"> <head>

<script type="text/javascript" src="cordova-2.9.0.js"></script> <script type="text/javascript" src="imaps-1.0.0.js"></script> <script type="text/javascript">

document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() {} function removeAppData() { imaps.app.removeAppData(onSuccess, onFailure); }; function onSuccess() { alert("removeAppData success"); } function onFailure() {

(8)

alert("removeAppData fail"); } </script> </head> <body> <button onclick="removeAppData()">removeAppData</button> </body> </html> abortAppの使用例を以下に示します。 <!DOCTYPE HTML> <html lang="ja"> <head>

<script type="text/javascript" src="cordova-2.9.0.js"></script> <script type="text/javascript" src="imaps-1.0.0.js"></script> <script type="text/javascript">

document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() {} function abortApp() { imaps.app.abortApp(); }; </script> </head> <body> <button onclick="abortApp()">abortApp</button> </body> </html>

1.2

認証

1.2.1 getUserID

ログイン中のユーザーIDを取得します。

呼出し形式

imaps.auth.getUserID(onSuccess, onFailure)

引数

引数 説明 onSuccess ユーザーID取得が成功した場合に呼び出すコールバック関数を指定します。 第1引数にString型でユーザーIDが返却されます。 onFailure ユーザーID取得が失敗した場合に呼び出すコールバック関数を指定します。 第1引数にString型で例外メッセージが返却されます。

戻り値

なし

(9)

1.2.2 isOnlineFlag

オンライン認証、またはオフライン認証のどちらでログインしているかを取得します。

呼出し形式

imaps.auth.isOnlineFlag(onSuccess, onFailure)

引数

引数 説明 onSuccess 成功した場合に呼び出すコールバック関数を指定します。 第1引数にString型で認証方法が返却されます。返却される値の意味は以下の通りです。 ・true :オンライン認証 ・false:オフライン認証 onFailure 失敗した場合に呼び出すコールバック関数を指定します。 第1引数にString型で例外メッセージが返却されます。

戻り値

なし

1.2.3

使用例

getUserIDの使用例を以下に示します。 <html> <head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script type="text/javascript" src="cordova-2.9.0.js"></script> <script type="text/javascript" src="imaps-1.0.0.js"></script> <script> function onBodyLoad() { document.addEventListener("deviceready", getUserID); } function getUserID() { imaps.auth.getUserID(resultHandler, errorHandler); }

function resultHandler (result) { alert("result: \r\n"+result ); }

function errorHandler (error) { alert("Error: \r\n"+error ); } </script> </head> <body onLoad="onBodyLoad();"> </body> </html> isOnlineFlagの使用例を以下に示します。 <html> <head>

(10)

<script type="text/javascript" src="cordova-2.9.0.js"></script> <script type="text/javascript" src="imaps-1.0.0.js"></script> <script> function onBodyLoad() { document.addEventListener("deviceready", isOnlineFlag); } function isOnlineFlag() { imaps.auth.isOnlineFlag(resultHandler, errorHandler); }

function resultHandler (result) { alert("result: \r\n"+result ); }

function errorHandler (error) { alert("Error: \r\n"+error ); } </script> </head> <body onLoad="onBodyLoad();"> </body> </html>

1.3

データ暗号化

API(SecureLocalStorage)

1.3.1 length

保存されているデータの数を返します。

呼出し形式

imaps.sls.length(onSuccess, onFailure)

引数

引数 説明 onSuccess 成功した場合に呼び出すコールバック関数を指定します。 第1引数にString型でデータの数が返却されます。 onFailure 失敗した場合に呼び出すコールバック関数を指定します。 第1引数にString型で例外メッセージが返却されます。

戻り値

なし

1.3.2 key

保存されているindex番目のkeyを返します。

注意

key追加、削除後の順序は保障されません。

(11)

呼出し形式

imaps.sls.key(onSuccess, onFailure, index)

引数

引数 説明 onSuccess 成功した場合に呼び出すコールバック関数を指定します。 第1引数にString型でindex番目のkeyが返却されます。

indexがnullまたは不正な値の場合は0番目のkeyを返却します。

index番目にkeyが存在しない場合はnullを返却します。 onFailure 失敗した場合に呼び出すコールバック関数を指定します。 第1引数にString型で例外メッセージが返却されます。 index 取得すべきkeyのindex値

戻り値

なし

1.3.3 setItem

keyとvalueのペアでデータを保存します。

key/valueには空文字を使用することができます。

nullは文字列"null"として扱います。

すでに同じkeyが保存されている場合はvalueが更新されます。

呼出し形式

imaps.sls.setItem(onSuccess, onFailure, key, value)

引数

引数 説明 onSuccess 成功した場合に呼び出すコールバック関数を指定します。 第1引数にString型で"OK"が返却されます。 onFailure 失敗した場合に呼び出すコールバック関数を指定します。 第1引数にString型で例外メッセージが返却されます。 key 保存するkey value 保存するvalue

戻り値

なし

1.3.4 getItem

keyに対するvalueを取得します。

(12)

呼出し形式

imaps.sls.getItem(onSuccess, onFailure, key)

引数

引数 説明 onSuccess 成功した場合に呼び出すコールバック関数を指定します。 第1引数にString型でkeyに対するvalueが返却されます。 該当するvalueが存在しない場合はnullが返却されます。 onFailure 失敗した場合に呼び出すコールバック関数を指定します。 第1引数にString型で例外メッセージが返却されます。 key 取得するvalueのkey

戻り値

なし

1.3.5 removeItem

keyに対するvalueを削除します。

呼出し形式

imaps.sls.removeItem(onSuccess, onFailure, key)

引数

引数 説明 onSuccess 成功した場合に呼び出すコールバック関数を指定します。 第1引数にString型で"OK"が返却されます。 該当するvalueが存在しない場合も"OK"が返却されます。 onFailure 失敗した場合に呼び出すコールバック関数を指定します。 第1引数にString型で例外メッセージが返却されます。 key 削除するvalueのkey

戻り値

なし

1.3.6 clear

データをすべてクリアします。

呼出し形式

imaps.sls.clear(onSuccess, onFailure)

(13)

引数

引数 説明 onSuccess 成功した場合に呼び出すコールバック関数を指定します。 第1引数にString型で"OK"が返却されます。 onFailure 失敗した場合に呼び出すコールバック関数を指定します。 第1引数にString型で例外メッセージが返却されます。

戻り値

なし

1.3.7

使用例

使用例として、ボタンを押下するとAPIの実行結果をアラート表示するHTMLサンプルを示します。 <html> <head>

<script type="text/javascript" src="cordova-2.9.0.js"></script> <script type="text/javascript" src="imaps-1.0.0.js"></script> <script type="text/javascript">

document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() {} // length() function length() { imaps.sls.length(resultHandler, errorHandler); } // key(index) function key(index) {

imaps.sls.key(resultHandler, errorHandler, index); }

// setItem(key, value) function setItem(key, value) {

imaps.sls.setItem(resultHandler, errorHandler, key, value); }

// getItem(key) function getItem(key) {

imaps.sls.getItem(resultHandler, errorHandler, key); }

// removeItem(key) function removeItem(key) {

imaps.sls.removeItem(resultHandler, errorHandler, key); } // clearItem() function clearItem() { imaps.sls.clear(resultHandler, errorHandler); } //正常時のCallBack function resultHandler(result) {

// length(), key(index), getItem(key)含め、結果はresultに設定される. alert("SUCCESS: \r\n"+result); } //異常時のCallBack. function errorHandler(error) { alert("ERROR: \r\n"+error); } </script> </head> <body>

(14)

<button onclick="length();">Click to length</button><br> <button onclick="key(0);">Click to key</button><br>

<button onclick="setItem('key', 'value');">Click to setItem</button><br> <button onclick="getItem('key');">Click to getItem</button><br>

<button onclick="removeItem('key');">Click to removeItem</button><br> <button onclick="clearItem();">Click to clear</button><br>

</body> </html>

1.4

通信

1.4.1 enableAsyncComm

URLがInterstage SSOの保護パスとして登録されているサーバアプリケーションとのAjax通信を有効化します。

呼び出し形式

imaps.comm.enableAsyncComm(url)

引数

引数 説明 url サーバアプリケーションが同梱しているimaps-async-comm-1.0.0.htmlのURLを指定します。

戻り値

なし

1.4.2 processServerResponse

URLがInterstage SSOの保護パスとして登録されているサーバアプリケーションとAjax通信した結果を処理します。

呼び出し形式

imaps.comm.processServerResponse(onProceed,responseText)

引数

引数 説明 onProceed 有効なレスポンスデータが戻ってきた場合に処理を継続するためのコールバック関数を指定します。 第1引数にString型でレスポンスデータが返却されます。 responseText Ajax通信のレスポンスデータを指定します。

戻り値

なし

(15)

1.4.3

使用例

<html> <head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script type="text/javascript" src="cordova-2.9.0.js"></script> <script type="text/javascript" src="imaps-1.0.0.js"></script> <script type="text/javascript"> imaps.comm.enableAsyncComm("https://192.0.2.0/webapp/imaps-async-comm-1.0.0.html"); </script> </head> <body> <script type="text/javascript"> // Ajax通信するデータを設定してサーバと通信する関数です function dataUp(){

var xmlHttpRequest = new XMLHttpRequest(); xmlHttpRequest.open( 'POST', serverName);

xmlHttpRequest.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' ); var params = [];

var updatawork = encodeURIComponent( updata0 ).replace( /%20/g, '+' ); var upsyomeiwork = encodeURIComponent( upsyomei0 ).replace( /%20/g, '+' ); params.push( 'data=' + updatawork );

params.push( 'syomei=' + upsyomeiwork ); var paramsdata = params.join( '&' ); xmlHttpRequest.send(paramsdata);

xmlHttpRequest.onreadystatechange = function(){ var READYSTATE_COMPLETED = 4;

var HTTP_STATUS_OK = 200;

if( this.readyState == READYSTATE_COMPLETED && this.status == HTTP_STATUS_OK ) { // レスポンスデータを処理します imaps.comm.processServerResponse(onProceed,this.responseText); } } } // 実際にレスポンスデータを処理する関数です function onProceed(responseText) { alert("responseText:"+responseText); } </script> </body> </html>

1.5 AR

アプリケーション連携

1.5.1 start

ARアプリケーションのActivityを起動します。

呼出し形式

imaps.ar.start(onSuccess, onFailure, packageName, activityClass, url)

(16)

引数 説明 onSuccess 成功した場合に呼び出すコールバック関数を指定します。 onFailure 失敗した場合に呼び出すコールバック関数を指定します。 第1引数にエラー情報を保持したエラーオブジェクトが返却されます。「エラーオブジェクト.code」でエラーコー ドを参照できます。「エラーオブジェクト.message」でエラーメッセージを参照できます。詳細は「エラー時に返 却される情報」を参照してください。 packageName ARアプリケーションのパッケージ名を指定します。 activityClass 起動するActivityを指定します。

AR重畳表示アプリケーションActivityの場合: "com.fujitsu.interstage.ar.mobileclient.android.base.web.ArWebMainActivity" または AR_WEB_MAIN

クライアントオーサリングActivityの場合: "com.fujitsu.interstage.ar.mobileclient.android.authoring.ui.LiveAuthoringActivity" ま た は AR_LIVE_AUTH

設定画面Activityの場合: "com.fujitsu.interstage.ar.mobileclient.android.base.pref.ArPreferenceActivity" ま た は AR_PREFERENCE url AR重畳表示アプリケーションActivityを起動する場合、起動するURL文字列を指定します。その他のActivity の場合は無視されます。

エラー時に返却される情報

以下にエラーコードとメッセージの意味および対処を説明します。 コード メッセージ 意味 対処 100 以下のどれかが返却されます。

INVALID_PACKAGE_NAM E

INVALID_INTENT_OPTIO N

INVALID_ACTIVITY_CLA SS

INVALID_WEBMAIN_URL 以下の意味です。

不当なパッケージ名です。

不当なインテントオプションです。

不当なActivityです。

不当なURLです。 正しい値を指定してください。 101 PACKAGE_NOT_EXIST [%1] パッケージ名が指定されましたが、Androidデバ イス上にそのようなパッケージはインストールさ れていません。 %1: パッケージ名 パッケージがデバイス上に存在する か確認してください。 102 ENV_NOT_INITIALIZED Cordova環境が適切に初期化されていません。 技術員に連絡してください。 105 ACTIVITY_NOT_FOUND [%1] 実行するActivityがありません。 %1: Activity 正しいActivityを指定してください。 106 ENV_ERROR [%1] CordovaまたはAndroid上で内部的な例外が発 生しました。 %1: 例外メッセージ 技術員に連絡してください。

戻り値

(17)

1.5.2

使用例

startの使用例を以下に示します。

<!DOCTYPE HTML> <html lang="ja"> <head>

<script type="text/javascript" src="cordova-2.9.0.js"></script> <script type="text/javascript" src="imaps-1.0.0.js"></script> <script type="text/javascript">

document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() {}

function launch_ar(activity) {

imaps.ar.start(onSuccess, onFailure, "com.sample.clientdev", activity, "http://192.0.2.0:9102/webapp/index.html");

}

function onSuccess() {

console.log("AR appli start success"); }

function onFailure() {

console.log("AR appli start failure"); } </script> </head> <body> <button onclick="launch_ar(AR_WEB_MAIN)">ArWebMainActivity</button><br/> <button onclick="launch_ar(AR_LIVE_AUTH)">LiveAuthoringActivity</button><br/> <button onclick="launch_ar(AR_PREFERENCE)">ArPreferenceActivity</button><br/> </body> </html>

1.6 Cordova API

Cordova APIについては、マニュアルDVDの「Apache Cordova Documentation API Reference」を参照してください。

参照

関連したドキュメント

、肩 かた 深 ふかさ を掛け合わせて、ある定数で 割り、積石数を算出する近似計算法が 使われるようになりました。この定数は船

サンプル 入力列 A、B、C、D のいずれかに指定した値「東京」が含まれている場合、「含む判定」フラグに True を

操作内容/項目説明 振込金額を入力します。 【留意点】 ・半角数字(最大10桁)

いてもらう権利﹂に関するものである︒また︑多数意見は本件の争点を歪曲した︒というのは︑第一に︑多数意見は

ヒット数が 10 以上の場合は、ヒットした中からシステムがランダムに 10 問抽出して 出題します。8.

集積ロボット(ROV ※2 +ポンプ)を地下階に投入し、ゼオライトを

 本資料は、宮城県に所在する税関官署で輸出通関又は輸入通関された貨物を、品目別・地域(国)別に、数量・金額等を集計して作成したもので

本資料は、宮城県に所在する税関官署で輸出通関又は輸入通関された貨物を、品目別・地域(国)別に、数量・金額等を集計して作成したもので