Android: как получить пол и возраст пользователя?

У меня есть приложение для Android, которое я хочу настроить автоматически в зависимости от пола и возраста пользователя.

Каковы различные способы получения возраста и пола пользователя? (Которые соответствуют политике Google Play)

Например, есть ли способ получить эту информацию через Службы Google Play?

Благодарю.

Solutions Collecting From Web of "Android: как получить пол и возраст пользователя?"

Вы должны использовать interface Person , у вас будет все, что вам нужно знать о пользователе. (Через getGender() и getBirthday() (или getAgeRange() )

Изменить: для использования, например, предположим getGender (), вы бы сделали что-то вокруг этого:

  GoogleApiClient client = new GoogleApiClient.Builder(this) .addApi(Plus.API) .addScope(Plus.SCOPE_PLUS_LOGIN) .setAccountName("users.account.name@gmail.com") .build(); client.connect(); Person.Gender gender; Person personProfile = Plus.PeopleApi.getCurrentPerson(client); if (person.hasGender()) // it's not guaranteed gender = person.getGender(); 

Альтернативный, возможно, более надежный подход к угадыванию пола вашего пользователя в Android будет касаться стороннего API с адресом электронной почты вашего пользователя, а затем позволить API искать первое имя внутри строки электронной почты, сопоставлять его с базой данных Имена, затем верните вам уровень доверия полов +. Я использовал «Гендерный API» (без аффилиации).

Просто добавьте в AndroidManifest:

 <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 

Затем получите адреса своих пользователей Gmail:

 Pattern pattern = Patterns.EMAIL_ADDRESS; Account[] accounts = AccountManager.get(context).getAccounts(); for (Account account : accounts) { if (pattern.matcher(account.name).matches()) { String emailAddress = account.name // grab each of your user's email addresses } } 

Затем, если вы хотите использовать API, который я использовал, получите ключ от gender-api.com и нажмите эту ссылку для каждого адреса электронной почты:

 https://gender-api.com/get?email=ANDROID_USER_EMAIL_ADDRESS&key=<YOUR_PRIVATE_KEY> 

Этот API возвращает пол и уровень уверенности, и я уверен, что есть другие, которые делают то же самое.