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에서이 자격을 수신 하 고 앱을 사용 하도록 구성 하는 방법에 대 한 연결 된 지침에 따라 앱의 info.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). 그런 다음 시뮬레이터와 장치 모두에서 앱에 서명 하는 경우 info.plist 를 사용 하도록 iOS 번들 서명 옵션을 구성 합니다.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. 알림 권한 부여 요청에서 중요 한 경고를 보낼 수 있는 권한을 요청 하면 앱은 사용자에 게 중요 한 경고를 옵트인 (opt in) 할 수 있는 기회를 제공 합니다.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

중요 한 로컬 경고를 보내려면 UNMutableNotificationContent 를 만듭니다.To 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.