Уникальный идентификатор пользователя Google Play Market / appstore
Есть ли способ точно идентифицировать пользователя приложения Android/ IOS, не прося его зарегистрироваться в Google/ Email/ Facebook?
Я хотел бы реализовать это: пользователь загружает приложение из PlayMarket/AppStore, приложение каким-то образом идентифицирует его и отправляет данные об этом пользователе на сервер. Под "данными об этом пользователе" я подразумеваю только данные, собранные на основе действий пользователя в приложении, таких как различные настройки и настройки. Если пользователь удалит приложение и снова установит его на другое устройство, но с той же учетной записью Google, он должен быть правильно идентифицирован как тот, кто использовал приложение ранее.
1 ответ
В Android вы можете получить адрес электронной почты, не спрашивая пользователя, если он / она вошел в учетную запись Google на устройстве:
Account account = getAccount(AccountManager.get(getApplicationContext()));
if (account == null) {
String accountName = "user did not provide email";
} else {
String accountName = account.name;
}
public static Account getAccount(AccountManager accountManager) {
Account[] accounts = accountManager.getAccountsByType("com.google");
Account account;
if (accounts.length > 0) {
account = accounts[0];
} else {
account = null;
}
return account;
}
Другой способ, вы можете взять идентификатор устройства. Но это не выполнит вас, если пользователь меняет устройство и не вошел в учетную запись Google. Чтобы получить идентификатор устройства:
import android.provider.Settings.Secure;
String deviceId = Secure.getString(getContext().getContentResolver(),
Secure.ANDROID_ID);