Xamarin FirebaseApp.InitializeApp (this) возвращает ноль в 60.1142.1 - PullRequest
0 голосов
/ 04 июня 2018

Я посмотрел на каждый вопрос в сети, касающийся этой ошибки.Кажется, это было очень распространено в версиях <42.1021.1.Но у меня самая новая версия, и ошибка все еще происходит. </p>

Я добавил свой google-services.json и выбрал соответствующее действие для сборки.Я пытался очистить и восстановить безуспешно.Я также пробовал обходные пути для ошибок в других версиях, таких как добавление тега Target в файл csproj.Я попытался вручную ввести строки из json.

Что бы я ни делал, вызывая FirebaseApp.InitializeApp (this), возвращает ноль, и когда я пытаюсь ссылаться на FirebaseInstanceId.Instance.Token, я получаю очень распространенное исключение:

Java.Lang.IllegalStateException: FirebaseApp по умолчанию не инициализируется в этом процессе. Убедитесь, что сначала вызвали FirebaseApp.initializeApp (Context).

Форумы Github и Xamarin говорят, что это было исправлено с 60.1141.1, этоникогда не был.Я также просмотрел свой csproj, чтобы убедиться, что все ссылки на GoogleServices относятся к самой последней версии.

Я понятия не имею, почему это не сработает, и мне очень скоро это понадобится для работы.Пожалуйста, помогите, если можете.

Я просмотрел следующие ресурсы безуспешно: Получение исключения с помощью Firebase в Xamarin Android https://docs.microsoft.com/en-us/xamarin/android/data-cloud/google-messaging/remote-notifications-with-fcm?tabs=vswin https://bugzilla.xamarin.com/show_bug.cgi?id=56108#c1 FirebaseApp по умолчанию не инициализирован https://forums.xamarin.com/discussion/94464/firebase-cloud-messaging-app-not-initialized Xamarin.android По умолчанию FirebaseApp не инициализируется в этом процессе

и больше я не могу отследить.Почему эта ошибка все еще происходит в этой версии ????

Ответы [ 2 ]

0 голосов
/ 17 июля 2018

У меня была та же проблема, и после некоторого расследования я попытался инициировать ее вручную в методе OnCreate таким образом

var options = new FirebaseOptions.Builder()
  .SetApplicationId("<AppID>")
  .SetApiKey("<APIKey>")
  .SetDatabaseUrl("https://<url>.firebaseio.com")
  .SetStorageBucket("*.appspot.com")
  .SetGcmSenderId("<senderID").Build();
  var fapp = FirebaseApp.InitializeApp(this, options);

  LoadApplication(App);

  PushNotificationManager.ProcessIntent(this, Intent);

Это сработало для меня, и кажется, что процесс сборки "GoogleServiceJson"не работает, что должно сделать это вместо этого.С наилучшими пожеланиями, Томас

0 голосов
/ 05 июня 2018

Я обнаружил свою проблему!После создания фиктивного проекта только с инициализацией Firebase он работал отлично (используя тот же google-services.json).Это было в состоянии инициализировать очень хорошо.

После сравнения проектов я заметил, что предыдущий разработчик определил имя приложения в строках под именем "имя_приложения".Однажды я сделал еще одну строку в «ApplicationName» и сопоставил ее с меткой в ​​моей активности запуска и тегом манифеста приложения, который я смог инициализировать.

Кроме того, мои действия по запуску наследовали AppCompatActivity вместо Activity.До того, как найти вышеупомянутое решение, я создал заставку, которая наследует активность, именно здесь я инициализировал Firebase.Не уверен, требуется ли это для решения или нет.

...