メインコンテンツまでスキップ
バージョン: 1.0.1

概要

MiRZA(以降、グラスと称する)本体の各種情報を取得するためのAndroid Libraryです。
グラスと接続しているMiRZAアプリを介してデータ連携を行います。
Spaces AR SDKを組み込んだ「グラス向けアプリ」を開発する際にグラス情報を利用することを目的としたライブラリです。
※グラスとスマートフォン間の接続はMiRZAアプリが担います。

POINT

本ライブラリをグラス向けアプリに組み込むことでグラスの状態をグラス向けアプリが取得できたり、グラス向けアプリからMRモードへの切り替え指示ができるようになります。 グラス状態の確認とMRモードへの切り替え指示を組み合わせれば、MiRZAアプリを経由せずに直接グラス向けアプリを起動することができます ※。

※ スマホとグラスのペアリング処理が完了している状態である必要あり

バージョン

MiRZAアプリとグラスソフトウェアを下記バージョンにアップデートしてからご利用ください。

  • MiRZAアプリ:v1.00.05以上
  • グラスソフトウェア:S240010以上
既知の問題
  • スマホを再起動した場合、MiRZAとスマホが自動で再接続しなくなります。
    • スマホ再起動時は一度MiRZAアプリをスマホのホーム画面から起動してください。
  • MiRZAアプリのメインラインチャーからグラス向けアプリ起動後にタッチセンサーをトリプルタップした場合、MiRZAアプリに戻ったタイミングでキャプチャ撮影が実行される場合があります。

構成


構成

特徴


対象OS

  • Android 13.0(API Level 33)以上を対象とします。

提供形式

  • Android Library(aarファイル)

提供機能一覧

機能種別概要
グラス状態取得グラス状態には以下のデータが含まれます。
1. グラスとスマホのBluetooth接続状態
2. グラスとスマホのWi-Fi接続状態
3. MRモード利用可否
  - Spacesに対応したアプリを表示する「MRモード」が利用できる状態であるかを判断します。
  - 現在MRモードであるかを判断するものではありません。
グラス状態変化通知グラス状態のいずれかが変化した際に最新の状態を通知します。
電池残量 取得 グラスの電池残量(パーセンテージ)を返却します。
電池残量 変化通知 ・残量が15%以下に変化した際に最新の残量を通知します。
・残量が0%に変化した際に通知します。
充電状態 取得 グラスの充電状態(ON/OFF)を返却します。
画面点灯状態 変化通知 画面の点灯状態が変化した際に、画面の点灯状態(ON/OFF)を通知します。
MRモード状態 取得 MRモードであるかの状態(ON/OFF)を返却します。
MRモード状態 変化通知 MRモード状態が変化した際に、MRモード状態(ON/OFF)を通知します。
MRモード起動 変更指示 ・グラスをMRモードに切り替えます。Spacesに対応したアプリを表示するにはMRモード状態がONである必要があります。
・すでにMRモード状態がONの場合はエラーメッセージを結果に返します。
MRモード停止 変更指示 ・グラスのMRモードを終了します。
・すでにMRモード状態がOFFの場合はエラーメッセージを結果に返します。
グラス電源OFF 変化通知 グラスの電源がOFFになった際に通知されます。
グラスタッチセンサー
ジェスチャー情報
変化通知 グラスのタッチセンサーを操作した際に、操作情報を通知します。
マイクモード切替 変更指示 ・グラスのマイクモード切替を行います。
・切替後のマイクモード切替状態を結果に返します。
MiRZAアプリ起動 遷移 ・MRモード状態がONの場合にMiRZAアプリを起動します。
  - 遷移先はコントローラ画面です。
  - MRモード状態がOFFの場合は遷移しません。

MRモードとは

Snapdragon Spaces AR SDKを組み込んだグラス向けアプリを表示するためのモードです。
グラスをMRモードに切り替えてからグラス向けアプリを起動することで、グラス上にコンテンツを表示することが可能になります。

マイクモードとは

グラスでは下記4つのマイクモードを提供しています。

マイクモード
  1. 全方位集音:グラス装着者の音声と全方位の音を集音します。
  2. 装着者集音:グラス装着者の音声のみを集音します。
  3. 周囲集音:グラス周辺の音のみを集音します。装着者の音声は集音されません。
  4. 前方集音:グラス前方の音のみを集音します。装着者の音声は集音されません。

