本日は Unity の小ネタ枠です。
Unity で NetworkReachability を使ってネットワークの疎通確認をする方法を記事にします。
NetworkReachability
UnityEngine.Application.internetReachability でネットワークが外部からアクセス可能な状態かチェックできます。
以下の3通りの結果が返ります。
NotReachable | ネットワークが使えない |
ReachableViaCarrierDataNetwork | キャリアネットワークでアクセス可能 |
ReachableViaLocalAreaNetwork | WiFiでアクセス可能 |
サンプルスクリプト
以下のサンプルスクリプトを作成して動作を確認してみました。
・NetworkReachabilityTest.cs
using System.Collections; using System.Collections.Generic; using UnityEngine; public class NetworkReachabilityTest : MonoBehaviour { void Start() { // ネットワークが使えない場合 if (Application.internetReachability == NetworkReachability.NotReachable) { Debug.Log("Not Reachable."); } // キャリアネットワークでアクセス可能な場合 else if (Application.internetReachability == NetworkReachability.ReachableViaCarrierDataNetwork) { Debug.Log("Reachable via carrier data network."); } // WiFi でアクセス可能な場合 else if (Application.internetReachability == NetworkReachability.ReachableViaLocalAreaNetwork) { Debug.Log("Reachable via Local Area Network."); } } }
シーンを再生するとネットワークの接続状況に応じてログメッセージが変化するのを確認できます。