7


Wireless Messaging API の使用法

Sun JavaTM Wireless Toolkit for CLDC では、高度なシミュレーション環境による Wireless Messaging API (WMA) がサポートされています。WMA 1.1 (JSR 120) では、MIDlet で Short Message Service (SMS) メッセージや Cell Broadcast Service (CBS) メッセージを送受信できます。WMA 2.0 (JSR 205) は、MMS メッセージにも対応しています。

この章では、WMA アプリケーションを開発するためのツールについて説明します。まず、エミュレータの WMA サポートを設定する方法を示します。次に、WMA コンソールについて説明します。これは、WMA アプリケーションのテストに役立つユーティリティーです。最後に、ネットワークモニターの WMA サポートについて概略を説明します。


7.1 エミュレータの電話番号の設定

実行中のエミュレータインスタンスごとにシミュレーション用の電話番号があり、エミュレータウィンドウのタイトルバーに表示されます。電話番号は WMA メッセージのアドレスとして使用されるので重要です。デフォルト設定では、最初のエミュレータインスタンスに電話番号 +555000 が割り当てられます。以降のエミュレータインスタンスには連番が割り当てられ、+5550001、+5550002、+5550003 のようになります。

割り当てられた電話番号を変更するには、「編集」->「環境設定」を選択し、左側の区画で「WMA」を選択します。

図 7-1 WMA の環境設定


WMA preferences include Phone # of Next Emulator, First Assigned Phone #, % Random Message Fragment Loss, and Message Fragment Delivery Delay in ms.

「次のエミュレータの電話番号」フィールドは、名前のとおりです。このフィールドに番号を入力すると、次のエミュレータインスタンスにこの番号が割り当てられます。

「次のエミュレータの電話番号」フィールドが空白の場合や、その番号がすでに使用されている場合、次のエミュレータインスタンスには「最初に割り当てられた電話番号」が割り当てられます。以降のインスタンスには連番が割り当てられます。

たとえば、「次のエミュレータの電話番号」に +6269333 を入力し、「最初に割り当てられた電話番号」に +5550000 を入力した場合を考えてみましょう。4 つのエミュレータインスタンスを起動すると、それぞれの番号は +6269333、+5550000、+5550001、+5550002 となります。


7.2 信頼性の低いネットワークのシミュレート

長いメッセージの送信では、メッセージが分割されて断片が個別に送信され、受信側でこれらの断片が再構築されます。ワイヤレスネットワークで発生する障害の一部を Sun JavaTM Wireless Toolkit for CLDC でシミュレートできます。先と同じように、「編集」->「環境設定」を選択し、「WMA」を選択します。

メッセージ断片の一部が失われる場合をシミュレートするには、「n% のランダムメッセージ断片の消失」スライダを使用して、消失割合を調整します。メッセージ断片の送信から受信までの遅延時間をシミュレートするには、「メッセージ断片の配信遅延」フィールドに遅延時間をミリ秒単位で入力します。


7.3 WMA コンソールによるメッセージの送信

WMA コンソールは、メッセージの送信や受信を簡単に実行できるユーティリティーです。たとえば、WMA コンソールを使用して、エミュレータ上で実行中の MIDlet に SMS メッセージを送信できます。

WMA コンソールを起動するには、「ファイル」->「ユーティリティー」を選択します。「WMA コンソール」をクリックして、「起動」を押します。

図 7-2 WMA コンソール


WMA Console has buttons for Send SMS, Send CBS, and Send MMS

7.3.1 SMS テキストメッセージの送信

SMS テキストメッセージを送信するには、「SMS の送信」をクリックします。送信ウィンドウが表示されます。

図 7-3 テキストメッセージの送信


The Send SMS window has tabs for Text SMS and Binary SMS. Figure shows Text SMS selected

ウィンドウには、実行中のすべてのエミュレータインスタンスの電話番号が自動的に一覧表示されます。送信先を選択します。複数の送信先を選択するには、Ctrl キーを押しながらクリックします。必要に応じてポート番号を入力します。メッセージを入力し、「送信」をクリックします。

7.3.2 SMS バイナリメッセージの送信

WMA コンソールを使用して、ファイルの内容をバイナリメッセージとして送信できます。「SMS の送信」をクリックして、送信ウィンドウを開きます。「バイナリ SMS」タブをクリックします。

図 7-4 バイナリメッセージの送信


Send a Message window with Binary SMS tab selected

SMS テキストメッセージを送信する場合と同様に、受信者を選択します。ファイルのパスを直接入力するか、「参照」をクリックしてファイル選択ダイアログを開きます。

7.3.3 CBS テキストメッセージまたは CBS バイナリメッセージの送信

CBS メッセージの送信手順は、SMS メッセージの送信手順と似ていますが、受信者を選択する必要はありません。CBS テキストメッセージまたは CBS バイナリメッセージを送信するには、WMA コンソールの「CBS の送信」をクリックします。「送信」ウィンドウが表示されます。

図 7-5 CBS メッセージの送信


Send a message window with Binary CBS selected

7.3.4 MMS メッセージの送信

MMS メッセージは、主に画像やサウンドなど、1 つまたは複数のファイルで構成されます。MMS メッセージは、複数の受信者に送信できます。WMA コンソールから MMS メッセージを送信するには、「MMS の送信」ボタンをクリックします。

MMS メッセージ作成ウィンドウには 2 つのタブがあり、一方では受信者、もう一方では内容を指定します。まず、件名と受信者を入力します。さらに受信者を追加するには、「追加」ボタンをクリックします。たとえば、+5550001 という番号が割り当てられた実行中のエミュレータにメッセージを送信する場合は、「送信先」行に mms://+5550001 と入力します。受信者を削除するには、その行を選択してから、「削除」をクリックします。

図 7-6 MMS メッセージの受信者の追加


Send a Message - MMS window with Header tab selected

メッセージにメディアファイルを追加するには、「部分」タブをクリックします。メッセージに部分を追加するには、「追加」をクリックします。部分を削除するには、部分を選択し、「削除」をクリックします。

図 7-7 MMS メッセージへの部分の追加

Send a Message - MMS window with Parts tab selected


7.4 WMA コンソールでのメッセージの受信

WMA コンソールでメッセージを受信することもできます。WMA コンソールウィンドウのタイトルバーには、その電話番号が表示されます。エミュレータ上で実行中のアプリケーションから、WMA コンソールにメッセージを送信できます。

WMA コンソールで受信されたメッセージは、コンソールのテキスト領域に表示されます。


7.5 WMA でのネットワークモニターの使用

ネットワークモニターについては、第 5 章で詳しく説明しています。ネットワークモニターを使用して、エミュレータで送受信される WMA メッセージを追跡できます。

WMA メッセージを表示するには、「SMS/CBS」タブまたは「MMS」タブをクリックします。メッセージとその断片に関する情報が、ネットワークモニターの左側の区画に表示されます。メッセージまたはメッセージの断片をクリックすると、その詳細が右側の区画に表示されます。

図 7-8 ネットワークモニターを使用した WMA メッセージの表示


Network Monitor with SMS/CBS tab selected shows WMA message