plugin notificaciones c# xamarin xamarin.forms azure-notificationhub

c# - notificaciones - Agregar una etiqueta a un NotificationHub en el método OnRegistered



xamarin forms push notifications firebase (1)

Use una Task.Run para obtener el proceso de registro fuera del hilo principal de la interfaz de usuario.

await Task.Run(() => { // your register code here... });

En mi solicitud después de iniciar sesión con éxito me gustaría registrarme en NotificationHub con una etiqueta, donde la etiqueta es una dirección de correo electrónico.

El siguiente escenario funciona bien en iOS:

MessagingCenter.Subscribe<LoginViewModel, string>(this, MessagesId.RegisterForPush, (s, arg) => { NSSet tags = new NSSet(arg); // create tags if you want Hub.RegisterNativeAsync(deviceToken, tags, (errorCallback) => { if (errorCallback != null) Console.WriteLine("RegisterNativeAsync error: " + errorCallback.ToString()); }); });

pero equivalente para Android arroja una NetworkOnMainThreadException :

MessagingCenter.Subscribe<LoginViewModel, string>(this, MessagesId.RegisterForPush, (s, arg) => { var tags = new List<string>() { arg }; try { var hubRegistration = Hub.Register(registrationId, tags.ToArray()); } catch (Exception ex) { Log.Error(PushHandlerBroadcastReceiver.TAG, ex.Message); } });

¿Tienes alguna idea de cómo resolver este problema?