【Swift】UNNotificationRequestとは?使い方や引数の意味、活用シーンをわかりやすく解説!

B!

iOSアプリでローカル通知を送信したいときに必要なのが UNNotificationRequest です。

  • 「アプリを閉じていても決まった時間にリマインダーを送りたい」
  • 「タスクの期限前に通知したい」

といったニーズを簡単に実現できます。

この記事では UNNotificationRequest の 基本的な意味使い方主要な引数よくある活用シーン を初心者向けにわかりやすく解説します。

UNNotificationRequest とは?

UNNotificationRequestUserNotifications フレームワークの中で、通知をシステムに依頼するためのクラス。

iOSアプリが「この内容の通知を、このタイミングで送ってください」とシステムにお願いするためのオブジェクトです。

簡単に言うと:

  • 何を通知するか(タイトル、メッセージ)
  • いつ通知するか(5分後、毎日午前9時など)
  • どの通知か識別するID

これらをまとめて一つのオブジェクトにし、iOSの通知システムに登録します。

つまり「どんな通知を、いつ送るか」を具体的に指定するための“依頼書”のような存在です。

基本的な使い方

まずは基本の例を見てみましょう。

以下のコードは、通知の許可を取得したあとで、ボタンを押してから 5秒後に通知 を配信するものです。

この例では content(通知内容)trigger(タイミング) を指定し、それらをまとめて UNNotificationRequest として通知センターに登録しています。

主要な引数の意味

UNNotificationRequest のイニシャライザは次の形です。

この UNNotificationRequest を作る際に指定する3つの引数を詳しく見てみましょう。

1. identifier(識別ID)

identifier では、通知を識別するIDを指定します。

  • 役割: 通知を区別するためのユニークなID
  • 使い道: 同じIDで新しい通知を作ると、古い通知が上書きされる
  • : "daily-reminder", "task-123", "workout-notification"

2. content(通知内容)

content では、通知の本文やタイトル、音などの内容を指定します。

主なプロパティ

プロパティ 説明
title 通知のタイトル "リマインダー"
body 通知のメッセージ "会議が10分後に始まります"
sound 通知音 .default(デフォルト音)
badge アプリアイコンの数字 1(赤い丸に"1"が表示)

3. trigger(送信タイミング)

triggerは通知をいつ送るかを決める部分です。

主に下記3種類あります:

① 〜時間後に送る(UNTimeIntervalNotificationTrigger)

② 特定の日時に送る(UNCalendarNotificationTrigger

特定の場所で送る(UNLocationNotificationTrigger)

この位置ベースの通知を使う場合は、アプリで位置情報の使用許可も必要になります。

よくある活用シーン

UNNotificationRequest は以下のようなアプリで活用されます。

  • タスク管理アプリ:締め切りの通知
  • フィットネスアプリ:運動時間をリマインド
  • 学習アプリ:復習タイミングの通知
  • ECアプリ:セールやカート放置の通知
  • カレンダーアプリ:イベント開始前のリマインド

ユーザーがアプリを開いていないときでも適切に通知できるため、アプリ利用を継続してもらう強力な手段になります。

注意点

便利な UNNotificationRequest ですが、使う際の注意点もあります。

  • 通知許可が必須:ユーザーが拒否すると通知は届かない
  • 同じ identifier の通知は上書きされる
  • 通知は最大64件まで(古いものから消える)
  • 位置ベース通知は追加の権限が必要
  • 添付ファイルにはサイズ制限(画像10MB、動画50MBなど)

これらを理解した上で設計することが大切です。

まとめ

今回は UNNotificationRequest の基本を解説しました。

  • 通知を登録するための中心クラス
  • identifiercontenttrigger の組み合わせで通知を定義
  • 時間・日付・位置に応じた多様な通知が可能
  • リマインダーやイベント通知など幅広いアプリで活躍
  • 設計時には許可管理や件数制限に注意

UNNotificationRequest をマスターすれば、ユーザーに寄り添う便利な通知機能を簡単に実装できます。

ぜひアプリ開発に活用してみてください!

 

最新の記事はこちらから