Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9703

【Unity(C#)】ネットワーク接続の状態に応じて処理を行う

$
0
0
はじめに OculusQuestでアプリがオフラインかオンラインかに応じた処理が必要になったので調べました。 Application.internetReachability 結論、Application.internetReachabilityを使えばOKです。 状態に応じてEnumを返します。 Enum 状態 NotReachable インターネットに接続していない ReachableViaCarrierDataNetwork キャリアネットワークで接続している ReachableViaLocalAreaNetwork Wi-Fiでネットワークに接続している 【参考リンク】:Unityで作成したアプリにおいて、ネットワーク接続を確認する場合に使う「Application.internetReachability」! バージョン情報 UniRx 7.1.0 Unity 2019.4.8f1 コード ネットーワークの状態に応じてテキストを変更する簡易サンプルです。 ReactivePropertyで状態が変わった時だけ処理するようにしています。 using UniRx; using UnityEngine; using UnityEngine.UI; /// <summary> /// インターネット接続をチェックするサンプル /// </summary> public class NetworkConditionChecker : MonoBehaviour { [SerializeField] private Text networkConditionText; private readonly ReactiveProperty<NetworkReachability> _networkReachReactiveProperty = new ReactiveProperty<NetworkReachability>(); private void Start() { _networkReachReactiveProperty .SkipLatestValueOnSubscribe() .Subscribe(condition => { if (condition == NetworkReachability.NotReachable) { networkConditionText.text = "接続無し"; } else { networkConditionText.text = "接続有り"; } }) .AddTo(this); } private void Update() { _networkReachReactiveProperty.Value = Application.internetReachability; } } デモ 画面下の接続の状態に応じてテキストが変更されました。成功です。 エディター上でも実機上でも変わりなく動作してくれてありがたいです。

Viewing all articles
Browse latest Browse all 9703

Trending Articles