本ライブラリをグラス向けアプリに組み込むことで、アプリからマイクモードを指定できるようになります。

プロジェクトへの組み込み


外部ライブラリとしてaarファイルをプロジェクトに取り込みます。

  • build.gradle

    libsディレクトリにaarファイルを配置した例

dependencies {
implementation files('libs/mirzalibrary-1.0.0-release.aar')
}

動作前提


データ連携を行うにはスマートフォンにv1.00.05以上のMiRZAアプリがインストールされている必要があります。

MiRZAアプリのバージョン

v1.00.05未満の場合、不整合のエラーが返却されるため、利用者に対してMiRZAアプリを最新バージョンにアップデートすることを促してください。
インストールされていない場合はAPI実行時にエラーが返却されます。

また、

  • グラスがペアリングされていないまたは接続が完了していない場合もエラーが返却されます。
  • BluetoothとWi-Fiの両方がつながっているときにのみ動作します。どちらかがつながっていない場合はエラーとなります。

詳細はResult.Stateをご確認ください。

グラス向けアプリ対応

本ライブラリを組み込むことでAndroidManifest.xmlに専用タグを自動設定します。
MiRZAアプリのメインランチャー上のアプリ一覧に「グラス向けアプリ」として表示されるようになります。
  - Spaces AR SDK for Unityの利用が必要です。

利用方法


基本的な利用手順

  • MirzaLibraryクラスを初期化

  • 本ライブラリのLogcat出力設定(デフォルトは出力なし)

  • MiRZAアプリとの接続状態を監視

  • モニタリング開始(MiRZAアプリと連携開始)

  • 各種状態取得機能を実行

  • モニタリング停止(MiRZAアプリと連携終了)

コード例

 // ライブラリ初期化
val mirza = MirzaLibrary()
// Logcatを出力
mirza.setLogEnable(true)
// MiRZAアプリとの接続状態を監視
mirza.setServiceStateCallback { state ->
// 接続状態
}

// モニタリング開始
mirza.startMonitoring(this)

// 各種取得処理
....

// モニタリング停止
mirza.stopMonitoring(this)

取得

状態取得APIには同期取得と非同期取得があります。どちらも取得できるデータはResultクラスです。

コード例

  // (1) グラス状態を取得
val result: Result<GlassStatus> = mirza.glassStatus

// (2) グラス状態を取得(非同期)
mirza.getGlassStatusAsync(object : GlassStatusCallback {
override fun onGlassStatus(result: Result<GlassStatus>) {
// グラス状態結果
}
})

変化通知

状態の変化を通知を受け取るには各データ毎にコールバック登録を行います。通知されるデータはそれぞれのデータクラスです。

コード例

  // グラス状態の変化通知
mirza.setGlassStatusCallback(object : GlassStatusCallback {
override fun onGlassStatusChanged(status: GlassStatus) {
// 変化したグラス状態
}
})

// 電池残量の変化通知
mirza.setBatteryLevelCallback(object : BatteryLevelCallback {
override fun onBatteryLevelChanged(level: Int) {
// 変化した電池残量
}
})

ドキュメント


パッケージを参照してください。

ライブラリの内容

  • ライブラリ

    • mirzalibrary-1.1.0-release.aar
    • Javaで実装された連携ライブラリ本体(AAR形式)です。
  • サンプル

    • mirza_library.tgz にサンプルプロジェクトが含まれます。
    • Package Managerから取り込んでください。

Unityプロジェクトでの利用方法

1. MiRZAライブラリのダウンロード

  1. MiRZAライブラリダウンロードのページにアクセスします。
  2. 以下の項目をクリックしてダウンロードします。
    • 「Unityプロジェクトで連携ライブラリを利用する際のサンプルコード」

2. MiRZAライブラリのインポート

  1. Window > Package Managerで「Add package from tarball...」を選択します。
  1. mirza_library.tgz」を選択して、Unityプロジェクトにインポートします。

3. サンプルのインポート

  1. Package Manager内で「MiRZA Library」を選択します。
  2. 右側のタブの「Samples」を選択して、「Import」をクリックします。