Sdílet prostřednictvím


Kritická upozornění v Xamarin.iOS

V iOSu 12 můžou aplikace odesílat kritická upozornění. Kritické výstrahy přehrají zvuk bez ohledu na to, jestli je zapnutá nebo nerušit, nebo je přepínač vyzvánění vypnutý. Tato oznámení jsou rušivá a měla by se používat jenom v případě, že uživatelé musí provést okamžitou akci.

Vlastní nárok na kritickou výstrahu

Pokud chcete v aplikaci zobrazit kritická upozornění, požádejte nejprve o vlastní nárok na oznámení o kritických upozorněních od Společnosti Apple.

Jakmile obdržíte tento nárok od společnosti Apple a postupujte podle přidružených pokynů ke konfiguraci aplikace tak, aby ji používala, přidejte vlastní nárok do souborů Entitlements.plist vaší aplikace. Potom nakonfigurujte možnosti podepisování sady prostředků pro iOS tak, aby při podepisování aplikace na simulátoru i zařízení používaly entitlements.plist .

Žádost o autorizaci

Žádost o autorizaci oznámení aplikace vyzve uživatele, aby povolil nebo nepovolil oznámení aplikace. Pokud žádost o autorizaci oznámení požádá o oprávnění k odesílání kritických výstrah, aplikace také uživateli poskytne možnost přihlásit se k kritickým výstrahám.

Následující kód požaduje oprávnění k odesílání kritických upozornění i standardních oznámení a zvuků předáním příslušného kódu. UNAuthorizationOptions hodnoty do 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;
}

Místní kritická upozornění

Pokud chcete odeslat místní kritickou výstrahu, vytvořte UNMutableNotificationContent a nastavte jeho Sound vlastnost na jednu z těchto vlastností:

  • UNNotificationSound.DefaultCriticalSound, který používá výchozí zvuk kritického oznámení.
  • UNNotificationSound.GetCriticalSound, který umožňuje zadat vlastní zvuk, který je součástí vaší aplikace a hlasitosti.

Pak z obsahu oznámení vytvořte obsah UNNotificationRequest oznámení a přidejte ho do centra oznámení:

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

Důležité

Kritická upozornění nebudou doručena, pokud nejsou pro vaši aplikaci povolená. Kromě výzvy, která se zobrazí při prvním zobrazení žádosti aplikace o oprávnění k odesílání kritických výstrah, může uživatel také povolit nebo zakázat kritické výstrahy v části Oznámení vaší aplikace v aplikaci pro iOS Nastavení.

Vzdálená kritická upozornění

Informace o vzdálených kritických výstrahách najdete v relaci Co je nového v oznámeních uživatelů z WWDC 2018 a v dokumentu Generování vzdáleného oznámení .