夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

HoloLensでアプリ内でネットワーク状態を取得する。

本日はHoloLensの調査枠です。

HoloLensではSIMに対応しているモデルは2021年現在存在しないため、Wi-Fiに接続して使用することが一般的です。

もちろん屋外などWi-fiに接続しない使い方もできますが、アプリによってはネットワーク接続が必須のものもあります。

例を挙げるとするとAzureを使用したものやPhotonを使用しているものなど通信が発生しているものです。

ネットワークに接続していない場合アプリ内でユーザーにネットワークに接続するようメッセージを出すようにします。

〇Application.internetReachability

[Application.internetReachability]はUnityで提供されているデバイスのネットワーク接続状況を取得するAPIです。

docs.unity3d.com

変数として、[NotReachable](ネットワークが使えない)、ReachableViaCarrierDataNetworkReachableViaLocalAreaNetworkという3つが取得できます。

スクリプト

今回は以下のようなスクリプトを描きました。

using TMPro;
...

   [serializefield] TextMeshPro _StatiusText;

    void Start()
    {
         _isFirstTime = true;
        //Get network status when app starts
        if (Application.internetReachability == NetworkReachability.NotReachable )
            _StatiusText.text = "No Internet connection. \n Connect to the Internet.";
        if (Application.internetReachability == NetworkReachability.ReachableViaCarrierDataNetwork)
        {
            _StatiusText.text = "Conected Internet";
        }
    }

バイスがインターネットに接続されていない場合、インターネットに接続するようにメッセージを表示します。

〇実機で確認

実機でネットワークに接続していない状況で確認すると次のようになります。

f:id:Holomoto-Sumire:20210908212333j:plain

以上で確認作業が完了しました。