[WWDC18] ユーザーはその通知が本当に必要かどうか受信してみないとわからない。iOS 12に導入されるプッシュ通知をお試しで受信するProvisional Authorization #WWDC18

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

本記事は Apple からベータ版として公開されているドキュメントを情報源としています。 そのため、正式版と異なる情報になる可能性があります。ご留意の上、お読みください。

iOS 12で導入されるプッシュ通知設定のプリセット

iOSのプッシュ通知に関する設定は非常に細かく設定でき、パワーユーザーであれば特に設定方法に困ることはありません。 しかし、パワーユーザーほどではない普通のユーザー(レギュラーユーザー)にとってみれば少し複雑かもしれません。 そのような考えから、レギュラーユーザー向けにiOS 12からプッシュ通知設定にカテゴリという仕組みが導入されます。 これはつまり、プッシュ通知設定のプリセットです。

以下に特徴をまとめてみました。

Deliver Prominently

  • ロックスクリーンに表示
  • 通知センターに表示
  • バナー表示
  • アプリアイコンにバッヂがつく
  • 通知受信時に音を鳴らす

Deliver Quietly

  • 通知センターのみに表示される
  • アプリアイコンにバッヂがつかない
  • 通知受信時に音は鳴らない

これらの設定は、iOS 12で追加される通知のManagement Viewから設定することが出来ます。

Deliver Quietlyを利用したプッシュ通知を試しに受信する機能

そして、前述のDeliver Quietlyを利用したプッシュ通知を試しに受信する機能、「Provisional Authorization」もiOS 12で導入されます。

Provisional Authorizationは以下の特徴を持ちます。

  • これまでのようなプッシュ通知送信の確認ポップアップが表示されない
  • Deliver Quietly なので通知センターのみに表示される(ユーザーの操作の邪魔をしない)
  • ユーザーから見ると、何回か通知を受信してみて、必要なら通知を継続して受信できるし、不要なら通知受信をOFFにできる

セッション動画を見ると、Provisional Authorizationが導入された背景には、「ユーザーは実際にプッシュ通知を受けてみないとそれが自分にとって必要な通知なのかどうかがわからない」という考えが背景にあるようです。

これまでのUNAuthorizationOptionsに.provisionalを追加するだけ

Provisional Authorizationを行うにはこれまでのUNAuthorizationOptionsに.provisionalを追加するだけです。 注意点として、ユーザーが通知を継続して受信する場合を想定して必要に応じてこれまで通り.alert, .badge, .soundを設定する必要があります。

// これまでのUNAuthorizationOptionsに.provisionalを追加するだけ!
let options: UNAuthorizationOptions = [.alert, .badge, .sound, .provisional]
UNUserNotificationCenter.current().requestAuthorization(options: options) { granted, error in
}

おわりに

今回はiOS 12で追加されるDeliver Quietlyについてと、それを利用したProvisional Authorizationについてご紹介しました。 現状は起動時にプッシュ通知送信の確認ポップアップが表示されるアプリが多い印象ですが、Deliver Quietlyを使用すればよりユーザーに寄り添ったプッシュ通知体験が提供できそうです。

参考