ページの先頭行へ戻る
Interstage AR Processing Server V1.0.1 開発ガイド
FUJITSU Software

2.5.1 各画面共通

2.5.1.1 キャッシュファイル

html5の機能でWebリソースをキャッシュするための設定ファイルです。使用するWebリソースは全てキャッシュします。

CACHE MANIFEST

#ver 20130702_0001

#キャッシュするリソースを指定します。
CACHE:
index.html
prework.html
work.html
comment.html
gyoumu.css
apl_sample/apl.js
ar/ar.js

#サーバに接続する必要のあるリソースを指定します。
NETWORK:
*

#リソースにアクセスできない場合の代替リソースを指定します。
FALLBACK:

2.5.1.2 変数

変数

説明

WebStorage保存

Apl.useScenarioId

number

サンプルアプリケーションで使用するシナリオ。変更可

Apl.operationMode

string

動作モードを保持

Apl.scenarioList

Array<>

シナリオリストを保持。IDをインデックスにしてシナリオ名(name)とシナリオの説明(description)をプロパティに持つオブジェクトを保持。

Apl.scenarioId

number

現在のシナリオIDを保持

Apl.sceneList

Array<>

シーンリストを保持。IDをインデックスにしてシーン名(name)とシーンの説明(description)をプロパティに持つオブジェクトを保持。

Apl.sceneId

number

現在のシーンIDを保持

Apl.superimposedGraphics

Array<Array<>>

シーン、ARマーカー別にAR重畳表示定義を保持する3次元配列。1次:シーンID,2次:ARマーカーID,3次:AR重畳表示定義

Apl.postData

Object

点検値入力時のAR実行サーバに送信するデータ。

query:ARサーバへのクエリ文字列

body:ARサーバに登録するデータ文字列

Apl.userData

Object

最新の点検値データを保持

name:ユーザー名

temperature:点検温度

time:点検時間

Apl.listenerId

string

ARマーカー検知に登録したリスナID

Apl.completionNotice

Object

複数ダウンロード実行時の終了判定用

2.5.1.3 クラス

クラス

説明

プロパティ

Apl.Quad

AR実行サーバのQuadを表現するクラス。

qtypeName

id

qvalues

version

Apl.QValue

AR実行サーバのQvalueを表現するクラス。

qtypeName

qentityid

qattributeName

stringValue

longValue

floatValue

version

Apl.QuadQuery

AR実行サーバのquad検索のクエリを表現するクラス。

type

limitRange

qattributeOrderIndexRange

qtypeNameRange

whereExpressions

sortOrderExpressions

Apl.Range

AR実行サーバのQuadの検索クエリの範囲を表現するクラス。

start

end

Apl.QuadQueryExpression

AR実行サーバのQuadの検索クエリExpressionを表現するクラス。

qattributeNameRanges

qvalueRanges

qvalueType

desc

2.5.1.4 メソッド

メソッド

概要

引数

説明

Apl.noop(result)

何もしないメソッド。コールバック時に何もさせない場合に指定。

reslut : AR.Native.Result

ネイティブの結果オブジェクト

Apl.log(message, detail)

JavaScriptエラーまたは文字列からエラーメッセージを作成してalert表示します。Detailが指定されている場合は追加してログに出力を行います。

message : String または Error

エラーメッセージの本文。

detail : String

ログ出力に使用するエラーの詳細情報

Apl.getLocalStorageData()

WebStorageに保存した全てのデータを取得する。

なし

Apl.*** Error(result)

JavaScriptライブラリ各種APIのonError用メソッド。エラー内容をalert表示する。

result : AR.Native.Result

ネイティブの結果オブジェクト

Apl.makeQuadQuery(qQuery)

QuadQueryクラスからquad検索文字列を生成する。

qQuery: QuadQuery

Apl.QuadQueryオブジェクト

Apl.showOperationMode()

動作モードに応じてhtml表記を変更します。

なし

2.5.1.5 処理

Webストレージ

html、JavaScriptでは画面遷移やアプリケーション中断時に保持していたデータは保存されません。画面遷移後共通で持ちたいデータは全てWebストレージに保存します。画面遷移や中断のタイミングがわからないため、保存対象のデータに変更が起きた時点で逐一保存します。また、すべての画面のonloadでWebストレージからデータを取得しています。

エラー

エラーが発生した場合、JavaScript、ARネイティブどちらの場合でもエラーメッセージをalert表示してログに出力します。

// エラーログを出力します。 
Apl.log = function (_message, _detail) {
  if (_message == null) return;
  var code = 0;
  var message;

  if (_message instanceof Error) { //Errorオブジェクトの場合
    if (typeof _message.code == 'number') code = _message.code;
    message = _message.componentName == null ? _message : _message.componentName + " : " + _message;
    if (_message.cause != null) message += " Cause : " + _message.cause;
  } else message = _message; //それ以外の場合

  //messageはアラートで表示します。
  alert(message);
  //message + detailをログに出力します。
  if (_detail) message += "\n" + detail;
  try {
    AR.Log.log(AR.Log.LevelType.ERROR, code, message, Apl.noop, Apl.logError);
  } catch (e) {
    alert("ログの出力に失敗しました。" + e);
  }
};

  • JavaScriptでエラーが発生した場合

    try {
      AR.Camera.stopCameraView(onSuccess, onError);
    } catch (e) {
      Apl.log(e);
    }
  • ARネイティブでエラーが発生した場合

    onError = function (_result) {
      var message = "カメラの起動に失敗しました。";
      var detail = _result.getStatus() + "\n" + _result.getValue();
      Apl.log(message, detail);
    };