Je fais face à un problème avec get token de firebase (notification push)
Default FirebaseApp is not initialized in this process com.ready_apps.Nebka.Business. Make sure to call FirebaseApp.initializeApp(Context) first.
même j'ai appelé FirebaseApp.InitializeApp (this); dans beaucoup d'endroits
MyApplication (qui étend Application), dans onCreate of Activity où j'appelle FirebaseInstanceId.Instance?.Token;
Edit: Ce bogue a été corrigé dans la version 57.1104.0-beta1 de Xamarin.Firebase.
Cette erreur semble être présente dans les versions les plus récentes de Firebase pour Xamarin. Je rencontre également cette erreur à compter d’aujourd’hui, avec la dernière version stable 42.1021.1. (L'erreur est également présente dans la dernière version bêta).
J'ai trouvé qu'un rapport de bogue a été déposé pour le problème ici .
Comme indiqué dans le rapport de bogue, la suppression des dossiers/obj et/bin de votre projet Android et/ou le nettoyage du projet dans Visual Studio devrait résoudre le problème temporairement jusqu'à ce que vous mettiez à jour toute ressource susceptible de modifier le fichier Resource.Designer.cs. .
Il est également possible de passer à une ancienne version de Firebase et des services Google Play avant qu’une solution permanente ne soit disponible. Je n'ai pas rencontré cette erreur sur Firebase et la version 32.961.0 des services Google Play, par exemple.
Il suffit de nettoyer la solution une fois et de relancer l'application.
Ce bogue est déjà signalé à Xamarin. https://bugzilla.xamarin.com/show_bug.cgi?id=56108
Cette solution est fournie dans leur fil de commentaire. Elle pourrait être corrigée dans la nouvelle version du package xamarin NuGet.
Je n'ai pas résolu le problème, mais je trouve ce problème en mode débogage uniquement.
J'ai appelé cette méthode onCreate () dans activit j'ai besoin de demander le jeton
FirebaseInstanceId.Instance?.Token
voici la méthode
private void ConfigureFireBase()
{
#if DEBUG
try
{
Task.Run(() =>
{
var instanceId = FirebaseInstanceId.Instance;
instanceId?.DeleteInstanceId();
//Log.Debug("TAG", "{0} {1}", instanceId?.Token?.ToString(), instanceId.GetToken(GetString(Resource.String.gcm_defaultSenderId), Firebase.Messaging.FirebaseMessaging.InstanceIdScope));
});
// For debug mode only - will accept the HTTPS certificate of Test/Dev server, as the HTTPS certificate is invalid /not trusted
ServicePointManager.ServerCertificateValidationCallback += (o, certificate, chain, errors) => true;
}catch (Exception e)
{
Log.Debug("TAG", e.Message);
}
#endif
}