unity ソーシャルアプリプレゼント配布

  • このエントリーをはてなブックマークに追加
  • LINEで送る

unity ソーシャルアプリプレゼント配布作り方

アプリをやってて、嬉しいのがプレゼント配布。

初回にくっそ汚い石を配らないと不評のインムスのプレゼント実装について書きます。

プレゼントの実装ステップ

  • プレゼントの種類
  • プレゼントの受取方法
  • プレゼントの定義
  • プレゼントをデータベースに登録しよう。
  • unityで受取を実装しよう。
  • プレゼント対象者の拡大
  • メンテナンスについて

プレゼントの種類や獲得方法の種類の定義

インムスでは、取得できるプレゼントの種類を7種類と固定で決めて実装した。

キャラクターカード、石、イベント用アイテム、いいぞコレボタンのアイテム、ガチャチケット数種等。

他に運営側の見方としては、実績を達成した個人に送るのか?全部のプレイヤーに送るのか?など各種の運用方法としてのプレゼント実装が求められた。

 

プレゼントの受取方法

インムスでは、ドロップアイテムで取得したカードやアイテムは、受取処理をユーザーがしなくてもユーザーのボックスに入る処理と

石の受取などユーザーが受取決定をした場合にボックスに入る処理の2つを設定した。

こんな二つの違いでも、ユーザーにとってのゲーム体験に大きく影響するって、田舎のばっちゃが言ってた。

 

プレゼントの定義

プレゼントの定義についてのツールはlogin、カード定義と同じくCSVで作成しsqlite登録後

unity側へもmy_plesent_data_mapper 名で構築した。

カラムの内容として、

  • プレゼント通し番号
  • プレゼント対象者 user_id
  • プレゼント_種類番号(0~6番)
  • プレゼントカード番号(カードのときのみ使用)
  • プレゼントPCS(プレゼントする個数)
  • プレゼント単位文字列(プレゼントメッセージ時の単位  枚とか個とか匹とか)
  • プレゼントタイトル文字列
  • プレゼントメッセージ文字列
  • プレゼント開始時間
  • プレゼント終了時間
  • プレゼント受け取りフラグ

プレゼントの受取フラグは、

受取前=0 受け取り後=1とかでもOK

これでプレゼントの定義とする。

プレゼントをデータベースに登録しよう。

プレゼントの定義部分を参考にsqliteに登録する。テスト用としては、テスト端末のuser_idを登録してテストする。

受取フラグは、受取前の状態に設定する。

 

unityでプレゼント有無を受信する。

ログイン時とメニュー画面でフラグ取得のコルーチンを回す。

コルーチンはサーバーから端末のuser_idのプレゼント一覧を取得し、サーバー時間と比較し、時間内のものを設定する

一つでも、受取フラグが受取前であれば上部のプレゼントうけとりボタンにチェックマークを表示し受取ボタンを有効化する

 

unityで受取を実装しよう。

プレゼント受け取り画面にて、ユーザーが受取ボタンを押すと、

プレゼント受け取りコルーチンを回す。

 

 

受取処理をサーバーに行わせ、プレゼントの内容をuserのアイテムに反映する。

同時に対象のプレゼント受け取りフラグを受け取り済みに変更する。

unity側でアイテムを更新してあげれば受取完了

なお、トップのメニューを開くたびにサーバーへ上記の処理を繰り返し行わせて

プレゼントの有無をチェックするために

プレゼント一覧のリスト、my_plesent_data_mapperの変数を毎回clearしてから使用する

 

プレゼント対象者の拡大

例えば、詫び石などでゲームのプレイヤー全てに同一のアイテムを配布する場合

上記のuser_id分のプレゼントレコードを登録すると、サーバーへの負荷が馬鹿にならない。

ユーザー1万人を超えるあたりから、一旦メンテ状態にしてからでないと対応できなかった。

そのため次を追加した。

user_idのテーブルにプレゼント受取済み連番カラムを作成。

プレゼントのテーブルの対象者に user_idでなく、allと記入し

一覧取得時 allも含めて取得→allのプレゼント連番が 受取済み連番でなければ、プレゼント一覧に追加

プレゼント受け取り時、対象がallの場合は、受取フラグではなく、user_idのテーブルにプレゼント受け取り連番を追加する。

これで、実際のプレゼントのレコードは1行で行うことができる。

 

メンテナンスについて

前回メンテの実装の記事を書いたが、実際のとこと今回のように受取済みや、期間を過ぎたプレゼントなどの

消去が具体的なメンテの内容だったりする。

 

 

 

  • このエントリーをはてなブックマークに追加
  • LINEで送る

SNSでもご購読できます。

コメントを残す

*