1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Unityで作成したアプリにおいて、ネットワーク接続を確認する場合に使う「Application.internetReachability」!

Last updated at Posted at 2020-07-25

筆者の環境:OS:Windows10, Unity 2019.3.5f1 使用言語:C#
利用Asset:DOTween,Destructible2D
筆者のプログラミング歴:2020年1月よりUnity上でC#の勉強を開始。

#ネットワークに接続しているかどうかを確認してくれる「Application.internetReachability」

初制作ゲームにて、Admob広告を掲載したのですがその際に、

『広告のLoadを待たずにゲームを開始すると、バナー広告の操作が上手くいかず、消すべき時に消せない。』

という不具合が出たので、広告のLoadが完了するまで、スタートボタンを表示させない、という無理やりな方法で
不具合を回避していました。
その為、インターネット接続していない端末はスタート出来ないので、それに対しての回避策を用意する、という更に面倒な事になっています。
今思えば、愚策中の愚策ですね。

現在開発中のゲームでもランキングを搭載予定なのもあり、ネットワーク接続しているかどうかの確認が出来れば、この問題は簡単に解決出来ると思い、調べてみました!
すぐ見つかりました(というか、一度調べてました)。

Application.internetReachabilityを使えば、ネットワーク接続しているかどうかの確認どころか、接続しているネットワークがWi-Fiなのかキャリアネットワーク(4Gとかですね)なのか?も、わかるそうです。

 ●NotReachable : インターネットに接続していない
 ●ReachableViaCarrierDataNetwork : キャリアネットワークで接続している
 ●ReachableViaLocalAreaNetwork : Wi-Fiでネットワークに接続している

以下、実装例。

void CheckNetwork()
    {        
        if (Application.internetReachability == NetworkReachability.NotReachable)
        {            
            Debug.Log("ネットワーク接続無し");
        }
        else if(Application.internetReachability == NetworkReachability.ReachableViaCarrierDataNetwork)
        {
            Debug.Log("キャリアネットワークに接続");
        }
        else if((Application.internetReachability == NetworkReachability.ReachableViaLocalAreaNetwork)
        {           
            Debug.Log("Wi-Fiネットワークに接続");
        }
    }

実際スマホアプリで使用する場合は、ネットワーク接続が無ければ、警告を表示するとかになりますね。
今回の筆者の場合は、スタートボタンは最初から表示しておいて、ボタンを押した時に広告Loadとネットワーク接続の確認をして、それぞれ処理を行う、って感じで実装する事になると思います。

ここまで読んでいただき、ありがとうございました。

参考にさせていただいたサイト:エクスプラボ 様
https://ekulabo.com/network-reachability

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?