1 of 43

Firebase Unity SDKを触ってみよう!

Firebase Meetup #5 @リンクアンドモチベーション

gremito(@grem_ito)

1

2 of 43

アジェンダ

  • 自己紹介
  • Unityでのゲームアプリ開発について
  • Firebase Unity SDKの導入について
  • Firebase Unity SDKの使い方
  • FirebaseとUnityの連携について
  • まとめ

2

3 of 43

自己紹介

  • 岩本 拓也
    • gremito(@grem_ito)
  • ドリコム ゲーム基盤技術部 所属
    • 自称QAエンジニアやり始めました。
  • UNIBOOK(日本Androidの会 Unity部
    • UNIBOOK 7・8・9・10で執筆
  • 八耐: 八時間耐久制作会(仮)
    • 8時間でモノ作りをやって発表して交流する会です。
    • 約7年ほど参加・運営やってます。

3

※Firebaseを扱ったサービス開発は未経験

4 of 43

Unityでのゲームアプリ開発について

4

5 of 43

5

6 of 43

6

Game System

Development

iOS/Android

Development

Unity Build

ゲームアプリ開発

  • ユーザー情報
  • サーバーサイド
  • ファイルDL
  • ネイティブプラグイン

7 of 43

Firebase Unity SDKの導入について

7

8 of 43

開発時に主に扱う

Firebaseの各サービスとは

8

9 of 43

9

ユーザー

情報

新しい

ゲーム

データ

プッシュ

通知

10 of 43

10

11 of 43

11

ユーザー認証

サーバーサイド

ファイル

サーバー

データベース

プッシュ通知

設定情報

12 of 43

12

OR

今日の

では、

13 of 43

  • ゲームアプリの場合、だいたい自動でユーザー認証が当たり前。
    • Unity&iOS/Android共通でGoogleアカウント認証Facebook認証Twitter認証のどれか
    • またはメールアドレスとパスワードを裏側で自動発行・自動認証のシステムを作る

13

14 of 43

  • 画像・動画・BGM/SEなどの各データがクラウド管理できるファイルサーバー。

  • AssetBundleファイルを管理することも可能(確認中)

14

15 of 43

  • ユーザーやゲームに関する全データを管理するデータベース。

  • NoSQLでデータはJsonとして保存されるため、サービス仕様でゲームアプリの要件に制限ができてしまう。

15

16 of 43

  • アプリの強制アップデートやアプリ上で扱うテキストや数値、真理値などをリモートで管理ができる。
    • ABテストを作る際には慎重に。

16

17 of 43

17

これらを実装する際

18 of 43

18

を最初に組み込む

19 of 43

Firebase Unity SDKの使い方

19

20 of 43

Firebase Unity SDKの

組み込み方

20

21 of 43

1. Firebaseプロジェクト作成

2. 作成したFirebaseプロジェクトにiOS/Androidアプリの追加設定

2-1. Firebaseプロジェクトの設定時とアプリビルド時に扱うAppStoreID(iOS)・.keystore(Android)の内容が同じでないと連携できないため要注意です。

2-2. また、設定中にGoogleService-Info.plist(iOS)・google-services.json(Android)をダウンロード、各設定内容をメモしておく。

21

Firebase

プロジェクト

作成後

22 of 43

3. Unityプロジェクト作成

4. Unityプロジェクトを開いてFirebase Unity SDKのどれかをインポート

5. Assets/Plugins配下にあるiOS/Android配下にGoogleService-Info.plist(iOS)・google-services.json(Android)を配置する。

22

google-services.jsonを配置

FirebaseRemoteConfig

.unitypackage

をインポート

23 of 43

6. UnityのFile > Build SettingsからプラットフォームをiOS/AndroidのどちらかをSwitch Platformで切り替える。その後、各プラットフォーム別にPlayer Settingsを開いてアプリのビルド設定を行う。

7. エラーが出ない場合は、正常にFirebaseと連携できるかアプリをビルドしてみる。

23

Player Settings

の設定

アプリビルド

24 of 43

FirebaseとUnityの連携を確認するとき

24

25 of 43

連携の確認は、

アプリにビルドしないと確認できない

25

26 of 43

エミュレーターで確認できないため

実機で確認しましょう。

26

27 of 43

FirebaseとUnityの連携について

27

28 of 43

28

Realtime Databaseは使わずに

Cloud Firestoreを使うべし!

29 of 43

29

30 of 43

30

31 of 43

31

WebAPI or イベント駆動

  • サーバーサイド
    • Node.js

Cloud Functions

認証

  • サインアップ
  • サインイン
  • サインアウト

Authentication

ファイルサーバ

  • 画像や動画などの保存

Cloud Storage

DB

  • データ保存

Cloud Firestore

32 of 43

32

33 of 43

アクセストークン(Authトークン)と

ルールの設定がキモ

33

34 of 43

34

500

35 of 43

35

WebAPI or イベント駆動

  • サーバーサイド
    • Node.js

Cloud Functions

認証

  • サインアップ
  • サインイン
  • サインアウト

Authentication

ファイルサーバ

  • 画像や動画などの保存

Cloud Storage

DB

  • データ保存

Cloud Firestore

ユーザーのみ

アクセスできる

ルールの設定

トークン

36 of 43

36

WebAPI or イベント駆動

  • サーバーサイド
    • Node.js

Cloud Functions

認証

  • サインアップ
  • サインイン
  • サインアウト

Authentication

ファイルサーバ

  • 画像や動画などの保存

Cloud Storage

DB

  • データ保存

Cloud Firestore

ユーザーのみ

アクセスできる

ルールの設定

トークン

37 of 43

37

38 of 43

まとめ

  • Firebase Unity SDKの導入・使い方について学びました。
  • Firebaseを上手に使ってゲームアプリ開発を楽しみましょう!

38

39 of 43

GDG DevFest 2018

39

40 of 43

40

41 of 43

UNIBOOK

41

42 of 43

UNIBOOK

  • Unityに関するTIPS集
  • 10作品目では「Firebaseを用いたゲームアプリ開発」を執筆

42

C94 8/10 金 西れ-11A

1000

43 of 43

thank you!!

43