com.docomostar.system
クラス Contents

Object
  上位を拡張 com.docomostar.system.Contents

public final class Contents
extends Object

コンテンツに対する課金処理や操作機能を提供するクラスです。 コンテンツプロバイダへの課金申し込みを取り持つ機能を提供します。

このクラスでは、マイメニュー登録/削除を行うことができます。

[Star-1.1 以降]
上記に加えて、個別課金対象のコンテンツを購入することができます。
購入手続きが成功すると、 その証として権利データを取得することができます。 権利データを取得した後に、実際にコンテンツをダウンロードする処理は、 原則として、コンテンツプロバイダ個々の取り決めに従って、 Star アプリ自身が行う必要があります。

[Star-2.0 以降]
上記に加えて、ケータイ払い決済/ポイント払い決済を行うことができます。 ケータイ払い決済/ポイント払い決済の手続きが完了すると、決済番号と決済日時を取得することができます。 また、ポイント残高確認を行うことができます。

導入されたバージョン:
Star-1.0

メソッドの概要
static void sendMyMenuRequest(java.util.Hashtable params, boolean isGroup)
          マイメニュー登録/削除を行います。
static String[] sendPaymentRequest(String url, java.util.Hashtable params)
           ケータイ払い決済を行います。
static String[] sendPointExchangeRequest(String url, java.util.Hashtable params)
           ポイント払い決済を行います。
static void sendPointInquiryRequest(String url)
           ポイント残高確認を行います。
static byte[] sendPurchaseRequest(java.util.Hashtable params)
           個別課金対象のコンテンツの購入・課金申し込みを行います。
 
クラス Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

sendMyMenuRequest

public static void sendMyMenuRequest(java.util.Hashtable params,
                                     boolean isGroup)
                              throws ContentsException,
                                     InterruptedOperationException
マイメニュー登録/削除を行います。

このメソッドを実行すると、課金サーバに対してパラメータの送信を行うことでマイメニューへの登録/削除を行います。 マイメニュー登録/削除処理中では、iモードパスワードの入力が要求されます。 なお、課金サーバとの通信には HTTP が用いられます。

引数 params には、課金サーバに対して送信するパラメータを指定します。 引数 isGroup には、複数のマイメニュー登録/削除を一括で行うかどうかを指定します。 引数 isGroup に true が指定された場合、複数のマイメニュー登録/削除を一括で行います。

このメソッドを実行すると Star アプリはサスペンドします。 マイメニュー登録/削除が完了(登録に失敗、及びユーザによる中断含む)すると Star アプリはレジュームします。 マイメニュー登録/削除に失敗した場合、及びユーザがマイメニュー登録/削除をキャンセルした場合には例外が発生します。

パラメータのキーと値は、どちらも String 型を指定する必要があります。 String 型以外が指定された場合は例外が発生します。

パーミッションとしてマイメニュー登録/削除機能の利用が許可されているトラステッド Star アプリケーションからのみ使用可能です。 パーミッションとしてマイメニュー登録/削除機能の利用が許可されていないアプリケーションから使用された場合、アプリケーションは強制終了します。

[Star-1.1 以降、Star-1.3 まで]
課金サーバからの応答が不正な場合には ContentsException(RESPONSE_ERROR) 例外が発生しますが、 発生した例外オブジェクトに対して ContentsException.getResponseBody() を呼び出すことで、課金サーバの応答内容(HTTP レスポンスのボディ部)を取得することができます。

[Star-1.5 以降]
課金サーバからの応答が不正な場合には ContentsException(RESPONSE_ERROR) 例外が発生します。 発生した例外オブジェクトに対して ContentsException.getResponseBody() を呼び出すと、課金サーバから受信したステータスコードが500番台で あった場合は、課金サーバの応答内容(HTTP レスポンスのボディ部)を取得することができます。

注意事項:
課金サーバでマイメニュー登録/削除処理を実行中に、 ユーザが処理をキャンセルしたり通信状態が悪くなった場合には、 課金サーバ側の処理が正常に完了していても例外が発生する場合があります。

