Alertas críticos no Xamarin.iOS
Com o iOS 12, os aplicativos podem enviar alertas críticos. Os alertas críticos reproduzem um som, independentemente de Não Incomodar estar ou não habilitado ou se a opção do toque estiver desativada. Essas notificações são disruptivas e só devem ser usadas quando os usuários devem tomar medidas imediatas.
Direito de alerta crítico personalizado
Para exibir alertas críticos em seu aplicativo, primeiro solicite um direito personalizado de notificações críticas de alerta da Apple.
Depois de receber esse direito da Apple e seguir as instruções associadas sobre como configurar seu aplicativo para usá-lo, adicione o direito personalizado aos arquivos Entitlements.plist do aplicativo. Em seguida, configure as opções de Assinatura de Pacote do iOS para usar Entitlements.plist ao assinar o aplicativo no simulador e no dispositivo.
Solicitar autorização
A solicitação de autorização de notificação de um aplicativo solicita que o usuário permita ou não as notificações de um aplicativo. Se a solicitação de autorização de notificação solicitar permissão para enviar alertas críticos, o aplicativo também dará ao usuário a chance de aceitar alertas críticos.
O código a seguir solicita permissão para enviar alertas críticos e notificações e sons padrão passando o apropriadoUNAuthorizationOptions
valores para RequestAuthorization
:
public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
{
UNUserNotificationCenter center = UNUserNotificationCenter.Current;
var options = UNAuthorizationOptions.Alert | UNAuthorizationOptions.Sound | UNAuthorizationOptions.CriticalAlert;
center.RequestAuthorization(options, (bool success, NSError error) => {
// ...
);
return true;
}
Alertas críticos locais
Para enviar um alerta crítico local, crie umUNMutableNotificationContent
e defina sua Sound
propriedade como:
UNNotificationSound.DefaultCriticalSound
, que usa o som de notificação crítica padrão.UNNotificationSound.GetCriticalSound
, que permite especificar um som personalizado que é agrupado com seu aplicativo e um volume.
Em seguida, crie um UNNotificationRequest
com base no conteúdo da notificação e adicione-o ao centro de notificações:
var content = new UNMutableNotificationContent()
{
Title = "Critical alert title",
Body = "Text of the critical alert",
CategoryIdentifier = "my-critical-alert-category",
// Sound = UNNotificationSound.DefaultCriticalSound
Sound = UNNotificationSound.GetCriticalSound("my_critical_sound.m4a", 1.0f)
};
var request = UNNotificationRequest.FromIdentifier(
Guid.NewGuid().ToString(),
content,
UNTimeIntervalNotificationTrigger.CreateTrigger(3, false)
);
var center = UNUserNotificationCenter.Current;
center.AddNotificationRequest(request, null);
Importante
Os alertas críticos não serão entregues se não estiverem habilitados para seu aplicativo. Junto com o prompt que aparece na primeira vez que um aplicativo solicita permissão para enviar alertas críticos, um usuário também pode habilitar ou desabilitar alertas críticos na seção Notificações do aplicativo do aplicativo configurações do iOS.
Alertas críticos remotos
Para obter informações sobre alertas críticos remotos, consulte a sessão Novidades nas Notificações do Usuário do WWDC 2018 e o documento Gerando uma notificação remota .