【セミナー】カジュアルゲームに課金要素を実装…エンジニアに求められる資金決済法への対応とは



アプリ開発者向けセミナー「アプリ×資金決済法 第1回セミナー」が9月26日、東京都内で行われた。GOODROIDの取締役CTOである永石裕樹氏(写真)が登壇した。


【関連記事】
【セミナー】カジュアルゲームにおける課金要素はポジティブ、早期導入がオススメ 2D Fantasista渡辺氏が『100万匹の羊』の事例を紹介

 


まず、GOODROIDは、2014年10月に設立されたスマートフォン向けネイティブアプリを制作する会社だ。カジュアルゲームのほかにも、様々なユーティリティアプリの開発を行っており、年間リリースする本数は約30にもなるそうだ。また『おそ松さんのニートすごろく ぶらり旅』など大きなタイトルの開発にも着手したという。

広告収益をメインとするカジュアルゲームを手がけていたGOODROIDだが、当初は仮想通貨を使用せず、直接、アイテムを販売するタイプから開始した。課金を入れる際、遵守する法令がいくつかあるが、その一つがいわゆる「資金決済法」だ。ただ、機能アンロック型の非消耗型アイテムや消費型アイテムでも体力回復など即時反映されるアイテムについては、資金決済法の対応は不要とのアドバイスを受けていたこともあり、当初は、対応を行っていなかった。

実装後の売上の状況は以下のとおり。全体の広告に占める割合は15%と予想よりも高いものとなった。サーバーレスでコストがかからずアプリで収益性も高いため、永石氏自身はこの仕組を気に入っていたが、アイテムを購入するたびにパスワードを入れる必要があるため、ユーザーにとって不便であるということになり、「課金最適化」した。
 


ここで初めて資金決済法への対応が必要になるが、開発側が対応すべきこととして、発行・付与・消費・失効・残高のデータをきちんと記録して取得できるようにすることだった。以下、その対応状況を紹介していった。

まず、インフラの設計として、全タイトルの共通基盤にするため、可用性、スケーラビリティ、コスパを軸に考えて開発し、AWSを使っているとのこと。

①アプリケーションサーバー
ライトな負荷の場合、秒間6万4000rpsさばけるインフラになっている。
 


②データベース
Auroraを利用し、Mster-Slave構成にしている。障害対策用としてひとつランクの高いサーバーを用意した。MySQLの5倍のパフォーマンス、ストレージも64TBまで自動でオートスケーリングしてくれる。
 


③キャッシュ
Amazon ElasticCacheでRedisを使っている。データベースのパフォーマンスが下がってきたら、ElasticCacheがサービスインするようにしている。
 


④イベントフック
ElasticCacheをどうやってサービスインさせるかというと、イベントルックでAuroraのcroud watchからイベントを受け取り、パフォーマンスが下がってきたらElasticCacheを起動させるようにしている。
 


⑤ログ
資金決済法に関係のないデータについては、アプリケーションログとしてサーバー内にログを吐き出し、fluentdで収集していく。今後、ビッグデータとして解析できるようにすることも視野に入れている。
 


全体の構成は以下のとおり。
 


それでは、発行・付与・消費・失効・残高をどのように管理しているのか説明した。これらは重要なデータなので、すぐに算出できるようにするため、RDBであるAuroraに入れるようにしたという。

発行…仮想通貨で決済されたタイミングでデータベースに「購入履歴」としてデータを残す。テーブル構成は以下のとおり。
 


付与…無料で配った仮想通貨も記録として残す必要がある。ただ、これについてはデータの扱いが面倒なので行わないことにしたそうだ。


消費…消費されたタイミングでデータベースに「消費履歴」としてデータを残す。テーブル構成は以下のとおり。
 


失効…仮想通貨に通行期限を付けていたら、期限切れになった分の仮想通貨を算出できるようにしておくものだが、ストアの規約で有効期限を付けてはいけないとあるので対応しなかった。

残高…未使用の仮想通貨の残高。1個=100円・10個=900円・50個=3900円などレート別に購入したデータをどう管理するのかが問題だったが、仮想通貨1個の価値を計算して算出することにした。1個の価値は、全体の平均ではなく、最も高いレートから算出するという。ここでは1個=100円で計算する必要がある。テーブル構成は以下のとおり。
 


注:登壇社に非公開とされている事象を公開したため、記事内容を一部訂正しました。

 
(編集部 木村英彦)
株式会社GOODROID
https://goodroid.co.jp/

会社情報

会社名
株式会社GOODROID
設立
2014年10月
代表者
代表取締役社長 松田 和彬
決算期
9月
企業データを見る