Xamarin.iOS에서 중요 한 알림Critical alerts in Xamarin.iOS

IOS 12 사용 하 여 앱 위험 경고를 보낼 수 있습니다.With iOS 12, apps can send critical alerts. 방해 금지 설정 여부에 관계 없이 소리를 재생 하는 중요 한 알림 또는 벨소리 스위치 해제 되어 있습니다.Critical alerts play a sound regardless of whether or not Do Not Disturb is enabled or the ringer switch is off. 이러한 알림은 중단 이며 사용자 즉각적인 작업을 수행 해야 하는 경우에 사용 해야 합니다.These notifications are disruptive and should only be used when users must take immediate action.

중요 한 사용자 지정 경고 자격Custom critical alert entitlement

먼저 앱에서 중요 한 경고를 표시 하도록 중요 한 사용자 지정 경고 알림을 자격 요청 Apple에서.To display critical alerts in your app, first request a custom critical alert notifications entitlement from Apple.

이 자격은 Apple에서 받아 사용 하려면 앱을 구성 하는 방법에 대 한 모든 관련된 지침에 따라 추가 사용자 지정 자격 앱의 Entitlements.plist 파일입니다.After receiving this entitlement from Apple and following any associated instructions about how to configure your app to use it, add the custom entitlement to your app's Entitlements.plist file(s). 그런 다음 구성에 iOS Bundle Signing 옵션을 사용 하 여 Entitlements.plist 시뮬레이터와 장치 모두에서 앱을 서명 하는 경우.Then, configure your iOS Bundle Signing options to use Entitlements.plist when signing the app on both simulator and device.

권한 부여를 요청 합니다.Request authorization

앱의 알림을 허용 하거나 거부 하 라는 메시지를 표시 하는 앱의 알림 인증 요청 합니다.An app's notification authorization request prompts the user to allow or disallow an app's notifications. 알림 권한 부여 요청을 중요 한 경고를 보낼 수 있는 권한 요청 하는 경우 앱에서는 제공 사용자 위험 경고에 옵트인 할 수 있는 기회입니다.If the notification authorization request asks for permission to send critical alerts, the app will also give the user a chance to opt in to critical alerts.

다음 코드를 적절 한 전달 하 여 중요 한 알림 및 표준 알림와 소리를 보낼 수 있는 요청 UNAuthorizationOptionsThe following code requests permission to send both critical alerts and standard notifications and sounds by passing the appropriate UNAuthorizationOptions 값을 RequestAuthorization :values to 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;
}

로컬 중요 한 경고Local critical alerts

로컬 중요 한 경고를 보내도록 만들기를 UNMutableNotificationContentTo send a local critical alert, create a UNMutableNotificationContent 설정 및 해당 Sound 속성을 합니다.and set its Sound property to either:

  • UNNotificationSound.DefaultCriticalSound를 사용 하는 기본 위험 알림 소리 합니다.UNNotificationSound.DefaultCriticalSound, which uses the default critical notification sound.
  • UNNotificationSound.GetCriticalSound앱 및 볼륨에 함께 제공 되는 사용자 지정 하는 사운드를 지정할 수 있습니다.UNNotificationSound.GetCriticalSound, which allows you to specify a custom sound that is bundled with your app and a volume.

그런 다음 만들기를 UNNotificationRequest 알림에서 콘텐츠 및 알림 센터에 추가:Then, create a UNNotificationRequest from the notification content and add it to the notification center:

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

중요

앱에 대 한 활성화 되지 않은 경우 중요 한 알림이 배달 되지 않습니다.Critical alerts will not be delivered if they are not enabled for your app. 첫 번째 나타나는 프롬프트와 함께 중요 한 경고를 보내도록 하나의 앱 사용 권한 요청을 시간, 사용자를 사용 하도록 설정 하거나 앱의 중요 한 경고를 사용 하지 않도록 설정할 수도 있습니다 알림을 ios 섹션 설정을앱.Along with the prompt that appears the first time an app requests permission to send critical alerts, a user can also enable or disable critical alerts in your app's Notifications section of the iOS Settings app.

원격 중요 한 알림Remote critical alerts

원격 위험 경고에 대 한 정보를 참조 하세요 합니다 사용자 알림에서 새 란 WWDC 2018에서 세션 및 원격 알림을 생성 문서.For information about remote critical alerts, please see the What's New In User Notifications session from WWDC 2018 and the Generating a Remote Notification document.