Мое приложение в настоящее время доступно только на внутренней тестовой версии. Он запускается без ошибок при запуске из Android Studio, но когда я загружаю его в Google Play, удаляю со своего телефона, а затем загружаю и устанавливаю, когда я пытаюсь запустить его, следующий код возвращает значение null для document.get("Best level"), document.get("Наилучшее количество слов"), document.get("Наилучшая длина слова") и document.get("Воспроизводить звуки").

Вот код:
Private static Final String FSBESTLEVEL = "Лучший уровень"; Private static Final String FSBESTNUMWORDS = "Наилучшее количество слов"; Private static Final String FSBESTWORDLEN = "Наилучшая длина слова"; Private static Final String FSSOUNDS = "Воспроизвести звуки"; частная пустота getSettings() { spinner.setVisibility(View.VISIBLE); mDevIDDocRef.get().addOnCompleteListener(новый OnCompleteListener() { // mDevIDDocRef.get(Source.SERVER).addOnCompleteListener(новый OnCompleteListener() { @Override public void onComplete(@NonNull Task Task) { если (task.isSuccessful()) { DocumentSnapshot document = Task.getResult(); утвердить документ!= ноль; если (document.exists()) { // Обработка устаревшего поля «Лучший результат», которое было Нить. // Все документы, содержащие непустой балл иметь // уже преобразован в Long. if (document.get(FSBESTSCORE) экземпляр строки) { updateFieldType(BEGINNER_TIME/1000L); мойScore = BEGINNER_TIME/1000; } еще { myScore = (Long)document.get(FSBESTSCORE); } level_val = ((Длинный) Objects.requireNonNull(document.get(FSLEVEL))).intValue(); if (document.get(FSBESTLEVEL) == null) { best_level_val = 0; updateBestLevel (level_val); } еще { best_level_val = ((Long)document.get(FSBESTLEVEL)).intValue(); } num_words_val = ((Длинное) Objects.requireNonNull(document.get(FSNUMWORDS))).intValue(); if (document.get(FSBESTNUMWORDS) == null) { best_num_words_val = 0; updateBestNumwords (num_words_val); } еще { best_num_words_val = ((Long)document.get(FSBESTNUMWORDS)).intValue(); } if (document.get(FSBESTWORDLEN) == null) { best_word_length_val = 0; updateBestWordLength (best_word_length_val); } еще { best_word_length_val = ((Long)document.get(FSBESTWORDLEN)).intValue(); } word_length_val = ((Длинный) Objects.requireNonNull(document.get(FSWORDLEN))).intValue(); order_important_val = (логическое значение) document.get(FSORDER); если (document.get(FSSOUNDS) == null) { play_sounds_val = правда; updatePlaySounds (play_sounds_val); } еще { play_sounds_val = (логическое значение) document.get(FSSOUNDS); } uname = (String) document.get(FSUSERNAME); button_continue.setEnabled(истина); // Если имя пользователя не задано, покажите подсказку и не позволяйте пользователю // переходим на следующую страницу, пока они не войдут на одну. if (uname == null || uname.length() == 0) { no_screen_name = правда; имя_экрана_prompt.setVisibility(View.VISIBLE); имя_экрана_fld.setVisibility(View.VISIBLE); } еще { no_screen_name = ложь; имя_экрана_prompt.setVisibility(View.INVISIBLE); screen_name_fld.setVisibility(View.INVISIBLE); } savePrefs(myScore, level_val, best_level_val, num_words_val, best_num_words_val, word_length_val, best_word_length_val, order_important_val, play_sounds_val, androidID, uname); spinner.setVisibility(View.INVISIBLE); } еще { создатьПользовательскийДокумент(); } } еще { Log.e(TAG, «ошибка getSettings()» + Task.getException()); Toast.makeText(context, «ошибка getSettings()» + Task.getException(), Toast.LENGTH_LONG).show(); крашlytics.log(Objects.requireNonNull(Objects.requireNonNull(task.getException()).getMessage())); level_val =sharedPref.getInt(FSLEVEL, 0); num_words_val =sharedPref.getInt(FSNUMWORDS, 0); word_length_val =sharedPref.getInt(FSWORDLEN, 0); order_important_val =sharedPref.getBoolean(FSORDER, false); play_sounds_val =sharedPref.getBoolean(FSSOUNDS, true); spinner.setVisibility(View.INVISIBLE); } } }); }