Как проверить, когда пользователь впервые использовал мое приложение

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

Изменить (для большей точности): я хочу сохранить номер идентификатора пользователя на моем сервере sql, и я хочу, чтобы каждый пользователь создавал пароль при первой загрузке, но я также хочу, чтобы у них была возможность выбрать "Уже иметь учетную запись", чтобы они могли синхронизировать свои учетные записи на разных устройствах

3 ответа

Как упоминается в "Недопустимом аргументе", наиболее надежным способом является использование сервера, поскольку, если вы используете предпочтение Shared, пользователь может удалить данные или перейти на другое устройство и, по-видимому, быть совершенно новым пользователем.

Если вы не хотите беспокоиться о создании и управлении собственным сервером, вы можете использовать API Google Cloud Save API. Когда ваше приложение запустится, проверьте существующие данные в облаке. Если там ничего нет, новый пользователь создаст данные. Это должно быть так просто.


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


Глобалы

String _StrCode="";
SharedPreferences preferences;
String _responseCode=null;

В oncreate, но перед установкой проверки содержимого

@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 this.requestWindowFeature(Window.FEATURE_NO_TITLE);
 preferences = getSharedPreferences("mypref", 0); 
 _StrCode= preferences.getString("Code", _StrCode);
 if(_StrCode.equalsIgnoreCase("")){
 setContentView(R.layout.activity_qdc_status__launcher);
 // here you can assign a value to 
 _StrCode ="some value";
 Editor prefsEditor = preferences .edit();
 prefsEditor.putString("Code",_StrCode);
 prefsEditor.commit();
 }else{
 Intent _in= new Intent(firstscreen,secondscreen.class);
 startActivity(_in);
 finish();
 }
}

Я надеюсь, что это остановит вас и его легко понять.

licensed under cc by-sa 3.0 with attribution.