Xamarin.iOS'ta kritik uyarılar
iOS 12 ile uygulamalar kritik uyarılar gönderebilir. Kritik uyarılar, Rahatsız Etmeyin'in etkin olup olmamasına veya zil anahtarının kapalı olmasına bakılmaksızın bir ses çalar. Bu bildirimler kesintiye neden olur ve yalnızca kullanıcıların hemen işlem yapması gerektiğinde kullanılmalıdır.
Özel kritik uyarı yetkilendirmesi
Uygulamanızda kritik uyarıları görüntülemek için önce Apple'dan özel bir kritik uyarı bildirimi yetkilendirmesi isteyin.
Apple'dan bu yetkilendirmeyi aldıktan ve uygulamanızı kullanacak şekilde yapılandırmayla ilgili tüm ilişkili yönergeleri takip ettikten sonra, özel yetkilendirmeyi uygulamanızın Entitlements.plist dosyalarına ekleyin. Ardından iOS Paket İmzalama seçeneklerinizi, uygulamayı hem simülatörde hem de cihazda imzalarken Entitlements.plist kullanacak şekilde yapılandırın.
Yetkilendirme iste
Bir uygulamanın bildirim yetkilendirme isteği, kullanıcıdan bir uygulamanın bildirimlerine izin vermesini veya bildirimlerine izin vermesini ister. Bildirim yetkilendirme isteği kritik uyarıları göndermek için izin isterse, uygulama kullanıcıya kritik uyarıları kabul etme şansı da verir.
Aşağıdaki kod, uygun uyarıları geçirerek hem kritik uyarıları hem de standart bildirimleri ve sesleri göndermek için izin istemektedir UNAuthorizationOptions
için değerler 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;
}
Yerel kritik uyarılar
Yerel kritik uyarı göndermek için UNMutableNotificationContent
ve özelliğini şu şekilde ayarlayın Sound
:
UNNotificationSound.DefaultCriticalSound
, varsayılan kritik bildirim sesini kullanır.UNNotificationSound.GetCriticalSound
, uygulamanız ve ses düzeyiyle birlikte gelen özel bir ses belirtmenize olanak tanır.
Ardından, bildirim içeriğinden bir UNNotificationRequest
oluşturun ve bildirim merkezine ekleyin:
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);
Önemli
Kritik uyarılar uygulamanız için etkinleştirilmediyse teslim edilmeyecektir. Bir uygulama kritik uyarılar göndermek için ilk kez izin istediğinde görüntülenen istemle birlikte, kullanıcı uygulamanızın iOS Ayarlar uygulamasının Bildirimler bölümünde de kritik uyarıları etkinleştirebilir veya devre dışı bırakabilir.
Uzaktan kritik uyarılar
Uzak kritik uyarılar hakkında bilgi için WWDC 2018'deki Kullanıcı Bildirimlerindeki Yenilikler oturumuna ve Uzaktan Bildirim Oluşturma belgesine bakın.