プレイヤー単位のALL.Net課金処理を提供するクラス。
[詳解]
#include <AccountingUnit.h>
|
| AccountingUnit (::amdaemon::InnerIndexHolder) |
| コンストラクタ。 [詳解]
|
|
bool | canBeginPlay () const |
| 課金プレイを開始可能な状態であるか否かを取得する。 [詳解]
|
|
AccountingHandle | beginPlay (std::uint32_t kindCode, std::uint32_t statusCode) |
| 課金プレイを開始する。 [詳解]
|
|
bool | endPlay (AccountingHandle handle, std::uint32_t kindCode, std::uint32_t statusCode, std::uint32_t itemCount) |
| 課金プレイを終了する。 [詳解]
|
|
AccountingHandle | continuePlay (AccountingHandle prevHandle, std::uint32_t prevKindCode, std::uint32_t prevStatusCode, std::uint32_t prevItemCount, std::uint32_t nextKindCode, std::uint32_t nextStatusCode) |
| 課金プレイを一旦終了し、新たに開始する。 [詳解]
|
|
bool | accountItem (std::uint32_t kindCode, std::uint32_t statusCode, std::uint32_t itemCount) |
| 単発課金を行う。 [詳解]
|
|
bool | putQuantity (std::uint32_t kindCode, std::uint32_t quantity) |
| 数量値を保存する。 [詳解]
|
|
bool | putGeneralId (std::uint32_t kindCode, const wchar_t *generalId) |
| 数列値を保存する。 [詳解]
|
|
プレイヤー単位のALL.Net課金処理を提供するクラス。
- 参照
- Accounting, Player
このクラスのインスタンスをアプリ側で直接生成することはできない。 Accounting クラスのメンバ関数 Accounting::getPlayer から取得すること。
amdaemon::allnet::AccountingUnit::AccountingUnit |
( |
::amdaemon::InnerIndexHolder |
| ) |
|
|
explicit |
コンストラクタ。
- 覚え書き
- アプリ側からは利用できない。
static std::uint32_t amdaemon::allnet::AccountingUnit::getKindCodeLimit |
( |
| ) |
|
|
static |
種別コードの最大許容値を取得する。
- 戻り値
- 種別コードの最大許容値。固定値 654 。
static std::uint32_t amdaemon::allnet::AccountingUnit::getStatusCodeLimit |
( |
| ) |
|
|
static |
状態コードの最大許容値を取得する。
- 戻り値
- 状態コードの最大許容値。固定値 99 。
static std::uint32_t amdaemon::allnet::AccountingUnit::getItemCountLimit |
( |
| ) |
|
|
static |
商品数の最大許容値を取得する。
- 戻り値
- 商品数の最大許容値。固定値 255 。
static std::uint32_t amdaemon::allnet::AccountingUnit::getQuantityLimit |
( |
| ) |
|
|
static |
数量値の最大許容値を取得する。
- 戻り値
- 数量値の最大許容値。固定値 7679 。
static std::size_t amdaemon::allnet::AccountingUnit::getMaxGeneralIdLength |
( |
| ) |
|
|
static |
数列値の最大文字数を取得する。
- 戻り値
- 数列値の最大文字数。少なくとも 127 以上の固定値。
bool amdaemon::allnet::AccountingUnit::canBeginPlay |
( |
| ) |
const |
AccountingHandle amdaemon::allnet::AccountingUnit::beginPlay |
( |
std::uint32_t |
kindCode, |
|
|
std::uint32_t |
statusCode |
|
) |
| |
課金プレイを開始する。
- 引数
-
[in] | kindCode | 種別コード。 0 以上 654 以下。 |
[in] | statusCode | 状態コード。 0 以上 99 以下。 |
- 戻り値
- 識別ハンドル値。開始できなかった場合は無効なハンドル値。
- 参照
- Sequence::beginPlay, Sequence::continuePlay, Sequence::endPlay
- 例外
-
Exception |
- 引数 kindCode に 654 より大きい値を指定した場合。
- 引数 statusCode に 99 より大きい値を指定した場合。
|
プレイ開始、コンティニュー、プレイ終了と連動して課金プレイを開始したい場合は Sequence クラスのプレイ状態変更関連メンバ関数を用いることを推奨する。 それ以外のタイミングで課金プレイを開始したい場合にこの関数を用いる。
メンバ関数 canBeginPlay が false を返す場合は何もせずに無効なハンドル値を返す。
Daemonプロセスが処理完了するまで呼び出し元スレッドをブロックする。
bool amdaemon::allnet::AccountingUnit::endPlay |
( |
AccountingHandle |
handle, |
|
|
std::uint32_t |
kindCode, |
|
|
std::uint32_t |
statusCode, |
|
|
std::uint32_t |
itemCount |
|
) |
| |
課金プレイを終了する。
- 引数
-
[in] | handle | 識別ハンドル値。メンバ関数 beginPlay や continuePlay から受け取った値。 |
[in] | kindCode | 種別コード。 0 以上 654 以下。 |
[in] | statusCode | 状態コード。 0 以上 99 以下。 |
[in] | itemCount | 商品数。 0 以上 255 以下。 0 ならば課金しない。 |
- 戻り値
-
true | 終了できた場合。 |
false | 終了できなかったか、開始していない場合。 |
- 参照
- Sequence::beginPlay, Sequence::continuePlay, Sequence::endPlay
- 例外
-
Exception |
- 引数 handle に無効なハンドル値を指定した場合。
- 引数 kindCode に 654 より大きい値を指定した場合。
- 引数 statusCode に 99 より大きい値を指定した場合。
- 引数 itemCount に 255 より大きい値を指定した場合。
|
メンバ関数 beginPlay で開始した課金プレイを終了させる場合に用いる。 Sequence クラスのプレイ状態変更関連メンバ関数を用いて開始した課金プレイを この関数で終了させることはできない。
通常、引数 itemCount には課金するならば 1 、しないならば 0 を指定する。 ただしタイトルによっては 2 以上の値を指定する場合もある。 詳しくはALL.Net技術情報サイトの「課金ログ定義ガイドライン」等を参照すること。
Daemonプロセスが処理完了するまで呼び出し元スレッドをブロックする。
AccountingHandle amdaemon::allnet::AccountingUnit::continuePlay |
( |
AccountingHandle |
prevHandle, |
|
|
std::uint32_t |
prevKindCode, |
|
|
std::uint32_t |
prevStatusCode, |
|
|
std::uint32_t |
prevItemCount, |
|
|
std::uint32_t |
nextKindCode, |
|
|
std::uint32_t |
nextStatusCode |
|
) |
| |
課金プレイを一旦終了し、新たに開始する。
- 引数
-
[in] | prevHandle | 終了用の識別ハンドル値。 メンバ関数 beginPlay や continuePlay から受け取った値。 |
[in] | prevKindCode | 終了用の種別コード。 0 以上 654 以下。 |
[in] | prevStatusCode | 終了用の状態コード。 0 以上 99 以下。 |
[in] | prevItemCount | 終了用の商品数。 0 以上 255 以下。 0 ならば課金しない。 |
[in] | nextKindCode | 新規開始用の種別コード。 0 以上 654 以下。 |
[in] | nextStatusCode | 新規開始用の状態コード。 0 以上 99 以下。 |
- 戻り値
- 新たな識別ハンドル値。開始できなかった場合は無効なハンドル値。
- 参照
- Sequence::continuePlay
- 例外
-
Exception |
- 引数 prevHandle に無効なハンドル値を指定した場合。
- 引数 prevKindCode に 654 より大きい値を指定した場合。
- 引数 prevStatusCode に 99 より大きい値を指定した場合。
- 引数 prevItemCount に 255 より大きい値を指定した場合。
- 引数 nextKindCode に 654 より大きい値を指定した場合。
- 引数 nextStatusCode に 99 より大きい値を指定した場合。
|
コンティニューと連動して課金プレイを新たに開始したい場合は Sequence クラスのメンバ関数 Sequence::continuePlay を用いることを推奨する。 それ以外のタイミングで課金プレイを新たに開始したい場合にこの関数を用いる。
メンバ関数 endPlay と beginPlay を続けて呼び出すこととほぼ同義だが、 そちらの場合と異なり、課金プレイの終了直後に締め処理が走ってしまうことがない。 そのため安全に課金プレイを新規開始することができる。
Daemonプロセスが処理完了するまで呼び出し元スレッドをブロックする。
bool amdaemon::allnet::AccountingUnit::accountItem |
( |
std::uint32_t |
kindCode, |
|
|
std::uint32_t |
statusCode, |
|
|
std::uint32_t |
itemCount |
|
) |
| |
単発課金を行う。
- 引数
-
[in] | kindCode | 種別コード。 0 以上 654 以下。 |
[in] | statusCode | 状態コード。 0 以上 99 以下。 |
[in] | itemCount | 商品数。 0 以上 255 以下。 |
- 戻り値
-
true | 課金できた場合。 |
false | 課金できなかった場合。 |
- 例外
-
Exception |
- 引数 kindCode に 654 より大きい値を指定した場合。
- 引数 statusCode に 99 より大きい値を指定した場合。
- 引数 itemCount に 255 より大きい値を指定した場合。
|
課金プレイ中でなければ課金できない。
Daemonプロセスが処理完了するまで呼び出し元スレッドをブロックする。
bool amdaemon::allnet::AccountingUnit::putQuantity |
( |
std::uint32_t |
kindCode, |
|
|
std::uint32_t |
quantity |
|
) |
| |
数量値を保存する。
- 引数
-
[in] | kindCode | 種別コード。 0 以上 654 以下。 |
[in] | quantity | 数量値。 0 以上 7679 以下。 |
- 戻り値
-
true | 保存できた場合。 |
false | 保存できなかった場合。 |
- 例外
-
Exception |
- 引数 kindCode に 654 より大きい値を指定した場合。
- 引数 quantity に 7679 より大きい値を指定した場合。
|
Daemonプロセスが処理完了するまで呼び出し元スレッドをブロックする。
bool amdaemon::allnet::AccountingUnit::putGeneralId |
( |
std::uint32_t |
kindCode, |
|
|
const wchar_t * |
generalId |
|
) |
| |
数列値を保存する。
- 引数
-
[in] | kindCode | 種別コード。 0 以上 654 以下。 |
[in] | generalId | 数列値。 '0' 〜 '9' で構成される文字列。 |
- 戻り値
-
true | 保存できた場合。 |
false | 保存できなかった場合。 |
- 例外
-
Exception |
- 引数 kindCode に 654 より大きい値を指定した場合。
- 引数 generalId に nullptr を指定した場合。
- 引数 generalId に空文字列を指定した場合。
- 引数 generalId の文字数が最大文字数より多い場合。 最大文字数は静的メンバ関数 getMaxGeneralIdLength で取得できる。
- 引数 generalId に '0' 〜 '9' 以外の文字が含まれている場合。
|
Daemonプロセスが処理完了するまで呼び出し元スレッドをブロックする。
このクラス詳解は次のファイルから抽出されました: