MRが楽しい

MRやVRについて学習したことを書き残す

HoloLensで自作アプリからRemoteAssistを直接起動する

本日は HoloLens2 の小ネタ枠です。
HoloLensで自作アプリからRemoteAssistを直接起動する方法を記事にします。
f:id:bluebirdofoz:20210525225152j:plain

URIに応じた規定アプリの起動

UWPアプリではURIを用いて外部アプリを起動することができます。
更に予めスキームが登録された規定アプリは以下の URI スキームを利用することで起動することができます。

URI に応じた既定のアプリの起動
docs.microsoft.com

URI スキーム 起動対象
bingmaps:, ms-drive-to:, ms-walk-to: Maps アプリ
http: デフォルト Web ブラウザ
mailto: デフォルトメールアプリ
ms-call: 通話アプリ
ms-chat: メッセージングアプリ
ms-people: Peopleアプリ
ms-photos: Photosアプリ
ms-settings: Settingsアプリ
ms-store: MS-Storeアプリ
ms-tonepicker: トーンピッカー
ms-yellowpage: Nearby Numbersアプリ
msnweather: 天気アプリ
microsoft-edge: Microsoft Edgeブラウザ

Dynamics 365 Remote Assist も規定アプリのため、以下のページにある通り、URI スキームが定義されています。

・別のアプリから Dynamics 365 Remote Assist を起動する
docs.microsoft.com

ms-voip-video ビデオ対応の通話
ms-voip-call 音声のみの通話

本スキームは contactids フィールドを指定できます。

ms-voip-video:?contactids=\<contactID\>

contactids にはユーザーの Azure Active Directory (Azure AD) オブジェクト ID を指定します。
オブジェクト ID の確認手順は以下を参照ください。

・ユーザーオブジェクト ID を検索する
docs.microsoft.com

サンプルアプリ

実際に RemoteAssist をアプリ内から呼び出す自作アプリを作成してみます。
f:id:bluebirdofoz:20210525225331j:plain

アプリの呼び出しにボタンオブジェクトを利用するため、Unity プロジェクトに MRTK をインポートします。
MRTK のインポート手順は以下の記事などを参考にしてください
bluebirdofoz.hatenablog.com

RemoteAssist をビデオ対応の通話で起動する以下のサンプルスクリプトを作成しました。
・RemoteAssistLauncher.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.WSA;

public class RemoteAssistLauncher : MonoBehaviour
{
    public void LaunchRemoteAssist()
    {
        // Azure AD のオブジェクトIDを設定する
        // 起動には何かしらのID設定を入力しておく必要がある
        var objectID = "unknown";

        // ms-voip-video を指定するとビデオ通話で RemoteAssist が呼び出される
        var uri = @"ms-voip-video:?contactids=" + objectID;

        // URI を指定して起動する
        // bool 値の指定により URI が安全でない可能性の警告を表示します
        Launcher.LaunchUri(uri, true);
    }
}

f:id:bluebirdofoz:20210525225349j:plain

スクリプトを適当なゲームオブジェクトに設定します。
f:id:bluebirdofoz:20210525225358j:plain

スクリプトの関数を呼び出すボタンイベントを設定してシーンの作成は完了です。
f:id:bluebirdofoz:20210525225408j:plain

HoloLens2での動作確認

HoloLens2 にインストールして動作を確認します。
アプリケーションの HoloLens2 へのインストール手順は以下を参照ください。
bluebirdofoz.hatenablog.com

アプリが起動したらボタンをタップします。
f:id:bluebirdofoz:20210525225433j:plain

ホーム画面を介さず、RemoteAssist が起動します。
これで自作アプリから RemoteAssist を直接起動することができました。
f:id:bluebirdofoz:20210525225441j:plain