パラメータ:
params - パラメータを指定します。
isGroup - マイメニュー登録/削除を一括で行うかどうかを指定します。 true が指定された場合、複数のマイメニュー登録/削除を一括で行います。
例外:
NullPointerException -
引数 params が null の場合に発生します。
IllegalArgumentException -
引数 params に不正な値が指定された場合に発生します。
IllegalArgumentException -
引数 params にシステムが提供している以外のオブジェクト (Hashtable クラスを継承した未知のクラスのオブジェクト) が渡された場合に発生します。
ClassCastException -
引数 params のキーや値に、 String 型以外のオブジェクトが含まれていた場合に発生します。
ContentsException -
(RESPONSE_ERROR)
課金サーバからの応答が不正な場合に発生します。
エラーメッセージが画面に表示されている状態で、 ユーザがセレクトキーを押下した場合に限り発生します。
ContentsException -
(NETWORK_ERROR)
課金サーバとの通信に失敗した場合に発生します。 i-mode 圏外のため通信が不可能な場合など、サーバに接続できない場合を含みます。
ContentsException -
(USER_ABORT)
ユーザ操作により中断要求が発生した場合に発生します。
SecurityException -
[Star-1.1 以降] ロック機能などのネイティブ独自のセキュリティ設定により、 マイメニュー登録/削除を行うことができない場合に発生します。
InterruptedOperationException -
競合条件などにより、ネイティブ機能が異常終了した場合に発生します。

sendPurchaseRequest

public static byte[] sendPurchaseRequest(java.util.Hashtable params)
                                  throws ContentsException,
                                         InterruptedOperationException

個別課金対象のコンテンツの購入・課金申し込みを行います。

このメソッドを呼び出すと、Star アプリケーションはサスペンドし、 購入・課金申し込みのための一連の処理がネイティブモジュールによって行われます。 処理の途中では、iモードパスワードの入力が要求されます。
購入・課金申し込みのための一連の処理が完了 (失敗やユーザによる中断を含む) すると、Star アプリケーションはレジュームします。 なお、課金サーバとの通信には HTTP が用いられます。

処理が正常に完了すると、既に購入済みの場合も含めて、 その証として権利データ (当該コンテンツの利用権を表すデータ) を戻り値として取得することができます。

一方、処理が失敗したり、ユーザによって中断された場合は、 Star アプリケーションレジューム後に例外が発生します。 特に、 課金サーバからエラー応答が通知された場合は、 ContentsException(RESPONSE_ERROR)ContentsException(MYMENU_UNREGISTERED) 例外が発生しますが、その場合に限っては、 発生した例外オブジェクトに対して ContentsException.getResponseBody() を呼び出すことで、課金サーバの応答内容(HTTP レスポンスのボディ部)を取得することができます。

権利データを取得した後に、 実際に購入したコンテンツをダウンロードする方法は、 当該コンテンツのプロバイダごとに異なります。 Star アプリケーションは、プロバイダの取り決めに従って、 独自にダウンロード処理を実装する必要があります。

パラメータのキーと値は、どちらも String 型を指定する必要があります。 String 型以外が指定された場合には例外が発生します。

パーミッションとして個別課金機能の利用が許可されているトラステッド Star アプリケーションからのみ使用可能です。 パーミッションとして個別課金機能の利用が 許可されていないアプリケーションから使用された場合、 アプリケーションは強制終了します。

なお、権利データのダウンロード元との通信については、 通常の Star アプリからの HTTP 通信と同様の制限が適用されます。 すなわち、ユーザによる通信可否設定や、 ダウンロード元 URL が正当かどうか、などのチェックが行われます。

パラメータ:
params - パラメータを指定します。
戻り値:
コンテンツに対する権利データを、バイト配列として返します。 そのようなデータが無い場合は、長さ0の配列を返します。 いずれの場合でも、毎回新しい配列オブジェクトを返します。
導入されたバージョン:
Star-1.1
例外:
NullPointerException -
引数 params が null の場合に発生します。
IllegalArgumentException -
引数 params に不正な値が指定された場合に発生します。
IllegalArgumentException -
引数 params にシステムが提供している以外のオブジェクト (Hashtable クラスを継承した未知のクラスのオブジェクト) が渡された場合に発生します。
ClassCastException -
引数 params のキーや値に、 String 型以外のオブジェクトが含まれていた場合に発生します。
SecurityException -
接続先 URL として指定された値について、プロトコルスキームが https である場合に発生します。
SecurityException -
Star アプリ個別のユーザ設定により通信が許可されていない場合、 権利データのダウンロード先として指定された URL がセキュリティ上の制約に触れた場合に発生します。
SecurityException -
ネイティブ独自のセキュリティ設定により、 課金申し込みが禁止されている場合に発生します。
ContentsException -
(MYMENU_UNREGISTERED)
マイメニュー未登録であることを表す応答が、 課金サーバより返された場合に発生します。
ContentsException -
(ILLEGAL_CONTENT)
権利データのサイズが制限を超えている場合など、 取得しようとしている権利データの内容が不正である場合に発生します。
ContentsException -
(RESPONSE_ERROR)
課金サーバからの応答が 「マイメニュー未登録」 以外のエラーメッセージであった場合に発生します。
ContentsException -
(NO_RESOURCES)
メモリ不足により、 Suspended 状態下でネイティブモジュールによって行われる処理が、 続行できなくなった場合に発生します。
ContentsException -
(NETWORK_ERROR)
課金サーバとの通信に失敗した場合に発生します。 i-mode 圏外のため通信が不可能な場合など、 サーバに接続できない場合を含みます。
ContentsException -
(USER_ABORT)
ユーザ操作により中断要求が発生した場合に発生します。
InterruptedOperationException -
競合条件などにより、 ネイティブ機能が異常終了した場合に発生します。

