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

UnityとGoogleCloudFunction を連携して社内サービスを作った話

UnityとGoogleCloudFunction を連携して社内サービスを作った話

Lightening Talk on Qiita Engineer Fes2023

Cova8bitdots

July 14, 2023
Tweet

More Decks by Cova8bitdots

Other Decks in Programming

Transcript

  1. Unityとは • Unity Technologies が提供するゲームエンジン • 基本⾔語はC# • PC, iOS,

    Android, WebGL, コンシューマーゲーム機向けに 
 アプリをビルドすることが可能 • 国内スマホゲームは⼤体Unity製 • プラグインの導⼊でAR/VRなども対応可能 6 Qiita Engineer Festa 2023〜私しか得しないニッチな技術でLT〜
  2. GoogleCloudFunction(GCF)とは • GoogleCloudPlatform 上で提供される Function as a Service • いわゆるサーバーレス

    • JavaScript, Python などのコードを実⾏可能 8 Qiita Engineer Festa 2023〜私しか得しないニッチな技術でLT〜
  3. Unity + GCF + GCSql で社内のデバッグ端末管理サービスを構築しました 14 Qiita Engineer Festa

    2023〜私しか得しないニッチな技術でLT〜 実装:C# 実装:Python 実装:Python
  4. Unity + GCF + GCSql で社内のデバッグ端末管理サービスを構築しました 15 Qiita Engineer Festa

    2023〜私しか得しないニッチな技術でLT〜 デバッグ端末の貸し出し・返却フロー
  5. Unity + GCF + GCSql で社内のデバッグ端末管理サービスを構築しました 16 Qiita Engineer Festa

    2023〜私しか得しないニッチな技術でLT〜 返却期限すぎてる端末チェック&通知
  6. Unity + GCF + GCSql で社内のデバッグ端末管理サービスを構築しました 17 Qiita Engineer Festa

    2023〜私しか得しないニッチな技術でLT〜 NFCタグ 社員証(Felica)
  7. Unity→GCFのEndpointを叩く部分で苦労した • cURLでのPOSTはOK • PostデータはJSON • UnityはUnityWebRequestというcURLの 
 ラッパークラスのようなものが存在 •

    UnityWebRequestで普通にEndpointを 
 叩いても400で弾かれた 18 Qiita Engineer Festa 2023〜私しか得しないニッチな技術でLT〜 https://qiita.com/Cova8bitdot/items/2aa8365f2dbbc1f2d81a
  8. Unity→GCFのEndpointを叩く部分で苦労した • 解決方法 • UnityWebRequestにヘッダを書く • UnityWebRequestのDownloadHandler 
 UploadHandlerを書く •

    Post するjsonデータをバイナリ変換してアップロード • 理由:わからん!でもこれで動く!謎! 19 Qiita Engineer Festa 2023〜私しか得しないニッチな技術でLT〜 https://qiita.com/Cova8bitdot/items/2aa8365f2dbbc1f2d81a
  9. まとめ • スマホゲーム等では Unity→APIサーバー(GCE/EC2) のようにAPIサーバーを用意することが多い • 社内サービス等小規模であればサーバレスの GCFやLambda で代替は可能 •

    意外と既知の技術同士の組み合わせをやってない場合がある • ある意味ブルーオーシャン(水深1.5m) • Qiitaは「いつか誰かの役に立つだろう」という知見共有に最適! • たとえバズらなくても記事を書こう! 20 Qiita Engineer Festa 2023〜私しか得しないニッチな技術でLT〜