Partager via


Alertes critiques dans Xamarin.iOS

Avec iOS 12, les applications peuvent envoyer des alertes critiques. Les alertes critiques diffusent un son, que l’option Ne pas déranger soit activée ou que le commutateur sonnerie soit désactivé. Ces notifications sont perturbatrices et ne doivent être utilisées que lorsque les utilisateurs doivent prendre des mesures immédiates.

Droit d’alerte critique personnalisé

Pour afficher des alertes critiques dans votre application, commencez par demander un droit personnalisé aux notifications d’alerte critique auprès d’Apple.

Après avoir reçu ce droit d’Apple et suivi les instructions associées sur la configuration de votre application pour l’utiliser, ajoutez le droit personnalisé aux fichiers Entitlements.plist de votre application. Ensuite, configurez vos options de signature de bundle iOS pour utiliser Entitlements.plist lors de la signature de l’application sur le simulateur et l’appareil.

Demander l’autorisation

La demande d’autorisation de notification d’une application invite l’utilisateur à autoriser ou à interdire les notifications d’une application. Si la demande d’autorisation de notification demande l’autorisation d’envoyer des alertes critiques, l’application donne également à l’utilisateur la possibilité d’accepter des alertes critiques.

Le code suivant demande l’autorisation d’envoyer à la fois des alertes critiques et des notifications et des sons standard en transmettant leUNAuthorizationOptions valeurs à 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;
}

Alertes critiques locales

Pour envoyer une alerte critique locale, créez unUNMutableNotificationContent et définissez sa Sound propriété sur :

  • UNNotificationSound.DefaultCriticalSound, qui utilise le son de notification critique par défaut.
  • UNNotificationSound.GetCriticalSound, qui vous permet de spécifier un son personnalisé qui est fourni avec votre application et un volume.

Ensuite, créez un UNNotificationRequest à partir du contenu de notification et ajoutez-le au centre de notifications :

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);

Important

Les alertes critiques ne seront pas remises si elles ne sont pas activées pour votre application. En plus de l’invite qui apparaît la première fois qu’une application demande l’autorisation d’envoyer des alertes critiques, un utilisateur peut également activer ou désactiver les alertes critiques dans la section Notifications de votre application de l’application Paramètres iOS.

Alertes critiques à distance

Pour plus d’informations sur les alertes critiques à distance, consultez la session Nouveautés des notifications utilisateur de WWDC 2018 et le document Génération d’une notification à distance .