Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
昭賀
Uploaded by
昭仁 賀好
PDF, PPTX
26,160 views
Unityでソーシャルログイン機能を実装してみた
2015/11/20 第35回代々木Unity勉強会
Software
◦
Read more
6
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 40
2
/ 40
3
/ 40
4
/ 40
5
/ 40
6
/ 40
7
/ 40
8
/ 40
9
/ 40
10
/ 40
11
/ 40
12
/ 40
13
/ 40
14
/ 40
15
/ 40
16
/ 40
17
/ 40
18
/ 40
19
/ 40
20
/ 40
21
/ 40
22
/ 40
23
/ 40
24
/ 40
25
/ 40
26
/ 40
27
/ 40
28
/ 40
29
/ 40
30
/ 40
31
/ 40
32
/ 40
33
/ 40
34
/ 40
35
/ 40
36
/ 40
37
/ 40
38
/ 40
39
/ 40
40
/ 40
More Related Content
PDF
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
by
Unity Technologies Japan K.K.
PDF
Unityでパフォーマンスの良いUIを作る為のTips
by
Unity Technologies Japan K.K.
PDF
アーティストの為のプロファイル入門!~楽しいRenderDocの使い方~
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
大規模ゲーム開発における build 高速化と安定化
by
DeNA
PDF
ObserverパターンからはじめるUniRx
by
torisoup
PDF
60fpsアクションを実現する秘訣を伝授 解析編
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
UE4のレイトレで出来ること/出来ないこと
by
Satoshi Kodaira
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
by
Unity Technologies Japan K.K.
Unityでパフォーマンスの良いUIを作る為のTips
by
Unity Technologies Japan K.K.
アーティストの為のプロファイル入門!~楽しいRenderDocの使い方~
by
エピック・ゲームズ・ジャパン Epic Games Japan
大規模ゲーム開発における build 高速化と安定化
by
DeNA
ObserverパターンからはじめるUniRx
by
torisoup
60fpsアクションを実現する秘訣を伝授 解析編
by
エピック・ゲームズ・ジャパン Epic Games Japan
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4のレイトレで出来ること/出来ないこと
by
Satoshi Kodaira
What's hot
PDF
UE4 MultiPlayer Online Deep Dive 実践編2 (ソレイユ株式会社様ご講演) #UE4DD
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Unityでオンラインゲーム作った話
by
torisoup
PPTX
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
by
Unity Technologies Japan K.K.
PDF
UE4.25 Update - Unreal Insights -
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
60fpsアクションを実現する秘訣を伝授 基礎編
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
猫でも分かるUE4のポストプロセスを使った演出・絵作り
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
UE4ローカライズ事例 (UE4 Localization Deep Dive)
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Unityアニメーションシステムの 今と未来の話
by
Unity Technologies Japan K.K.
PPTX
猫でも分かる UE4のAnimation Blueprintの運用について
by
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
Mask Material only in Early Z-passの効果と仕組み
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
RPGにおけるイベント駆動型の設計と実装
by
Koji Morikawa
PDF
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
by
historia_Inc
PDF
今日からできる!簡単 .NET 高速化 Tips
by
Takaaki Suzuki
PDF
UE4 LODs for Optimization -Beginner-
by
com044
PDF
UE4におけるエフェクトの基本戦略事例 後半
by
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
Photon Fusionのはじめの一歩
by
聡 大久保
PDF
Observableで非同期処理
by
torisoup
PDF
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
by
Yoshifumi Kawai
UE4 MultiPlayer Online Deep Dive 実践編2 (ソレイユ株式会社様ご講演) #UE4DD
by
エピック・ゲームズ・ジャパン Epic Games Japan
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
by
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
by
エピック・ゲームズ・ジャパン Epic Games Japan
Unityでオンラインゲーム作った話
by
torisoup
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
by
Unity Technologies Japan K.K.
UE4.25 Update - Unreal Insights -
by
エピック・ゲームズ・ジャパン Epic Games Japan
60fpsアクションを実現する秘訣を伝授 基礎編
by
エピック・ゲームズ・ジャパン Epic Games Japan
猫でも分かるUE4のポストプロセスを使った演出・絵作り
by
エピック・ゲームズ・ジャパン Epic Games Japan
UE4ローカライズ事例 (UE4 Localization Deep Dive)
by
エピック・ゲームズ・ジャパン Epic Games Japan
Unityアニメーションシステムの 今と未来の話
by
Unity Technologies Japan K.K.
猫でも分かる UE4のAnimation Blueprintの運用について
by
エピック・ゲームズ・ジャパン Epic Games Japan
Mask Material only in Early Z-passの効果と仕組み
by
エピック・ゲームズ・ジャパン Epic Games Japan
RPGにおけるイベント駆動型の設計と実装
by
Koji Morikawa
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
by
historia_Inc
今日からできる!簡単 .NET 高速化 Tips
by
Takaaki Suzuki
UE4 LODs for Optimization -Beginner-
by
com044
UE4におけるエフェクトの基本戦略事例 後半
by
エピック・ゲームズ・ジャパン Epic Games Japan
Photon Fusionのはじめの一歩
by
聡 大久保
Observableで非同期処理
by
torisoup
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
by
Yoshifumi Kawai
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.
だがしかし
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.
そして頑張った結果・・・!
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