コンテンツ フォーマッタの構成
サブスクリプション ルールで通知が生成されると、書式が未設定の通知データが通知テーブルに挿入されます。このデータはサブスクライバに必要なデータであり、配信前に判読可能な書式に変換する必要があります。コンテンツの書式設定を行うことにより、書式が未設定の通知データを、配信先のデバイスやロケール用にカスタマイズされた判読可能なテキストに変換できます。
このトピックでは、コンテンツの書式設定の処理方法と、アプリケーション用にコンテンツ フォーマッタを定義する方法について説明します。標準コンテンツ フォーマッタの詳細については、「XSLT コンテンツ フォーマッタ」を参照してください。カスタム コンテンツ フォーマッタの詳細については、「カスタム コンテンツ フォーマッタの開発」を参照してください。
通知の書式設定
Notification Services で通知のバッチが生成されると、そのバッチは作業項目に分けられ、各作業項目の通知が同じ配信チャネルを使用して配信されます。次に、ディストリビュータが作業項目を取得し、その項目内の通知を、通知クラスのコンテンツ フォーマッタで処理できるようにします。
コンテンツ フォーマッタは、作業項目の通知を取得して、その書式が未設定のデータを最終受信者に適したメッセージに変換します。コンテンツ フォーマッタでは、デバイスとロケールの情報に基づいて、デバイスおよび場所ごとに通知をカスタマイズできます。たとえば、通知がフランス語を使用しているサブスクライバへの電子メールの場合、コンテンツ フォーマッタは書式が未設定の通知データをフランス語のテキストを含む電子メール メッセージに変換できます。
次に、ディストリビュータが書式設定された通知文字列を取得し、配信プロトコル ヘッダーを追加して、配信チャネルに通知を配信します。
コンテンツ フォーマッタの定義
通知クラスを定義する場合は、コンテンツ フォーマッタのクラス名、アセンブリ名、および引数を指定して、その通知用にコンテンツ フォーマッタを構成する必要があります。
コンテンツ フォーマッタを構成するには
- アプリケーションを XML で定義している場合は、ContentFormatter 要素 (ADF) を使用してコンテンツ フォーマッタを構成します。
- アプリケーションを Notification Services 管理オブジェクト (NMO) で定義している場合は、ContentFormatter オブジェクトでコンテンツ フォーマッタを定義し、そのコンテンツ フォーマッタを、ContentFormatter プロパティを使用して NotificationClass オブジェクトに関連付けます。
クラス名
コンテンツ フォーマッタを実装するクラスの名前を指定する必要があります。
- カスタム コンテンツ フォーマッタの場合、クラス名は名前空間プレフィックスを含む完全修飾名にする必要があります。名前空間の名前付け規則の詳細については、Microsoft MSDN ライブラリの名前空間の名前付けガイドラインを参照してください。
- 標準 XSLT コンテンツ フォーマッタの場合、XsltFormatter という名前を指定します。XSLT コンテンツ フォーマッタの実装の詳細については、「XSLT コンテンツ フォーマッタ」を参照してください。
クラス名を定義するには
- ContentFormatter の ClassName 要素 (ADF)
- ContentFormatter クラス プロパティ (NMO) の Name プロパティを使用します。
アセンブリ名
カスタム コンテンツ フォーマッタを定義している場合は、コンテンツ フォーマッタ クラスを含むアセンブリの名前を指定します。名前には、完全修飾パスかアセンブリの完全修飾名を含める必要があります。
XSLT コンテンツ フォーマッタを定義している場合は、アセンブリ名を省略します。この方法の詳細については、以下に示す参照トピックに記載されています。
アセンブリ名を定義するには
- ContentFormatter の AssemblyName 要素 (ADF)
- ContentFormatter コンストラクタ (NMO)
引数
Notification Services では、コンテンツ フォーマッタに引数を渡すことができます。コンテンツ フォーマッタで引数を使用する場合は、コンテンツ フォーマッタの定義で引数の名前と値を指定します。
サードパーティによって開発されたコンテンツ フォーマッタの場合、必須の引数と省略可能な引数が、付属のマニュアルに記載されています。XSLT コンテンツ フォーマッタの引数については、「XSLT コンテンツ フォーマッタ」の一覧を参照してください。
引数の名前と値を定義するには
- アプリケーションを XML で定義している場合は、ContentFormatter の Arguments 要素 (ADF) を使用して引数を定義します。
- アプリケーションを NMO で定義している場合は、ContentFormatterArgument オブジェクトで個々の引数を定義し、ContentFormatterArguments プロパティを使用して NotificationClass オブジェクトの ContentFormatterArgumentCollection に追加します。
参照
概念
通知スキーマの定義
ダイジェスト配信またはマルチキャスト配信の指定
通知バッチ サイズの指定
通知の有効期限の指定
カスタム コンテンツ フォーマッタの開発
その他の技術情報
XSLT コンテンツ フォーマッタ
通知クラスの定義
配信プロトコルの構成
通知クラスの定義
Notification Services アプリケーションの定義