Tech iOS

UserNotificationsの使い方について

投稿日:2019年12月9日 更新日:

はじめに

普段の業務ではプッシュ通知の制御にまだUIApplicationDelegateのメソッドを使用しているのですが、近々UserNotificationsフレームワークに切り替える必要がありそうなので基本的な使い方についてまとめてみたいと思います。

UserNotificationsフレームワーク

iOS10以降に対応しているプッシュ通知のフレームワークです。
APNsを介したサーバーからの通知とローカル通知を実装する事が出来ます。
また、iOS9まではアプリがフォアグラウンド時に通知を受け取った場合は通知バナーを表示しませんでしたが、このフレームワークを使用するとフォアグラウンド時でも通知バナーを表示する事が出来ます。

基本実装

デリゲートの設定

UserNotifications をimportし、 UNUserNotificationCenterDelegate に準拠します。
下記例では、AppDelegateクラスの application(_:didFinishLaunchingWithOptions:) の中でデリゲートを設定しています。

ユーザー許可

今まで同様にまずユーザーにプッシュ通知の許可を求めるダイアログ表示を行います。
この際に、通知音やバッジの有無などのオプション設定を行う事が出来ます。
ユーザーが許可したらデバイストークンの発行処理を行います。

デバイストークン取得後

デバイストークンが発行されたら、トークンをプッシュ通知用サーバーに送る等の処理を行うと思います。
ここは今まで通りUIApplicationDelegateのメソッドで行います。
ちなみに、iOS13以降でトークン仕様が変更となっているので、詳細はこちらの記事を参照してみてください。

バックグラウンドで通知受信

バックグラウンドで通知を受信した時や通知バナーをタップした時は以下のメソッドが呼ばれます。
response から通知内容を取得する事が出来ます。
公式リファレンスによると、最後に completionHandler() を明示的に呼んであげる必要があるようです。

フォアグラウンドで通知受信

フォアグラウンド時で通知を受信した時は以下のメソッドが呼ばれます。
completionHandler() の引数で通知バナーの表示/非表示や通知音のON/OFFの設定を行う事が出来ます。
このメソッドを実装しないと、iOS9までと同様に通知バナー等は表示されません。

さいごに

iOS10以降のプッシュ通知では他にサイレントプッシュやNotification Service Extensionを利用したリッチプッシュなどの機能もあるので、機会があればこちらも記事にしたいと思います。

おすすめ書籍

詳解 Swift 第5版 [改訂新版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 WEB+DB PRESS plus 絶対に挫折しない iPhoneアプリ開発「超」入門 第8版 【Xcode 11 & iOS13】 完全対応

blog-page_footer_336




blog-page_footer_336




-Tech, iOS
-,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

iOS13ダークモード対応

1 はじめに2 一時しのぎ3 実装3.1 UI Element Colors3.2 Color Set3.3 コードで描きたい3.4 カスタムのカラーを定義する3.5 画像をモードで動的に変更したい4 ...

swift

Swift3 コードでの画面遷移

1 はじめに1.1 環境2 performSegue2.1 事前準備2.2 遷移先を示すSegueを作成2.3 遷移させるイベントを作成2.4 画面遷移させる3 prepare3.1 事前準備3.2 ...

swift

[Swift]PDFKitでPDFの表示

1 はじめに1.1 前提条件2 PDKitの概要3 実装3.1 PDFの表示4 さいごに はじめに こんにちは、nukkyです。 以前、PDFKitを使わないでPDFを表示する方法を書きましたが、今回 ...

swift

SwiftでPDFを表示する(iOS11以前対応版)

1 はじめに1.1 前提条件2 実装3 さいごに はじめに こんにちは、nukkyです。 SwiftでPDFを表示したい場合iOS11以降ならPDFKitがありますが、自分の様にまだ11以前のOSにも ...

swift

[Swift 3] テキストの装飾(フォント・文字サイズ・文字間隔・行間・文字色・下線)

1 はじめに2 フォント・文字サイズ変更3 文字間隔4 行間5 文字色6 下線7 さいごに8 おすすめ書籍 はじめに どうもはじめです。 今回は文字の装飾をやってみようと思います。 完成図を載せておき ...

フォロー

blog-page_side_responsive

2019年12月
1234567
891011121314
15161718192021
22232425262728
293031  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。