unity ソーシャル メンテ表示をしたい

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

スマホゲーのメンテ表示ってどうなってんの?

そもそもサーバーメンテは大きく2種類ある。

(予定されたメンテナンス)定時バックグランド処理のためのメンテナンス時間

一ヶ月のランキングを処理したり、一週間で溜まった、ゴミデータを削除したりするため、一旦すべてのユーザーをログアウトさせるメンテ。

(突発てきなメンテナンス)トラブル対応、などでサービスが行えない場合のメンテナンス

追加コンテンツなどでバグが見つかった場合や、そもそもサーバーがぶっ壊れた場合など中の人が大慌ての場合。世の中完璧なシステムは存在しないんですわ。

インムス ソシャゲと化した先輩にも両方対応のメンテ表示を追加した。

 

  1. そもそもサーバーに繋がらなかったらメンテ!
  2. プラットフォームごとでメンテ iphone  androidで個別にメンテ時間を設定する。
  3. 予定されたメンテなら終了予定時間を表示する。
  4. unityでメンテ用ダイアログを表示する。

 

そもそもサーバーに繋がらなかったらメンテ!

かなり乱暴な表示だけど、端末からサーバーに繋がらなかったらメンテナンス中とみなす。

もちろん端末がわのWifiが不調とかもあるのでそこは、下記のようにunityでチェックをいれる。

上記でネットが正しくつながる事ができるのにゲームサーバーにつながらない場合にメンテ中とする。

別にドメインなどを用意して、お知らせ用に飛ばす手もあるがそちらを手動で変更する余裕もないのが実情だ。

 

 

 

プラットフォームごとでメンテ iphone  androidで個別にメンテ時間を設定する。

プラットフォーム種類ごとでメンテが必要だったり、そうでなかったりする場合もある。

例えば、バージョンアップしたけど、iphoneは審査が有るためそれまでサービスを止めておきたい場合などだ。

unityで個別にプラットフォームの判別を行う場合は下記の様になる。

注意点は エディターも判定内容に入れるか入れないかを確認すること。

あとは、phpサーバー状態を返すページを作って内容に応じて、メンテナンスダイアログを生成する。

予定されたメンテなら終了予定時間を表示する。

今回は、現在のメンテ情報のほか、予定されたメンテも予告したいため

sqliteにメンテテーブルを作成し

  • メンテ開始時間 、
  • メンテ終了予定時間、
  • androidフラグ 、
  • iosフラグ、
  • メンテの理由のカラム

を作成し、

終了予定時間がなければ、無期限とし、現在のサーバーとの比較を行い現在の状態。 メンテ予定のリストの作成を行った。

 

 

 

 

unityでメンテ用ダイアログを表示する。

一旦 UIパネルで メンテナンス中を示すダイアログを表示し、メンテに関する情報、時間や理由を表示するためのスクリプトを指定する。

prefab化する。

メンテナンスの判定に引っかかった場合は、プレファブからメンテダイアログを作成して表示→

メンテ時間等を記述しておしらせする。

ダイアログは、全面UIPanelをグレーにして、その上にイメージで枠を作る

 

 

インムスでは、予定外のメンテではクッソ汚い石を侘び石してます。

 

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

SNSでもご購読できます。

コメントを残す

*