Как интегрировать новую функцию входа Google в приложение Xamarin.Android?

Я пытаюсь следовать инструкциям Google по добавлению нового Вход через Google (не старый вход через Google+) в мое приложение Xamarin.Android. На всю жизнь я не могу найти правильный пакет Google Play Services NuGet или компонент Xamarin, который поддерживает новую систему входа.

Когда я добавляю следующий код в действие, я получаю сообщение «Не удалось найти тип или пространство имен« GoogleSignInOptions ». Вам не хватает ссылки на сборку?» ошибка сборки.

// Configure sign-in to request the user's ID, email address, and basic
// profile. ID and basic profile are included in DEFAULT_SIGN_IN.
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN).requestEmail().build();

Вот пакеты NuGet Xamarin.GooglePlayServices, которые включены в проект:

<package id="Xamarin.GooglePlayServices.Ads" version="27.0.0.0" targetFramework="MonoAndroid50" />
<package id="Xamarin.GooglePlayServices.Analytics" version="27.0.0.0" targetFramework="MonoAndroid50" />
<package id="Xamarin.GooglePlayServices.AppIndexing" version="27.0.0.0" targetFramework="MonoAndroid50" />
<package id="Xamarin.GooglePlayServices.Base" version="27.0.0.0" targetFramework="MonoAndroid50" />
<package id="Xamarin.GooglePlayServices.Basement" version="27.0.0.0" targetFramework="MonoAndroid50" />
<package id="Xamarin.GooglePlayServices.Identity" version="27.0.0.0" targetFramework="MonoAndroid50" />
<package id="Xamarin.GooglePlayServices.Location" version="27.0.0.0" targetFramework="MonoAndroid50" />
<package id="Xamarin.GooglePlayServices.Maps" version="27.0.0.0" targetFramework="MonoAndroid50" />
<package id="Xamarin.GooglePlayServices.Plus" version="27.0.0.0" targetFramework="MonoAndroid50" />

Новая система входа через Google еще не поддерживается в Xamarin или я что-то упустил?


person wolfprogrammer    schedule 06.01.2016    source источник


Ответы (1)


Включите предварительные версии nugets и найдите:

Xamarin.GooglePlayServices.Identity 29.0.0-beta1

пакеты.config:

<packages>
  <package id="Xamarin.Android.Support.v4" version="23.1.1.0" targetFramework="MonoAndroid44" />
  <package id="Xamarin.GooglePlayServices.Auth" version="29.0.0-beta1" targetFramework="MonoAndroid44" />
  <package id="Xamarin.GooglePlayServices.Base" version="29.0.0-beta1" targetFramework="MonoAndroid44" />
  <package id="Xamarin.GooglePlayServices.Basement" version="29.0.0-beta1" targetFramework="MonoAndroid44" />
  <package id="Xamarin.GooglePlayServices.Identity" version="29.0.0-beta1" targetFramework="MonoAndroid44" />
</packages>

Версия C# Интеграция входа через Google в ваше приложение для Android

SignInButton button = FindViewById<SignInButton> (Resource.Id.sign_in_button);
gso = new GoogleSignInOptions.Builder (GoogleSignInOptions.DefaultSignIn)
    .RequestEmail ()
    .Build ();
mGoogleApiClient = new GoogleApiClient.Builder (this)
    .EnableAutoManage(mLoginFragment, failedHandler)
    .AddApi (Auth.GOOGLE_SIGN_IN_API)
    .Build ();
button.Click += delegate {
    signIn();
};
person SushiHangover    schedule 06.01.2016
comment
Вы случайно не знаете, когда эти версии будут переведены из бета-версии в рабочую? - person wolfprogrammer; 06.01.2016
comment
Согласно последним примечаниям Cycle6:RS1: бета-версия — начало января 2016 г. и стабильная версия — середина-конец января 2016 г. - person SushiHangover; 06.01.2016
comment
в 2019 году он не работает с xamarin android и Visual Studio. Версия 29.0.0-beta1 недоступна - person JotaPardo; 06.06.2019