Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Firebase Unity SDKを触ってみよう!

gremito
August 07, 2018
150

Firebase Unity SDKを触ってみよう!

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

https://docs.google.com/presentation/d/1vkfu_g_4xI3acykturWFkZLnXqbirS5VflCgqpOEB8k

gremito

August 07, 2018
Tweet

Transcript

  1. Firebase Unity SDKを触ってみよう! Firebase Meetup #5 @リンクアンドモチベーション gremito(@grem_ito) 1

  2. アジェンダ • 自己紹介 • Unityでのゲームアプリ開発について • Firebase Unity SDKの導入について •

    Firebase Unity SDKの使い方 • FirebaseとUnityの連携について • まとめ 2
  3. 自己紹介 • 岩本 拓也 ◦ gremito(@grem_ito) • ドリコム ゲーム基盤技術部 所属

    ◦ 自称QAエンジニアやり始めました。 • UNIBOOK(日本Androidの会 Unity部) ◦ UNIBOOK 7・8・9・10で執筆 • 八耐: 八時間耐久制作会(仮) ◦ 8時間でモノ作りをやって発表して交流する会です。 ◦ 約7年ほど参加・運営やってます。 ※Firebaseを扱ったサービス開発は未経験 3
  4. Unityでのゲームアプリ開発について 4

  5. 5

  6. Game System Development iOS/Android Development Unity Build ゲームアプリ開発 - ユーザー情報

    - サーバーサイド - ファイルDL - ネイティブプ ラグイン 6
  7. Firebase Unity SDKの導入について 7

  8. 開発時に主に扱う Firebaseの各サービスとは 8

  9. ユーザー 情報 新しい ゲーム データ プッシュ 通知 9

  10. 10

  11. ユーザー認証 サーバーサイド ファイル サーバー データベース プッシュ通知 設定情報 11

  12. OR 今日の では、 12

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

  14. • 画像・動画・BGM/SEなどの各データがクラウド管理できるファイルサーバー。 • AssetBundleファイルを管理することも可能(確認中) 14

  15. • ユーザーやゲームに関する全データを管理するデータベース。 • NoSQLでデータはJsonとして保存されるため、サービス仕様でゲームアプリの 要件に制限ができてしまう。 15

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

  17. これらを実装する際 17

  18. を最初に組み込む 18

  19. Firebase Unity SDKの使い方 19

  20. Firebase Unity SDKの 組み込み方 20

  21. 1. Firebaseプロジェクト作成 2. 作成したFirebaseプロジェクトにiOS/Androidアプリの追加設定 2-1. Firebaseプロジェクトの設定時とアプリビルド時に扱うAppStoreID(iOS) ・.keystore(Android)の内容が同じでないと連携できないため要注意です。 2-2. また、設定中にGoogleService-Info.plist(iOS)・google-services.json(Android)をダ ウンロード、各設定内容をメモしておく。

    Firebase プロジェクト 作成後 21
  22. 3. Unityプロジェクト作成 4. Unityプロジェクトを開いてFirebase Unity SDKのどれかをインポート 5. Assets/Plugins配下にあるiOS/Android配下にGoogleService-Info.plist(iOS) ・google-services.json(Android)を配置する。 google-services

    .jsonを配置 FirebaseRemote Config .unitypackage をインポート 22
  23. 6. UnityのFile > Build SettingsからプラットフォームをiOS/AndroidのどちらかをSwitch Platformで切り替える。その後、各プラットフォーム別にPlayer Settingsを開いてアプリのビル ド設定を行う。 7. エラーが出ない場合は、正常にFirebaseと連携できるかアプリをビルドしてみる。

    Player Settings の設定 アプリビルド 23
  24. FirebaseとUnityの連携を確認するとき 24

  25. 連携の確認は、 アプリにビルドしないと確認できない。 25

  26. エミュレーターで確認できないため 実機で確認しましょう。 https://stackoverflow.com/questions/43273647/firebase-modules-failed-to-initialize-remote-confi g-missing-dependency 26

  27. FirebaseとUnityの連携について 27

  28. Realtime Databaseは使わずに Cloud Firestoreを使うべし! 28

  29. https://firebase.google.com/docs/database/?hl=ja 29

  30. https://firebase.google.com/docs/firestore/ 30

  31. WebAPI or イベント駆動 • サーバーサイド ◦ Node.js Cloud Functions 認証

    • サインアップ • サインイン • サインアウト Authentication ファイルサーバ • 画像や動画などの保存 Cloud Storage DB • データ保存 Cloud Firestore 31
  32. 32

  33. アクセストークン(Authトークン)と ルールの設定がキモ https://firebase.google.com/docs/admin/setup?hl=ja 33

  34. https://unity-bu.booth.pm/items/831502 500 34

  35. WebAPI or イベント駆動 • サーバーサイド ◦ Node.js Cloud Functions 認証

    • サインアップ • サインイン • サインアウト Authentication ファイルサーバ • 画像や動画などの保存 Cloud Storage DB • データ保存 Cloud Firestore ユーザーのみ アクセスできる ルールの設定 トークン 35
  36. WebAPI or イベント駆動 • サーバーサイド ◦ Node.js Cloud Functions 認証

    • サインアップ • サインイン • サインアウト Authentication ファイルサーバ • 画像や動画などの保存 Cloud Storage DB • データ保存 Cloud Firestore ユーザーのみ アクセスできる ルールの設定 トークン 36
  37. https://speakerdeck.com/k2wanko/firebase-security-rules 37

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

  39. GDG DevFest 2018 https://tokyo2018.gdgjapan.org/ 39

  40. https://gdg-tokyo.connpass.com/event/95307/ 40

  41. UNIBOOK https://unity-bu.booth.pm/ 41

  42. UNIBOOK • Unityに関するTIPS集 • 10作品目では「Firebaseを用いたゲームアプリ開発」 を執筆 http://www.unity-bu.com/2018/08/unibook10-info.html C94 8/10 金

    西れ-11A 1000 42
  43. thank you!! 43