Submit Search
Upload
Unityでソーシャルログイン機能を実装してみた
•
6 likes
•
26,039 views
昭
昭仁 賀好
Follow
2015/11/20 第35回代々木Unity勉強会
Read less
Read more
Software
Report
Share
Report
Share
1 of 40
Download now
Download to read offline
Recommended
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Yoshifumi Kawai
UniTask入門
UniTask入門
torisoup
UniRx完全に理解した
UniRx完全に理解した
torisoup
UnityでUI開発を高速化した件
UnityでUI開発を高速化した件
Grenge, Inc.
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
torisoup
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
DeNA
Observableで非同期処理
Observableで非同期処理
torisoup
Recommended
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Yoshifumi Kawai
UniTask入門
UniTask入門
torisoup
UniRx完全に理解した
UniRx完全に理解した
torisoup
UnityでUI開発を高速化した件
UnityでUI開発を高速化した件
Grenge, Inc.
Unity開発で使える設計の話+Zenjectの紹介
Unity開発で使える設計の話+Zenjectの紹介
torisoup
大規模ゲーム開発における build 高速化と安定化
大規模ゲーム開発における build 高速化と安定化
DeNA
Observableで非同期処理
Observableで非同期処理
torisoup
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
Unity Technologies Japan K.K.
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
Game Tools & Middleware Forum
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
エピック・ゲームズ・ジャパン Epic Games Japan
OpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみた
Takahiro Miyaura
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
Unity Technologies Japan K.K.
Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lt
torisoup
Cinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作る
Unity Technologies Japan K.K.
DeNA TechCon2019 How to implement live streaming client using Unity
DeNA TechCon2019 How to implement live streaming client using Unity
Takeyuki Ogura
コールバックと戦う話
コールバックと戦う話
torisoup
【Unite 2017 Tokyo】Unityを使ったNintendo Switch™ローンチタイトル制作~スーパーボンバーマンRの事例~
【Unite 2017 Tokyo】Unityを使ったNintendo Switch™ローンチタイトル制作~スーパーボンバーマンRの事例~
Unite2017Tokyo
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
Unity Technologies Japan K.K.
Epic Online Services でできること
Epic Online Services でできること
エピック・ゲームズ・ジャパン Epic Games Japan
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
Photon運営事務局
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事
Unity Technologies Japan K.K.
MagicOnion入門
MagicOnion入門
torisoup
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
Unity Technologies Japan K.K.
UniRxでMV(R)Pパターンをやってみた
UniRxでMV(R)Pパターンをやってみた
torisoup
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
エピック・ゲームズ・ジャパン Epic Games Japan
20090410 Idcon Stomita
20090410 Idcon Stomita
Shinichi Tomita
Handoffは動かない〜これから役立たないバッドノウハウ集
Handoffは動かない〜これから役立たないバッドノウハウ集
Yuichi Yoshida
More Related Content
What's hot
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
Unity Technologies Japan K.K.
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
Game Tools & Middleware Forum
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
torisoup
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
エピック・ゲームズ・ジャパン Epic Games Japan
OpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみた
Takahiro Miyaura
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
Unity Technologies Japan K.K.
Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lt
torisoup
Cinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作る
Unity Technologies Japan K.K.
DeNA TechCon2019 How to implement live streaming client using Unity
DeNA TechCon2019 How to implement live streaming client using Unity
Takeyuki Ogura
コールバックと戦う話
コールバックと戦う話
torisoup
【Unite 2017 Tokyo】Unityを使ったNintendo Switch™ローンチタイトル制作~スーパーボンバーマンRの事例~
【Unite 2017 Tokyo】Unityを使ったNintendo Switch™ローンチタイトル制作~スーパーボンバーマンRの事例~
Unite2017Tokyo
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
Unity Technologies Japan K.K.
Epic Online Services でできること
Epic Online Services でできること
エピック・ゲームズ・ジャパン Epic Games Japan
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
Photon運営事務局
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事
Unity Technologies Japan K.K.
MagicOnion入門
MagicOnion入門
torisoup
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
Unity Technologies Japan K.K.
UniRxでMV(R)Pパターンをやってみた
UniRxでMV(R)Pパターンをやってみた
torisoup
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
エピック・ゲームズ・ジャパン Epic Games Japan
What's hot
(20)
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
UE4でマルチプレイヤーゲームを作ろう
UE4でマルチプレイヤーゲームを作ろう
OpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみた
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lt
Cinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作る
DeNA TechCon2019 How to implement live streaming client using Unity
DeNA TechCon2019 How to implement live streaming client using Unity
コールバックと戦う話
コールバックと戦う話
【Unite 2017 Tokyo】Unityを使ったNintendo Switch™ローンチタイトル制作~スーパーボンバーマンRの事例~
【Unite 2017 Tokyo】Unityを使ったNintendo Switch™ローンチタイトル制作~スーパーボンバーマンRの事例~
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
Epic Online Services でできること
Epic Online Services でできること
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
【Photon勉強会】1時間でわかるプラグイン開発とその実際(2017/3/23講演)
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
UnityのMultiplayサービスの得意な事
UnityのMultiplayサービスの得意な事
MagicOnion入門
MagicOnion入門
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
UniRxでMV(R)Pパターンをやってみた
UniRxでMV(R)Pパターンをやってみた
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
Similar to Unityでソーシャルログイン機能を実装してみた
20090410 Idcon Stomita
20090410 Idcon Stomita
Shinichi Tomita
Handoffは動かない〜これから役立たないバッドノウハウ集
Handoffは動かない〜これから役立たないバッドノウハウ集
Yuichi Yoshida
20230226ゆるあさ.pdf
20230226ゆるあさ.pdf
ssuser31cff0
リモート・スマホ・レンタル
リモート・スマホ・レンタル
NTT Resonant Technology Inc.
モノづくりを楽しもう! ~ このデバイスとクラウドでできること
モノづくりを楽しもう! ~ このデバイスとクラウドでできること
Kazumi IWANAGA
xR Tech Tokyo 登壇資料 Mixed Realityではじまるコラボレーティブ・コンピューティング
xR Tech Tokyo 登壇資料 Mixed Realityではじまるコラボレーティブ・コンピューティング
Shinya Tachihara
IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話
IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話
Koichi Ota
CognitoとSDKでサーバーレスなマルチデバイスアプリを構築する
CognitoとSDKでサーバーレスなマルチデバイスアプリを構築する
Hiroyoshi Miyazaki
金沢アプリ塾 アプリ・オープンデータとライセンス
金沢アプリ塾 アプリ・オープンデータとライセンス
Masayuki KaToH
Androidアプリ 長い黒髪のマイカノジョ 制作ノート
Androidアプリ 長い黒髪のマイカノジョ 制作ノート
Hiroyuki Shimanishi
Pokelabo android web
Pokelabo android web
Shumpei Shiraishi
Androidとインターネット連携
Androidとインターネット連携
高見 知英
kontagent紹介資料
kontagent紹介資料
Eiji Hachiya
運用管理を楽にしたいという話
運用管理を楽にしたいという話
Hisashi HATAKEYAMA
iOS豆知識ver0.0.5
iOS豆知識ver0.0.5
ppengotsu Name
SensuのGUI/CUIの雑感
SensuのGUI/CUIの雑感
Hiroaki Sano
Unity に於けるモバイルプラットフォーム向けビルド自動化のおはなし
Unity に於けるモバイルプラットフォーム向けビルド自動化のおはなし
Mori Tetsuya
【 #Unity会 】このUnityがすごい2015年版
【 #Unity会 】このUnityがすごい2015年版
ui nyan
Couchbase x unity
Couchbase x unity
MakotoItoh
特にタイトルはない
特にタイトルはない
Aya Komuro
Similar to Unityでソーシャルログイン機能を実装してみた
(20)
20090410 Idcon Stomita
20090410 Idcon Stomita
Handoffは動かない〜これから役立たないバッドノウハウ集
Handoffは動かない〜これから役立たないバッドノウハウ集
20230226ゆるあさ.pdf
20230226ゆるあさ.pdf
リモート・スマホ・レンタル
リモート・スマホ・レンタル
モノづくりを楽しもう! ~ このデバイスとクラウドでできること
モノづくりを楽しもう! ~ このデバイスとクラウドでできること
xR Tech Tokyo 登壇資料 Mixed Realityではじまるコラボレーティブ・コンピューティング
xR Tech Tokyo 登壇資料 Mixed Realityではじまるコラボレーティブ・コンピューティング
IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話
IoT Hub と Azure Funxtions とかで片桐ヒマボタンを作った話
CognitoとSDKでサーバーレスなマルチデバイスアプリを構築する
CognitoとSDKでサーバーレスなマルチデバイスアプリを構築する
金沢アプリ塾 アプリ・オープンデータとライセンス
金沢アプリ塾 アプリ・オープンデータとライセンス
Androidアプリ 長い黒髪のマイカノジョ 制作ノート
Androidアプリ 長い黒髪のマイカノジョ 制作ノート
Pokelabo android web
Pokelabo android web
Androidとインターネット連携
Androidとインターネット連携
kontagent紹介資料
kontagent紹介資料
運用管理を楽にしたいという話
運用管理を楽にしたいという話
iOS豆知識ver0.0.5
iOS豆知識ver0.0.5
SensuのGUI/CUIの雑感
SensuのGUI/CUIの雑感
Unity に於けるモバイルプラットフォーム向けビルド自動化のおはなし
Unity に於けるモバイルプラットフォーム向けビルド自動化のおはなし
【 #Unity会 】このUnityがすごい2015年版
【 #Unity会 】このUnityがすごい2015年版
Couchbase x unity
Couchbase x unity
特にタイトルはない
特にタイトルはない
Unityでソーシャルログイン機能を実装してみた
1.
Unityで ソーシャルログイン機能を 実装してみた 株式会社qnote 賀好 昭仁
2.
自己紹介 • 賀好 昭仁
@Ijoru • PHP/JavaScript→Android/iOS→Unity • 職場は猫だらけ • ボドゲ好き
3.
ソーシャルログイン FacebookやTwitterなどの SNSアカウントを使ってログインさせること
4.
なんか良いことあるの? • プレイまでのハードルを下げられる • SNS情報の利用が可能 •
拡散の機会増加 • ユーザのモチベーション維持 • OSに依存しない • 個人情報の管理が不要 • 俺ソーシャルログイン実装したことあるぜって言える
5.
実装までの経緯 • 端末を落としても復旧可能にしたい • ついでに複数の端末でデータを共有したい •
コストは出来るだけ抑えたい • Android/iOS両対応させたい こんな要件があった
6.
実装までの経緯 • 端末を落としても復旧可能にしたい • ついでに複数の端末でデータを共有したい •
コストは出来るだけ抑えたい • Android/iOS両対応させたい →ソーシャルログインなら要件を満たせる Parseも使ってるし簡単に実装出来るはず こんな要件があった
7.
実装までの経緯 • 端末を落としても復旧可能にしたい • ついでに複数の端末でデータを共有したい •
コストは出来るだけ抑えたい • Android/iOS両対応させたい →ソーシャルログインなら要件を満たせる Parseも使ってるし簡単に実装出来るはず こんな要件があった DEATH!
8.
Parseとは?
9.
Parseとは? • Facebookが買収したmBaaS
10.
Parseとは? • Facebookが買収したmBaaS • 秒間30リクエストまで無料
11.
Parseとは? • Facebookが買収したmBaaS • 秒間30リクエストまで無料 •
データやファイルは20GBまで無料
12.
Parseとは? • Facebookが買収したmBaaS • 秒間30リクエストまで無料 •
データやファイルは20GBまで無料 • PUSH毎月100万台
13.
Parseとは? • Facebookが買収したmBaaS • 秒間30リクエストまで無料 •
データやファイルは20GBまで無料 • PUSH毎月100万台 • 餃子一日100万個
14.
Parseとは? • Facebookが買収したmBaaS • 秒間30リクエストまで無料 •
データやファイルは20GBまで無料 • PUSH毎月100万台 • 餃子一日100万個 • Android/iOS/UnityなどのSDKあり
15.
Parseとは? • Facebookが買収したmBaaS • 秒間30リクエストまで無料 •
データやファイルは20GBまで無料 • PUSH毎月100万台 • 餃子一日100万個 • Android/iOS/UnityなどのSDKあり • Facebook/Twitterでのソーシャルログイン機能あり
16.
だがしかし
17.
18.
ParseのUnitySDKは ソーシャルログインに対応していなかった
19.
ParseのUnitySDKは ソーシャルログインに対応していなかった ||| orz |||
20.
ソーシャルログイン用のライブラリを探す旅に
21.
SOOMLA Profile • Facebook/Twitter/Google+でのソーシャルログイン •
オープンソース • アップデートが盛ん • コミュニティがある • 母体の課金ライブラリ「SOOMLA」が中々優秀
22.
導入手順をかるーく • SOOMLA Profileをインポート(Asset
Store) • Facebook SDKをインポート(Asset Store) • CoreEventsとProfileEventsのPrefabを配置 • Window→Soomla→Edit Settings • Facebook→Edit Settings • SoomlaProfile.Initialize(); • 何はともあれこちらを見ながらやるべし
23.
認証処理をかるーく using UnityEngine; using System.Collections; using
Soomla.Profile; public class SceneController : MonoBehaviour { private void Start() { SoomlaProfile.Initialize(); ProfileEvents.OnSoomlaProfileInitialized += OnInitialized; ProfileEvents.OnLoginFinished += OnLoginFinished; ProfileEvents.OnLoginFailed += OnLoginFailed; ProfileEvents.OnLoginCancelled += OnLoginCancelled; }
24.
認証処理をかるーく private void OnSoomlaProfileInitialized() { //
試しにTwitterでログインしてみる SoomlaProfile.Login(Provider.TWITTER); }
25.
private void OnLoginFinished(UserProfile
profile, bool autoLogin, string payload) { Debug.Log(“ログイン完了”); // Twitterは全アプリ共通 // Facebookはアプリ毎に変わるっぽい Debug.Log("ProfileID:" + profile.ProfileId); // ログインに使ったプロバイダ // (FACEBOOK/TWITTER/GOOGLE) Debug.Log("Provider:" + profile.Provider.ToString()); // ログアウトしてみる SoomlaProfile.Logout(profile.Provider); }
26.
private void OnLoginFailed(Provider
provider, string errorMessage, bool autoLogin, string payload) { Debug.Log("ログイン失敗"); } private void OnLoginCancelled(Provider provider, bool autoLogin, string payload) { Debug.Log("ログインキャンセル"); } }
27.
実際やってみると色々ハマりました
28.
コールバックの参照残ってますよ問題 ・コールバックを登録しっぱなしだと、 GameObjectが開放された時にNullPointerが発生 コールバック内からGameObjectを操作すると発生し得る。 →コールバックは不要になった時点で必ず消す ProfileEvents.OnSoomlaProfileInitialized -= OnInitialized;
29.
(2015年7月時点のバージョンで発生) SOOMLA Profileが結構バギーでした問題 ・iOSの設定でTwitterを登録していると、必ずアプリが落ちる 単純にネイティブプラグインのバグ。 ただし、AssetにはFIX未反映だった。 →プラグイン最新版をgitから落としてきて差し替えた
30.
・ブラウザなどで先にログアウトすると、 SOOMLA Profileでのログアウトに失敗する 未ログインってみなされてログアウト失敗。 でも SoomlaProfile.IsLoggedIn()
は true を返し続ける。 →アプリ側にログイン中かどうかのフラグを持たせた
31.
・ログアウト→再ログインしようとしたとき、 アカウント入力してないのに勝手にログインされる AndroidでのTwitterログインで発生。 WebViewのキャッシュの問題っぽい。 →キャッシュを毎回クリアするようにした
32.
・AndroidでTwitterログインに失敗したとき、 認証ウインドウの表示がおかしくなる ログイン失敗時にWebView内でリダイレクトループが発生、 エラーメッセージが表示されてしまっていた。 →特定のURLを受け取った時、ページ遷移させずに 認証失敗の処理を実行するようにした
33.
・iOSでTwitterログインすると頻繁に落ちる ネイティブプラグイン内でログイン成功&失敗の 両方の処理が呼ばれることがあり、これが原因だった。 →認証トークンを持っているのに失敗が呼ばれたときは 処理をスキップするようにした
34.
困った時はコミュニティを活用しよう https://answers.soom.la/? utm_source=soomla_profile&utm_medium=unity_plugin
35.
そして頑張った結果・・・!
36.
37.
リジェクト
38.
ソーシャルログインを実装する場合、確たる理由が無 いとダメ (認証のためだけに使うのはNG) https://developer.apple.com/app-store/review/ guidelines/#privacy
39.
まとめ • SOOMLA Profileは間違いなく使える •
ネイティブプラグインをいじる覚悟をするべし • AndroidとiOSは別物と思うべし • App Storeに出すならSNS連携を必ず実装すべし • Game Centerでいいじゃんとか言われても泣かない
40.
ご清聴ありがとうございましたm(_ _)m
Download now