2016-05-03 2 views
1

Я работаю над игрой для Android, где мне нужно получить адрес gmail для пользователей. Я использую класс вспомогательных игр, который предоставляет google, и я использую API-интерфейс google play, а также плюс api. До недавнего времени я использовалGoogle Login: Получение информации о пользователе с игровыми сервисами

Plus.AccountApi.getAccountName(_gameHelper.getApiClient());

Для того, чтобы получить адрес, но этот код амортизируется, так что я не могу его пользователем на некоторых устройствах.

Я попытался получить информацию из информации от onActivityResult от имени пользователя, но намерение возвращается как null. Не только это, но и для доступа к этой информации из Intent, мне нужен API-интерфейс google, который не будет работать с API-интерфейсом воспроизведения. Буду признателен за любую помощь или предложения по этому вопросу. Заранее большое спасибо.

+0

Устаревшее полностью отличается от «не работает» - это, безусловно, делает работу на всех устройствах. – ianhanniballake

+0

Пожалуйста, ознакомьтесь с http://android-developers.blogspot.com/2016/01/play-games-permissions-are-changing-in.html, чтобы узнать, может ли это вам помочь или нет. – BNK

ответ

0

Добавить Google Войти в свой Android App

Настройка Вход в Google:

// 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(); 

// Build a GoogleApiClient with access to GoogleSignIn.API and the options above. 
mGoogleApiClient = new GoogleApiClient.Builder(this) 
    .enableAutoManage(this, this) 
    .addApi(Auth.GOOGLE_SIGN_IN_API, gso) 
    .build(); 

Тогда, когда знак в щелчке по кнопке, запустите знак в намерении:

Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient); 
startActivityForResult(signInIntent, RC_SIGN_IN); 

Пользователю предлагается выбрать учетную запись Google для входа в систему. Если вы запросили области вне профиля, электронной почты и openid, пользователю также будет предложено предоставить доступ к запрошенным ресурсам.

Наконец, обрабатывать результат деятельности:

@Override public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    // Result returned from launching the Intent from 
    // GoogleSignInApi.getSignInIntent(...); 
    if (requestCode == RC_SIGN_IN) { 
     GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data); 
     if (result.isSuccess()) { 
      GoogleSignInAccount acct = result.getSignInAccount(); 
      // Get account information 
      mFullName = acct.getDisplayName(); 
      mEmail = acct.getEmail(); 
     } 
    } 
} 

См: https://developers.google.com/identity/sign-in/android/

+0

Вы не можете использовать это с помощью Google Играйте в игры. – ianhanniballake

+0

Я согласен Я пробовал этот метод раньше, и он столкнулся с проблемой capatability. Я ищу способ получить информацию для входа в Google Play –

Смежные вопросы