sendPaymentRequest

public static String[] sendPaymentRequest(String url,
                                          java.util.Hashtable params)
                                   throws ContentsException,
                                          InterruptedOperationException

ケータイ払い決済を行います。

このメソッドを呼び出すと、Star アプリケーションはサスペンドし、 ケータイ払い決済のための一連の処理がネイティブモジュールによって行われます。 処理の途中では、iモードパスワードの入力が要求されます。
ケータイ払い決済のための一連の処理が完了 (失敗やユーザによる中断を含む) すると、Star アプリケーションはレジュームします。 なお、決済サーバとの通信には HTTP または HTTPS が用いられます。

処理が正常完了すると、決済番号と決済日時を戻り値として取得することができます。

処理が失敗したり、ユーザによって中断された場合は、 Star アプリケーションレジューム後に例外が発生します。

パラメータのキーと値は、どちらも String 型を指定する必要があります。 String 型以外が指定された場合には例外が発生します。

パーミッションとして金銭によるケータイ払い決済が許可されているトラステッド Star アプリケーションからのみ使用可能です。 パーミッションとして金銭によるケータイ払い決済が許可されていないアプリケーションから使用された場合、 アプリケーションは強制終了します。

パラメータ:
url - 決済要求接続先の URL を指定します。
params - パラメータを指定します。
戻り値:
決済情報を配列として返します。このメソッドの呼び出し毎に常に新しい配列が生成されます。 第0要素には決済番号が、 第1要素には決済日時が格納されています。
決済処理が正常に行われていても、決済番号と決済日時が返されない場合があります。 その場合は、第0要素と第1要素にはそれぞれ null が格納されています。
導入されたバージョン:
Star-2.0
例外:
NullPointerException -
引数 url、params のいずれかに null が指定された場合に発生します。
IllegalArgumentException -
引数 params に不正な値が指定された場合に発生します。
IllegalArgumentException -
引数 params にシステムが提供している以外のオブジェクト (Hashtable クラスを継承した未知のクラスのオブジェクト) が渡された場合に発生します。
ClassCastException -
引数 params のキーや値に、 String 型以外のオブジェクトが含まれていた場合に発生します。
SecurityException -
ネイティブ独自のセキュリティ設定により、 ケータイ払い決済が禁止されている場合に発生します。
ContentsException -
(RESPONSE_ERROR)
決済サーバからの応答が何らかのエラーメッセージであった場合に発生します。
ContentsException -
(AUTHENTICATION_ERROR)
認証に失敗した場合に発生します。
ContentsException -
(NO_RESOURCES)
メモリ不足により、 Suspended 状態下でネイティブモジュールによって行われる処理が、 続行できなくなった場合に発生します。
ContentsException -
(NETWORK_ERROR)
決済サーバとの通信に失敗した場合に発生します。 i-mode 圏外のため通信が不可能な場合など、 サーバに接続できない場合を含みます。
ContentsException -
(USER_ABORT)
ユーザ操作により中断要求が発生した場合に発生します。
InterruptedOperationException -
競合条件などにより、 ネイティブ機能が異常終了した場合に発生します。

sendPointExchangeRequest

public static String[] sendPointExchangeRequest(String url,
                                                java.util.Hashtable params)
                                         throws ContentsException,
                                                InterruptedOperationException

ポイント払い決済を行います。

このメソッドを呼び出すと、Star アプリケーションはサスペンドし、 ポイント払い決済のための一連の処理がネイティブモジュールによって行われます。 処理の途中では、ネットワーク暗証番号の入力が要求されます。
ポイント払い決済のための一連の処理が完了 (失敗やユーザによる中断を含む) すると、Star アプリケーションはレジュームします。 なお、決済サーバとの通信には HTTP または HTTPS が用いられます。

処理が正常完了すると、決済番号と決済日時を戻り値として取得することができます。

処理が失敗したり、ユーザによって中断された場合は、 Star アプリケーションレジューム後に例外が発生します。

パラメータのキーと値は、どちらも String 型を指定する必要があります。 String 型以外が指定された場合には例外が発生します。

パーミッションとしてポイントによるケータイ払い決済が許可されているトラステッド Star アプリケーションからのみ使用可能です。 パーミッションとしてポイントによるケータイ払い決済 蠑墓焚 params 縺ォ繧キ繧ケ繝