スポンサーリンク

【Unity】Google FireBase を使ってみる

Google FireBase

概略

公式の説明だと以下の通りです。

Firebase Unity SDK を使用して Unity ゲームをパワーアップさせることができます。
アナリティクスを使用すると、プレーヤーがゲームをどのように体験しているか、ゲームのプレイ時間、レベルのクリアにかかった時間、購入したアプリ内コンテンツなどがわかります。
Dynamic Links を使用すると、カスタムレベル、ゲーム内アイテム、ゲームへの招待状などのコンテンツをプレーヤー間で共有できるようになります。
Cloud Messaging を使用すると、ゲームの既存のコンテンツをクリアしたプレーヤーに対して、新しいコンテンツをリリースするときにプッシュ通知を送信することができます。
Remote Config を使用すると、敵の密度やパワーアップの頻度など、デベロッパーが制御したいゲーム内設定を迅速に調整することができます。
Realtime Database を使用すると、カスタムマップなど、ユーザーが生成したコンテンツをクラウドに安全に保存できます。
Cloud Storage を使用すると、安全なサービスを使用して、プレーヤーにダウンロード可能なコンテンツを配信できます。

Googleが提供してくれるmBaaSです。mBaaSって何?って 下記を見て何となく理解できれば大丈夫ですよ。自分もよくわかりませんからwww
BaaS 【 Backend as a Service 】 MBaaS / Mobile Backend as a Service

機能

機能的には、下記に分類されます。詳細は本家でご確認願います。いろいろと変な日本語になってるのはご愛敬。AIもマダマダだと思う。
 1.アナリティクス    分析
 2.ユーザ管理   ゲーム利用者の管理
 3.Dynamic Links ゲーム利用者間の連携
 4.Cloud Messaging 通知メッセージ
 5.Remote Config パラメータ管理
 6.Realtime Database  データ管理
 7.Cloud Storage    コンテンツデータ

上記の中で現在利用しようとしているのは5つの機能です。ここがダメダメとかだから採用しないわけじゃなく現在の進捗的に不要のためです。将来的にはわかりません。
 1.アナリティクス    分析は、大事ってよく言うでしょ
 2.ユーザ管理   利用者を特定します。だって課金アイテム出すでしょう?
 5.Remote Config パラメータ管理。コンテンツ
 6.Realtime Database セーブデータを保管します。これ値段高いから要検討だけどね。。。
 7.Cloud Storage    Levelデータやらを保存します。最終的には、AssetBundleも保存するかも。

個々に使い方のイメージを整理します。
アナリティクス:Unityのアナリティクスとどっりがいいんでしょうね?
CommunityForumsで議論されてますが、読んでも決定打がありません。FireBaseは、iosとAndroidのみ対応ことで、ちょっと使いずらいかもしれません。今回は、FireBaseを使おうかと思ってます。今のところ。

ユーザ管理:第一弾はカジュアルゲームです。ユーザ登録してから~みたいな事はしないようにしたいですね。でも、Saveデータやらを管理しますので特定は必要です。
機能的に、匿名ユーザってのがあります。その他 SNSとも連携できますが・・・まぁ いろいろと面倒になりそうなので、匿名ログインを中心に考えます。

Remote Config:これは便利な機能です。iniファイルのような使い方をします。エッ 古い?。わかる人だけでいいんですwww(固定値管理です)
Realtime Database:個々ユーザのSave/Loadをします。またランキング機能とかもこれですね。
Cloud Storage:CSVで作ったLevelデータやObjectList色々なデータをファイル形式で保存。これを読み取ってメモリに展開します。

今後、それぞれの使い方を説明していきたいと思います。

今日はここまで。