Xamarin.Essentials の使用を開始する

Xamarin.Essentials には、任意の iOS、Android、または UWP アプリケーションと連携する単一のクロスプラットフォーム API が用意されていて、ユーザー インターフェイスがどのように作成されたかを問わず共有コードからアクセスできます。 サポートされているオペレーティング システムについて詳しくは、プラットフォームと機能のサポート ガイドに関するページをご覧ください。

インストール

Xamarin.Essentials は、NuGet パッケージとして入手でき、Visual Studio のすべての新しいプロジェクトに含められます。 また、次の手順で Visual Studio を使用して既存のプロジェクトに追加することもできます。

  1. Xamarin 用の Visual Studio ツールと共に、Visual Studio をダウンロードしてインストールします。

  2. 既存のプロジェクトを開くか、Visual Studio C# (Android、iPhone と iPad、またはクロスプラットフォーム) の下の空のアプリ テンプレートを使用して新しいプロジェクトを作成します。

    重要

    UWP プロジェクトに追加する場合、プロジェクトのプロパティにビルド 16299 以上が設定されていることを確認します。

  3. 各プロジェクトに Xamarin.Essentials NuGet パッケージを追加します。

    ソリューション エクスプローラー パネルでソリューション名を右クリックし、 [NuGet パッケージの管理] を選択します。 Xamarin.Essentials を検索し、Android、iOS、UWP、.NET Standard の各ライブラリを含め、すべてのプロジェクトにパッケージをインストールします。

  4. Xamarin.Essentials への参照を任意の C# クラスに追加し、API を参照します。

    using Xamarin.Essentials;
    
  5. Xamarin.Essentials では、プラットフォーム固有の設定が必要です。

    Xamarin.Essentials では最低限の Android バージョン 4.4 (API レベル 19 に対応) がサポートされていますが、コンパイルのターゲットの Android バージョンは 9.0 または 10.0 (API レベル 28 およびレベル 29 に対応) である必要があります。 (Visual Studio では、これらの 2 つのバージョンは、[Android マニフェスト] タブ内の、Android プロジェクトの [プロジェクトのプロパティ] ダイアログで設定されます。Visual Studio for Mac では、これらは [Android アプリケーション] タブ内の、Android プロジェクトの [プロジェクト オプション] ダイアログで設定されます。)

    Android 9.0 に対してコンパイルする場合、Xamarin.Essentials では、必要とされているバージョン 28.0.0.3 の Xamarin.Android.Support ライブラリがインストールされます。 アプリケーションで必要となるその他の Xamarin.Android.Support ライブラリも、NuGet パッケージ マネージャーを使用してバージョン 28.0.0.3 に更新する必要があります。 アプリケーションで使用される Xamarin.Android.Support ライブラリはすべて同じであり、かつ少なくともバージョン 28.0.0.3 以上である必要があります。 ソリューションでの Xamarin.Essentials の NuGet の追加や NuGet の更新で問題が発生する場合は、トラブルシューティングのページを参照してください。

    バージョン 1.5.0 以降では、Android 10.0 に対してコンパイルする場合、Xamarin.Essentials では、必要とされている AndroidX サポート ライブラリがインストールされます。 まだ移行を行っていない場合は、AndroidX のドキュメントに目を通してください。

    Android プロジェクトの MainLauncher、または起動されるすべての Activity では、OnCreate メソッド内で Xamarin.Essentials を初期化する必要があります。

    protected override void OnCreate(Bundle savedInstanceState) {
        //...
        base.OnCreate(savedInstanceState);
        Xamarin.Essentials.Platform.Init(this, savedInstanceState); // add this line to your code, it may also be called: bundle
        //...
    

    Android 上で実行時のアクセス許可を処理するには、OnRequestPermissionsResult で、すべての Xamarin.Essentials を受け取る必要があります。 すべての Activity クラスに次のコードを追加します。

    public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Android.Content.PM.Permission[] grantResults)
    {
        Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
    
        base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
    }
    
  6. Xamarin.Essentials のガイドに従ってください。各機能に対するコード スニペットをコピーして貼り付けることができます。

Xamarin.Essentials - モバイル アプリ用のクロスプラットフォーム API (ビデオ)。

その他の参照情報

Xamarin を使用したことがない開発者は、Xamarin 開発の概要に関するページを参照することをお勧めします。

現在のソース コード、今後の導入されることの内容、サンプルの実行、リポジトリの複製について確認するには、Xamarin.Essentials の GitHub リポジトリにアクセスしてください。 コミュニティへの投稿も歓迎します。

のすべての機能について、API ドキュメントXamarin.Essentialsを参照します。