![[Xamarin] ネットワーク状態確認を Connectivity Plugin から Xamarin.Essentials に移行してみた](https://devio2023-media.developers.io/wp-content/uploads/2019/07/eyecatch_xamarin_2.png)
[Xamarin] ネットワーク状態確認を Connectivity Plugin から Xamarin.Essentials に移行してみた
Xamarin製アプリでネットワーク状態を確認する方法について、「ConnectivityPlugin」から「Xamarin.Essentials」に移行してみました。
2020.11.16
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
Xamarin製アプリでネットワーク状態を確認するとき、下記のライブラリにお世話になっています。
- https://github.com/jamesmontemagno/ConnectivityPlugin
 
このネットワーク状態確認の機能をXamarin.Essentialsに移行してみました。
Xamarin.EssentialsのConnectivityに移行する
既存プロジェクトにXamarin.Essentialsを導入(更新)する
Xamarin.Essentialsを導入します。
コードを修正する
変更前のコード
Xam.Plugin.Connectivityを使用しているコード例です。
using Plugin.Connectivity;
namespace Sample.Models
{
    public class Sample
    {
        public Sample()
        {
            if (CrossConnectivity.Current.IsConnected)
            {
                // ネットワーク接続: OK
            }
            else
            {
                // ネットワーク接続: NG
            }
        }
    }
}
変更後のコード
Xamarin.Essentialsを使用するように変更したコードです。NetworkAccess.Internet以外の値や他のメソッド等については、ドキュメントを参照してください。
using Plugin.Connectivity;
namespace Sample.Models
{
    public class Sample
    {
        public Sample()
        {
            if (Connectivity.NetworkAccess == NetworkAccess.Internet)
            {
                // ネットワーク接続: OK
            }
            else
            {
                // ネットワーク接続: NG
            }
        }
    }
}
なお、上記はインターネットにアクセスしているかを判定していますが、保証はされていません(Wi-Fi接続されているが、ルーターから先がインターネット接続されていない場合など)。
ConnectivityPluginを削除
最後に今まで使っていたConnectivityPluginを削除します。ありがとうございました!










