Submit Search
Upload
UnityとNCMBでユーザ管理を実装してみた話
•
1 like
•
2,582 views
torisoup
Follow
Nifty Cloud Mobile Backend(ニフクラ)を使ってUnityで開発中の同人ゲームのユーザ管理、ライセンス認証をやってみた話です。 2016/07/23
Read less
Read more
Technology
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 29
Download now
Download to read offline
Recommended
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
Observableで非同期処理
Observableで非同期処理
torisoup
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
torisoup
ObserverパターンからはじめるUniRx
ObserverパターンからはじめるUniRx
torisoup
若輩エンジニアから見たUniRxを利用したゲーム開発
若輩エンジニアから見たUniRxを利用したゲーム開発
Hirohito Morinaga
多機能ボイチャを簡単に導入する方法
多機能ボイチャを簡単に導入する方法
Unity Technologies Japan K.K.
はじめてのUniRx
はじめてのUniRx
torisoup
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
Recommended
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
Observableで非同期処理
Observableで非同期処理
torisoup
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
torisoup
ObserverパターンからはじめるUniRx
ObserverパターンからはじめるUniRx
torisoup
若輩エンジニアから見たUniRxを利用したゲーム開発
若輩エンジニアから見たUniRxを利用したゲーム開発
Hirohito Morinaga
多機能ボイチャを簡単に導入する方法
多機能ボイチャを簡単に導入する方法
Unity Technologies Japan K.K.
はじめてのUniRx
はじめてのUniRx
torisoup
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-
torisoup
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
Unity Technologies Japan K.K.
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
torisoup
Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lt
torisoup
インタフェース完全に理解した
インタフェース完全に理解した
torisoup
UniRxことはじめ
UniRxことはじめ
Shoichi Yasui
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
DeNA
UniRxでMV(R)Pパターンをやってみた
UniRxでMV(R)Pパターンをやってみた
torisoup
Assembly Definition あれやこれ
Assembly Definition あれやこれ
NakanoYosuke1
【Unite Tokyo 2019】Render Streaming - WebRTC を用いたストリーミングソリューション
【Unite Tokyo 2019】Render Streaming - WebRTC を用いたストリーミングソリューション
UnityTechnologiesJapan002
UniRx完全に理解した
UniRx完全に理解した
torisoup
MagicOnion入門
MagicOnion入門
torisoup
DeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャ
Haruto Otake
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
UnityTechnologiesJapan002
UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!
Masahiko Nakamura
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
エピック・ゲームズ・ジャパン Epic Games Japan
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
DeNA
[CEDEC2018] UE4アニメーションシステム総おさらい
[CEDEC2018] UE4アニメーションシステム総おさらい
エピック・ゲームズ・ジャパン Epic Games Japan
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
京大 マイコンクラブ
UE4とUnrealC++について
UE4とUnrealC++について
Masahiko Nakamura
誰でも今日から実践できるUnity x PlayFab(Demoパート)
誰でも今日から実践できるUnity x PlayFab(Demoパート)
YutoNishine
アプリエンジニアがサーバーサイドで最初に勉強するべきこと
アプリエンジニアがサーバーサイドで最初に勉強するべきこと
YutoNishine
More Related Content
What's hot
未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-
torisoup
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
Unity Technologies Japan K.K.
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
torisoup
Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lt
torisoup
インタフェース完全に理解した
インタフェース完全に理解した
torisoup
UniRxことはじめ
UniRxことはじめ
Shoichi Yasui
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
DeNA
UniRxでMV(R)Pパターンをやってみた
UniRxでMV(R)Pパターンをやってみた
torisoup
Assembly Definition あれやこれ
Assembly Definition あれやこれ
NakanoYosuke1
【Unite Tokyo 2019】Render Streaming - WebRTC を用いたストリーミングソリューション
【Unite Tokyo 2019】Render Streaming - WebRTC を用いたストリーミングソリューション
UnityTechnologiesJapan002
UniRx完全に理解した
UniRx完全に理解した
torisoup
MagicOnion入門
MagicOnion入門
torisoup
DeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャ
Haruto Otake
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
UnityTechnologiesJapan002
UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!
Masahiko Nakamura
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
エピック・ゲームズ・ジャパン Epic Games Japan
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
DeNA
[CEDEC2018] UE4アニメーションシステム総おさらい
[CEDEC2018] UE4アニメーションシステム総おさらい
エピック・ゲームズ・ジャパン Epic Games Japan
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
京大 マイコンクラブ
UE4とUnrealC++について
UE4とUnrealC++について
Masahiko Nakamura
What's hot
(20)
未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lt
インタフェース完全に理解した
インタフェース完全に理解した
UniRxことはじめ
UniRxことはじめ
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
UniRxでMV(R)Pパターンをやってみた
UniRxでMV(R)Pパターンをやってみた
Assembly Definition あれやこれ
Assembly Definition あれやこれ
【Unite Tokyo 2019】Render Streaming - WebRTC を用いたストリーミングソリューション
【Unite Tokyo 2019】Render Streaming - WebRTC を用いたストリーミングソリューション
UniRx完全に理解した
UniRx完全に理解した
MagicOnion入門
MagicOnion入門
DeNAのサーバー"コード"レスアーキテクチャ
DeNAのサーバー"コード"レスアーキテクチャ
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
[CEDEC2018] UE4アニメーションシステム総おさらい
[CEDEC2018] UE4アニメーションシステム総おさらい
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
UE4とUnrealC++について
UE4とUnrealC++について
Similar to UnityとNCMBでユーザ管理を実装してみた話
誰でも今日から実践できるUnity x PlayFab(Demoパート)
誰でも今日から実践できるUnity x PlayFab(Demoパート)
YutoNishine
アプリエンジニアがサーバーサイドで最初に勉強するべきこと
アプリエンジニアがサーバーサイドで最初に勉強するべきこと
YutoNishine
リアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたい
リアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたい
YutoNishine
Unity ゲーム開発
Unity ゲーム開発
Katsutoshi Makino
【Drop wave】cedec2011『ネットワークゲーム時代に求められる、ゲームプランナーの基礎知識』
【Drop wave】cedec2011『ネットワークゲーム時代に求められる、ゲームプランナーの基礎知識』
モノビット エンジン
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方
Daisaku Mochizuki
みくみくまうすについて&Unity で使えるコーディングノウハウ
みくみくまうすについて&Unity で使えるコーディングノウハウ
torisoup
Webで3Dモデルはどう扱う?PlayCanvas:3Dモデルディープダイブ+新機能紹介!
Webで3Dモデルはどう扱う?PlayCanvas:3Dモデルディープダイブ+新機能紹介!
Game Tools & Middleware Forum
ゆるロボ製作所開発事例 – ドローコール削減
ゆるロボ製作所開発事例 – ドローコール削減
Mikito Yoshiya
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
Shogo Iwano
WebRTCサービスを個人で運営してみた話
WebRTCサービスを個人で運営してみた話
Junki Mizushima
Unitynetwork
Unitynetwork
Shinsuke Sugita
Unity×HTMLで作るiPhone オンラインゲーム開発事例
Unity×HTMLで作るiPhone オンラインゲーム開発事例
Kouji Hosoda
非ゲーム業界のデザイナーが CEDECに参加してきた
非ゲーム業界のデザイナーが CEDECに参加してきた
Meyco U
Unity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだこと
Katsutoshi Makino
Unityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったこと
Kouji Hosoda
サーバ擬人化ユーザ会キックオフ資料 Slideshare ver
サーバ擬人化ユーザ会キックオフ資料 Slideshare ver
Seiichiro Ishida
PhotonCloudで一ヶ月ゲーム作った話
PhotonCloudで一ヶ月ゲーム作った話
Hiroto Imoto
ゲームエンジンの中の話
ゲームエンジンの中の話
Masayoshi Kamai
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
Manabu Shimobe
Similar to UnityとNCMBでユーザ管理を実装してみた話
(20)
誰でも今日から実践できるUnity x PlayFab(Demoパート)
誰でも今日から実践できるUnity x PlayFab(Demoパート)
アプリエンジニアがサーバーサイドで最初に勉強するべきこと
アプリエンジニアがサーバーサイドで最初に勉強するべきこと
リアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたい
リアルタイムなゲームの開発でコンテナを使ってみたら簡単便利で激安だったのでオススメしたい
Unity ゲーム開発
Unity ゲーム開発
【Drop wave】cedec2011『ネットワークゲーム時代に求められる、ゲームプランナーの基礎知識』
【Drop wave】cedec2011『ネットワークゲーム時代に求められる、ゲームプランナーの基礎知識』
ゲームサーバ開発現場の考え方
ゲームサーバ開発現場の考え方
みくみくまうすについて&Unity で使えるコーディングノウハウ
みくみくまうすについて&Unity で使えるコーディングノウハウ
Webで3Dモデルはどう扱う?PlayCanvas:3Dモデルディープダイブ+新機能紹介!
Webで3Dモデルはどう扱う?PlayCanvas:3Dモデルディープダイブ+新機能紹介!
ゆるロボ製作所開発事例 – ドローコール削減
ゆるロボ製作所開発事例 – ドローコール削減
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
短期間+大規模ゲーム開発でも破綻しないHTML・SCSS
WebRTCサービスを個人で運営してみた話
WebRTCサービスを個人で運営してみた話
Unitynetwork
Unitynetwork
Unity×HTMLで作るiPhone オンラインゲーム開発事例
Unity×HTMLで作るiPhone オンラインゲーム開発事例
非ゲーム業界のデザイナーが CEDECに参加してきた
非ゲーム業界のデザイナーが CEDECに参加してきた
Unity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだこと
Unityのオンラインゲームをhtmlに移植してわかったこと
Unityのオンラインゲームをhtmlに移植してわかったこと
サーバ擬人化ユーザ会キックオフ資料 Slideshare ver
サーバ擬人化ユーザ会キックオフ資料 Slideshare ver
PhotonCloudで一ヶ月ゲーム作った話
PhotonCloudで一ヶ月ゲーム作った話
ゲームエンジンの中の話
ゲームエンジンの中の話
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
More from torisoup
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~
torisoup
UniTask入門
UniTask入門
torisoup
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunity
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunity
torisoup
ARでVRアバターを表示するシステムを構築しよう
ARでVRアバターを表示するシステムを構築しよう
torisoup
Unityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
torisoup
Photon Cloud ことはじめ
Photon Cloud ことはじめ
torisoup
アバター生放送支援アプリ「アバれぽ」
アバター生放送支援アプリ「アバれぽ」
torisoup
コールバックと戦う話
コールバックと戦う話
torisoup
Task vs Observable
Task vs Observable
torisoup
UniRxでPUNを使いやすくする
UniRxでPUNを使いやすくする
torisoup
Unity講習会(初級)
Unity講習会(初級)
torisoup
More from torisoup
(11)
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~
UniTask入門
UniTask入門
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunity
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunity
ARでVRアバターを表示するシステムを構築しよう
ARでVRアバターを表示するシステムを構築しよう
Unityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
Photon Cloud ことはじめ
Photon Cloud ことはじめ
アバター生放送支援アプリ「アバれぽ」
アバター生放送支援アプリ「アバれぽ」
コールバックと戦う話
コールバックと戦う話
Task vs Observable
Task vs Observable
UniRxでPUNを使いやすくする
UniRxでPUNを使いやすくする
Unity講習会(初級)
Unity講習会(初級)
Recently uploaded
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Recently uploaded
(10)
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
UnityとNCMBでユーザ管理を実装してみた話
1.
Unity + NCMBで ユーザ管理してみた 2016/07/23 @toRisouP
2.
自己紹介 • 名前 とりすーぷ(@toRisouP) •
本業はWeb系エンジニア – 最近は主にScalaを書いてます • 趣味でC#/Unity開発をやってます
3.
今回話す内容 • NCMBでユーザ管理した話 – Unity要素薄いけどごめんね –
まだ開発中で実運用に入ってないので、 紹介するやり方で問題が起きないとは言えません! この方式を信用しないで!
4.
開発中のゲーム • 「ハクレイフリーマーケット」 – 東方二次創作ゲーム(PC向け同人ゲーム) –
ネットワーク対戦専用3Dアクション
5.
使ってるもの • ゲーム本体 – Unity •
通信対戦部分 – Photon Cloud • ユーザ管理 – Nifty Cloud Mobile Backend(NCMB) – 自前のライセンス認証サーバ
6.
やらなくてはいけないこと • プレイヤーの登録・管理 – メールアドレスを使った登録 –
パスワードログイン、パスワード再発行 • シリアルコードによるアクティベーション – 未購入者は体験版モードで動作 – 購入者のみフル機能で遊べるようにしたい
7.
どうやってやる? • ユーザ情報自体の管理はNCMBで – ユーザ情報を自前のサーバで持ちたくない –
ユーザ管理周りの機能はNCMBが完全にサポート • アクティベーション機能は自作ライセンスサーバ – 認証サーバを自作したほうが安いし汎用的 – NCMBのカスタムスクリプト機能でできたらよかったんだけど… • 無料プランだと100回/月しか実行できないからきびしい
8.
アクティベーションサーバ • フレームワーク:Ruby on
Rails – ncmb-ruby-client をforkして改修して利用 – PostgreSQL + Redis • ConoHa VPS(1Gプラン)にて稼働 – 単一サーバ構成 – ライセンスサーバが落ちててもゲーム自体は動くから… • 少なくともアクティベーション済みユーザには影響なし
9.
アクティベーションサーバ • DBにシリアルコードをハッシュ化して保持 • クライアントからシリアルコードとobject
idを受信する – DBを参照して正しいコードか確認 – 送られてきたobject idのユーザが実在するか確認 – 問題なければNCMBのデータストアに購入フラグを保存
10.
購入フラグ • 購入フラグはNCMBのデータストアで管理 – ライセンスサーバが落ちててもゲームが動くようにしたいから –
ゲームログイン時にデータストアを検索して購入状態を確認する
11.
図解 ゲームクライアント アクティベーション サーバ シリアルコードと ユーザID送信して認証 データストア更新 購入フラグを確認
12.
絶対にやらないといけない設定 • 購入フラグはAdminのみ書き込み許可にする – NCMBのACL(パーミッション設定)機能を利用 –
ライセンス認証サーバからの操作のみ書き込み許可 – ユーザから勝手にフラグを書き換えられないようにする
13.
図解 ゲームクライアント アクティベーション サーバ ☓ クライアントからは更新できない (ACL設定で制御)
14.
図解 ゲームクライアント アクティベーション サーバ アクティベーションサーバは Adminロールのユーザとしてログイン ログインAPI Session Token SessionTokenはRedisにexpire付きで保存 揮発したら再度ログインAPIを叩く
15.
図解 ゲームクライアント アクティベーション サーバ シリアルコードと ユーザID送信 課金フラグをセット AdminのSession Tokenを利用して データストア更新APIを実行
16.
ACL設定周りの罠
17.
ACLのリファレンス • ACLの書き換え方(REST API)
18.
「なるほど、許可したいところに trueを設定するのか」
19.
「ということは、不許可にするときは falseにすればいいんだな!」
20.
{ "acl": { "role:Admin": { "read":
true, "write": false } } }
21.
400 Bad Request
22.
なんで? • ACLの書き換え方(REST API) –
不許可にするときは要素を定義しないが正解 – APIに対称性がないので感覚で使うと死ぬパターン – リファレンスにわかりにくいけどちゃんと書いてある
23.
ちなみに • UnityからACLを書き換える時も注意が必要 – 下記のコードは何も起きない –
何故か?
24.
理由 • 「Userオブジェクト自体に更新が無いと通信処理を 行わない実装になっているから」 – 内部実装を読まないと気づかないよコレ…
25.
解決策 • 明示的に代入をする – Userオブジェクトに更新があったことを自覚させる必要がある
26.
NCMBを使う上でのポイント • わからなくなったらREST APIリファレンスから辿る –
リファレンスのUnityの項目は中途半端にしか書いてない – APIパスでファイル内検索して実装を見つけてそこから辿ったほうが早い • Unityプラグインの実装も読む – 逆にREST APIの使い方がわからない場合、実装を読むとわかることがある – NCMBObjectクラスの実装を理解すればとりあえずなんとかなる • わからないことがあったら@Takaaki_Ichijoさんに聞く – 無料プランだと技術サポートに問い合わせできない – ユーザコミュニティは人がいなくてあんまり盛り上がってない – 一條さんに問い合わせた方が早いかも
27.
所感 • NCMBのユーザ管理はとても優秀 – メールアドレス認証やパスワード再発行も簡単にできる –
無料でこれだけの機能が使えるのは良い • ライセンスサーバ自分で作るの面倒くさかった – 保守するものが増えるのはだるい… – スクリプト機能が無料でもちゃんと使えたらよかったな… • ACL周りの設定が罠っぽい – REST API側もUnity Plugin側も両方罠っぽい – リファレンスをわかりやすく書いてくれると嬉しいな…
28.
未だにわからないこと • 「ユーザが所属しているロールの取得方法」 – ロールに所属する会員一覧は取れるのだが… •
逆引き方法はREST APIみてもよくわからなかった – 結局ロールを使わない実装にして回避した • その結果がデータストアで購入フラグを管理するというやり方
29.
以上
Download now