OS X 通知センターの使用

提供: RAD Studio
移動先: 案内検索

OS X アプリケーション開発 への移動


ローカル通知を使用すると、バックグラウンドのアプリケーションやアクティブでないアプリケーションから、そのアプリケーションにとって重要なイベントやそのアプリケーションに関連するイベントが発生したことを、ユーザーに通知することができます。 このトピックでは、OS X アプリケーションでローカル通知を使用する基本手順を説明します。

Mountain Lion(OS X 10.8)で通知機能と通知センターが追加されました。 これは、ローカル通知をスケジューリングしたり即座に表示できる iOS とよく似ています。

通知について

OS X には 3 種類の通知があります。

通知の種類 説明 表示例

警告

Mac の右上隅に表示されます。警告はユーザーがアクションを起こすまで画面上に残ります。

Notification Alert.png

バナー

Mac の右上隅に短時間だけ表示され、その後、画面の右にスライドして消えます。

Notification Banner.png

バッジ

アプリケーション アイコンの右上に、数字の付いた赤いバッジが表示されます。 このバッジは、アプリケーション内にユーザーへの通知がいくつあるかを反映しています。

メモ: バッジはサポートされていません。 TNotificationCenter コンポーネントを使わずにバッジを実装する例は、「OSX Dock バッジ」を参照。

通知サービスへのアクセス

RAD Studio により、通知サービスに簡単にアクセスするための TNotificationCenter コンポーネントが用意されています。

Notification Service にアクセスするには、TNotificationCenter コンポーネントをフォームにドロップします。

  • RAD Studio は、次のユニットを Delphi に追加しています:
uses
  System.Notification;
  • RAD Studio は、C++ のプロジェクト ヘッダー ファイルに以下の include 演算子を追加します。
#include <System.Notification.hpp>

OS X の通知センター

対処されていない通知はすべて、通知センターに含められます。画面上にポップアップ通知が表示されたけれどもユーザーがクリックしなかった場合には、その通知は通知センターに含められます。警告は、ユーザーが適切なアクションを実施するまで通知センターに残されます。

通知センターは、メニュー バーの右側にある Notification Center icon.png をクリックするだけで、簡単に表示したり非表示にすることができます。ユーザーが通知センター内の通知をクリックすると、アプリケーションが開くかフォアグラウンドに出てきます。

Notification Center on Menu Bar.png

通知は、ポップアップ バナーとして表示されることもあれば、アプリケーションがバックグラウンドで動作していたり非アクティブである場合には警告として表示されることもあります。 ユーザーは、これらの通知が OS X でどう示されるかを指定することができます。

Notifications Icon.png

  1. [システム環境設定 |通知]を開きます。
  2. 左側にあるアプリケーションを探して選択します。
  3. [なし][バナー][警告パネル]のいずれかを選択します。
メモ: [なし]を選択すると、ポップアップ通知は表示されず、通知は直接通知センターに含められます。デフォルトでは、通知バナーがアプリケーションにより表示されます。

次のスクリーンショットは、通知センターの構成ウィンドウです。

OSXNotificationCenter.png

通知の作成

アプリケーションで OS X のローカル通知を表示できるようにするには、TNotification クラス オブジェクトのインスタンスを作成する必要があります。 System.Notification.TNotificationCenter.CreateNotification メソッドにより、このインスタンスを作成することができます。

アプリケーションでローカル通知オブジェクトを作成したあと、その通知をオペレーティング システムにスケジューリングするか、すぐに表示することができます。 理想を言うと、ローカル通知は時間で動作するアプリケーションに向いています。 オペレーティング システムがいつ通知を配信するかを指定することができます。これを配信日(fire date)と呼びます。 また、スケジュールされた通知を繰り返すこともできます。

OS X アプリケーションに通知メッセージを含めるには:

  1. TNotification クラスのインスタンスを作成します。
  2. CreateNotification を使用して、通知を作成します。
  3. NameAlertBodyFireDate の各フィールドを定義します。

通知は、削除されない限り通知センターに残ります。

個別の通知メッセージは、TNotification オブジェクトの Name プロパティで識別できます。

通知を更新または削除するには:

  • スケジュール設定された通知を更新するには、同じ名前(Name プロパティ)を持つ TNotificationCenter のインスタンスを引数にして ScheduleNotification メソッドをもう一度呼び出すだけです。
  • 通知をキャンセルするには、使用した識別子を引数にして CancelNotification メソッドを呼び出します。
  • すべての通知をキャンセルするには、CancelAll メソッドを呼び出します。

関連項目