Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

PlayFabとAppCenterのユーザ情報を連携してAppCenterの機能を活用しよう

339 views

Published on

2020/01/25(土)に開催された PlayFab Meetup#2 in Microsoft にて発表した資料です。
https://jpfug.connpass.com/event/159468/

Published in: Technology
  • Be the first to comment

  • Be the first to like this

PlayFabとAppCenterのユーザ情報を連携してAppCenterの機能を活用しよう

  1. 1. Play FabとApp Centerの ユーザ情報を連携して App Centerの機能を活用しよう 2020/01/25 PlayFab Meetup #2 なかしょ(中島進也)
  2. 2. Profile • 名前:なかしょ(中島 進也) • Twitter:@nakasho_dev • ブログ:なかしょの技術日誌 http://nakasho-dev.hatenablog.jp/ • 最近の興味 TDD、アジャイル開発、Xamarin、Chatbot、Tizen • 主な参加コミュニティ JXUG、.NETラボ、Cogbot、Teratail、TestNight、JPFUG ※本資料は私個人の意見であり、所属企業・部門見解を代表する ものではありません。 2 NEW
  3. 3. 私のTeratailのランキング(2020/01/24時点) • 全体: 140位/115,248 • Xamarin: 24位/354 • Unity: 295位/2,405 • C#:236位/4,148 • iOS:11位/2,292 • Swift:7位/2,919 • Android:18位/3071 • Kotlin:3位/411 3
  4. 4. 本発表における注意 Play Fabについて使い始めたばかりなので、 間違っていたり不足していたりする認識があ るかもしれませんがご容赦ください 4
  5. 5. Azure Play Fabの機能 5 参考:https://docs.microsoft.com/ja-jp/gaming/playfab/index#pivot=documentation&panel=quickstarts
  6. 6. Visual Studio App Centerの機能 6 自動ビルド・単体テスト 実機デバイスでUIテストを自動化 テスターやストアへのアプリ配布 クラッシュログの収集 使用状況の分析 ユーザ認証・ID管理 CI/CD MBaaS データの管理・保持・同期 プッシュ通知 DATA
  7. 7. 認証について 7
  8. 8. Play Fabで可能な認証方式 8 LoginWithIOSDeviceID LoginWithAndroidDeviceID LoginWithPlayFab LoginWithEmailAddress LoginWithCustomID LoginWithKongregate LoginWithSteam LoginWithTwitch. LoginWithFacebook LoginWithGoogleAccount LoginWithWindowsHello. LoginWithGameCenter OpenID(APIを独自に作成) 参考:https://docs.microsoft.com/ja-jp/gaming/playfab/features/authentication/login/login-basics-best-practices Play Fab独自ログイン ソーシャルログイン
  9. 9. App Center Authで対応するソーシャルIDプロ バイダー •Microsoft Account •Google •Facebook •Linkedin •Amazon •Weibo (Preview) •QQ (Preview) •WeChat (Preview) •Twitter •GitHub (Preview) ーーーーーーーーー •OpenID Connect (Preview) カスタムIDプロバイダー 9 参考: https://docs.microsoft.com/ja-jp/azure/active-directory-b2c/active-directory-b2c-overview
  10. 10. App Center Auth : ユーザ認証・ID管理 • ユーザの認証機能を提供 • ユーザIDを利用してユーザデータを表示 • Azure Active Directory B2C を利用して機能が提供される • iOS、Android、React Native、Xamarinに対応 Unityは対応中 10 参考:https://docs.microsoft.com/ja-jp/appcenter/auth/
  11. 11. Azure Active Directory B2C とは? • 企業ー消費者間のID管理サービス • ユーザがWeb,デスクトップ、モバイル、SPAと安全に対話す る方法をカスタマイズしたり制御したりできる。 • ユーザはサインアップ、サインイン、パスワードのリセット、 および、プロファイルの編集ができる。 • OpenID ConnectプロトコルとOAuth2.0プロトコルの一形式 が実装される。 11 参考: https://docs.microsoft.com/ja-jp/azure/active-directory-b2c/active-directory-b2c-overview
  12. 12. App Center Authを使うメリット • Play Fabで対応していないソーシャルログインに対応できる • Play FabとAppCenter AuthのユーザIDを紐付けられることで、 お互いのサービスを活用しやすくなる 12
  13. 13. 連携例 13 ①ClientAppからサインイン ②signIn()を呼び出す ③ログイン画面にリダイレクト ④認証情報のJWTを返却⑤JWTを検証しClaimsを作成 ⑦AccountIdをCustomId として登録 ⑥Claimsを返却 App CenterとPlayFabで ユーザIDが同一となる
  14. 14. 障害等の診断について 14
  15. 15. Play Fabの障害等の診断について • LiveOpsハンドブックのカスタマーサポートに関するベストプラ クティスに以下のように書かれている。 継続してクラッシュが発生している場合は、プレイヤーがクラッシュ ログをアップロードできると、エンジニアリング部門に渡して調査する ことができ便利です。 • でも、クラッシュログ等の自動収集機能はない? • プレイヤーからの苦情から、すぐにそのプレイヤーのクラッ シュログを判別し、不具合を特定することは大事! • App Center Diagnosticsと連携しよう! 15
  16. 16. App Center Diagnostics • クラッシュとエラー分析 グルーピング ユーザ識別 (AppCenter Authと連携) クラッシュ前のイベント スレッド • アラートの定義 • バグトラッカーとの連携 Jira Cloud Azure DevOps GitHub 16 参考: https://docs.microsoft.com/ja-jp/appcenter/diagnostics/features
  17. 17. Analyticsについて 17
  18. 18. Play FabのAnalyticsについて • Play Fab のAnalytics機能はそれなりに充実している • 独自の分析方法を実施するには生データを加工したい。 Play FabがBlobストレージに全イベントを格納できるのはプライベート プレビュー • App Center Analyticsなら生データをBlobストレージに格納でき、 PowerBI等で分析できる 18
  19. 19. App Center Analytics • Overview Active Users Engagement Devices and OS Countries and Languages Active Users per Version • Events Metrics Events Page Detailed event view Events Properties • Log Flow • Export Azure Blob Storage Azure Application Insights 19 参考: https://docs.microsoft.com/ja-jp/appcenter/analytics/
  20. 20. Dataについて 20
  21. 21. Play FabのDataについて • Playerデータ プレイヤー、文字、グループデータ JSONで登録するの面倒 • CDN 画像、オーディオ、バイナリコンテンツ • 単純なコンテンツ配信やデータ管理であればPlay Fabで十分だ けれど、もっと柔軟にデータを扱いたい。 App Center DataならCosmos DBがバックエンドにあり、柔軟な操作が 可能となる 21 参考: https://docs.microsoft.com/ja-jp/gaming/playfab/features/data/playerdata/
  22. 22. App Center Data : データの管理・保持・同期 • クラウド上のアプリケーションデータをオフラインと同期 • ユーザIDを利用してプライベートデータを管理 • Cosmos DBを利用して機能が提供される Cosmos DB Core SQL APIを使用する • iOS、Android、Xamarin、Reactに対応 Unityは対応中 22 参考:https://docs.microsoft.com/ja-jp/appcenter/data/
  23. 23. App Center Data : アーキテクチャ 23
  24. 24. App Center Data : 非公開データと公開データ • 非公開 Azure AD B2Cを介し てユーザIDに関連付 けられているデータ 認証されたユーザに 読み取り/書き込み権 限を付与する • 公開 全てのユーザが読み 取り権限を持つデー タ 24
  25. 25. Pushについて 25
  26. 26. Pushについて • App Center PushのユーザID指定による送信は1回のPushに100 ユーザの制限がある。 • 現状はあえてApp Center Pushと連携する必要はないかもしれな い。 26
  27. 27. APIについて 27
  28. 28. APIについて • PlayFabもApp Centerもほとんどの機能がAPI化されている。 • SDKを使用せず直接APIを叩く方法で、様々なサービスと連携が 可能となる 28
  29. 29. 参考:https://docs.microsoft.com/en-us/gaming/playfab/api-references/
  30. 30. 参考:https://openapi.appcenter.ms/
  31. 31. Play FabとApp Centerの Integration 31
  32. 32. Play FabとApp CenterのIntegration • 2019年3月に発表されたが現在もPrivate Preview • App Centerの管理画面上に謎のIntegration機能がある 32 参考: https://blog.playfab.com/blog/playfab-visual-studio-app-center-is-a-win-for-developers
  33. 33. 33
  34. 34. 34
  35. 35. GDPRについて 35
  36. 36. GDPRとは • General Data Protection Regulation(一般データ保護規則) • 欧州連合 (EU) 内の全ての個人のためにデータ保護を強化し統合する ことを意図している規則 • サービス利用者は自分自身の個人情報の消去を要求する権利がある。 • GDPRに従わなかった場合、最大で企業の全世界年間売上高の4%以 下、もしくは2000万ユーロ(約26億円)以下のいずれか高い方が適 用される。 TOYOTAの場合、年間売上30兆円であり、罰則が適用されると1.2兆円 • アプリの提供地域からEUを外すという手もある • CCPA(カリフォルニア州消費者個人情報保護法)にも気をつけよう 36 参考: https://ja.wikipedia.org/wiki/EU一般データ保護規則
  37. 37. Play FabもApp CenterもGDPRに対応 • Play Fab https://docs.microsoft.com/ja- jp/gaming/playfab/features/data/playerdata/playfab-gdpr-deleting- and-exporting-player-data • App Center https://docs.microsoft.com/ja-jp/appcenter/gdpr/ • Play FabとApp CenterにあるGDPRのためのデータ削除機能だ けでなく、サービス全体でどのように個人情報を扱うかを考え る必要がある。 37
  38. 38. その他 38
  39. 39. Visual Studio App Center Auth Roadmap • Auth [対応済み]Connect an Azure Active Directory B2C identity management provider  [対応済み?]Support for React Native and Unity platforms  Bring your own identity management provider support (e.g. Auth0 and Firebase Authentication)  Connect an Azure Active Directory identity management provider  Free tier without an Azure subscription  End-user profile dashboards with cross-service integrations 39 参考: https://github.com/Microsoft/appcenter/wiki/Roadmap
  40. 40. Visual Studio App Center のUnity対応 • Build:× Unityの規約が... • Test:△ 実機で起動確認するのみ • Distribute:〇 • Crash:〇 • Analtytics:〇 • Auth:〇? メニューに出てこない • Data:× • Push:〇? 40 参考: https://docs.microsoft.com/en-us/appcenter/general/platform-service-matrix
  41. 41. 今後のPlay FabとApp Centerについての私見 • Play Fab と App CenterはBaaSとして統合が進むのでは? • ログ取得、認証、Push等の汎用的な機能をApp Centerで実装し て、それをPlay Fab側が利用する形になるか? • 認証機能の連携の際に、App Center Authの無料プランがどこま で活用できるか気になる。 • 料金体系も気になる。 • Play Fabをガッツリ使ったシステムを構築した後に、利用者が 少ないなどの理由でサービス停止になるのが怖い... 41
  42. 42. まとめ • Play Fab と App Centerを組み合わせることでBaaSとしての機 能を強化できる • そのためにはユーザIDの連携は必須 • App CenterのUnity版の対応が遅れているので、開発チームに要 望を届けよう • Play Fabを盛り上げていきましょう。 42
  43. 43. ご清聴ありがとうございました。 なかしょ(中島 進也) @nakasho_dev 43

×