Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » Mobile Link - サーバ起動同期 » サーバ起動同期の Mobile Link サーバ設定 » Notifier イベント » ポーリング・イベント

 

request_cursor イベント

このポーリング・イベントは SQL スクリプトを受け入れ、Push 要求を検出すると起動されます。このイベントは設定が必要です。

ライトウェイト・ポーラを使用する場合の Push 要求のフェッチ (推奨)

このイベントで結果セットに最大 3 つのカラムが含まれる場合、Notifier はサーバとデバイスの間に永続的な接続がないことと、デバイスが Notifier をポーリングしてから Push 通知を送信する必要があることを確認します。Notifier は、結果セットをキャッシュしてから Push 通知を送信します。Mobile Link サーバでは、ポーリング・キーによってデバイスを識別します。ポーリング・キーは、デバイスが Notifier をポーリングするたびにデバイスが送信します。

このイベントの結果セットには、次のカラムが指定した順序で含まれている必要があります。

  • ポーリング・キー

  • 件名 (オプション)

  • 内容 (オプション)

ゲートウェイを使用する場合の Push 通知のフェッチ

このイベントで結果セットに 3 つを超えるカラムが含まれる場合、Notifier はサーバとデバイスの間に永続的な接続が存在することを確認し、Push 要求が検出されたときにゲートウェイを使用して Push 通知を送信します。

このイベントの結果セットには、次のカラムが指定した順序で含まれている必要があります。

  • 要求 ID (オプション)

  • ゲートウェイ

  • 件名

  • 内容

  • アドレス

  • 再送間隔 (オプション)

  • 存続期間 (オプション)

参照

次の例では、ml_add_property システム・プロシージャを使用して、Simple という名前のカスタム Notifier 用の request_cursor イベント・スクリプトを作成します。SELECT 文では、Notifier に PushRequest という名前のテーブルから Push 要求を検出するように指示します。

CALL ml_add_property('SIS', 'Notifier(Simple)', 'request_cursor',
    'SELECT poll_key,
        subject,
        content
    FROM PushRequest'
);

スクリプトに WHERE 句を追加して、送信済みの要求をフィルタすることをおすすめします。たとえば、要求を挿入した時刻を追跡する Push 要求カラムを追加して、このイベントで WHERE 句を使用すると、ユーザが最後に同期を行った時刻よりも前に挿入された要求をフィルタできます。