Play FabとApp Centerの
ユーザ情報を連携して
App Centerの機能を活用しよう
2020/01/25
PlayFab Meetup #2
なかしょ(中島進也)
Profile
• 名前:なかしょ(中島 進也)
• Twitter:@nakasho_dev
• ブログ:なかしょの技術日誌
http://nakasho-dev.hatenablog.jp/
• 最近の興味
TDD、アジャイル開発、Xamarin、Chatbot、Tizen
• 主な参加コミュニティ
JXUG、.NETラボ、Cogbot、Teratail、TestNight、JPFUG
※本資料は私個人の意見であり、所属企業・部門見解を代表する
ものではありません。
2
NEW
私の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
本発表における注意
Play Fabについて使い始めたばかりなので、
間違っていたり不足していたりする認識があ
るかもしれませんがご容赦ください
4
Azure Play Fabの機能
5
参考:https://docs.microsoft.com/ja-jp/gaming/playfab/index#pivot=documentation&panel=quickstarts
Visual Studio App Centerの機能
6
自動ビルド・単体テスト
実機デバイスでUIテストを自動化
テスターやストアへのアプリ配布
クラッシュログの収集
使用状況の分析
ユーザ認証・ID管理
CI/CD
MBaaS
データの管理・保持・同期
プッシュ通知
DATA
認証について
7
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独自ログイン
ソーシャルログイン
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
App Center Auth : ユーザ認証・ID管理
• ユーザの認証機能を提供
• ユーザIDを利用してユーザデータを表示
• Azure Active Directory B2C を利用して機能が提供される
• iOS、Android、React Native、Xamarinに対応
Unityは対応中
10
参考:https://docs.microsoft.com/ja-jp/appcenter/auth/
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
App Center Authを使うメリット
• Play Fabで対応していないソーシャルログインに対応できる
• Play FabとAppCenter AuthのユーザIDを紐付けられることで、
お互いのサービスを活用しやすくなる
12
連携例
13
①ClientAppからサインイン
②signIn()を呼び出す
③ログイン画面にリダイレクト
④認証情報のJWTを返却⑤JWTを検証しClaimsを作成
⑦AccountIdをCustomId
として登録
⑥Claimsを返却
App CenterとPlayFabで
ユーザIDが同一となる
障害等の診断について
14
Play Fabの障害等の診断について
• LiveOpsハンドブックのカスタマーサポートに関するベストプラ
クティスに以下のように書かれている。
継続してクラッシュが発生している場合は、プレイヤーがクラッシュ
ログをアップロードできると、エンジニアリング部門に渡して調査する
ことができ便利です。
• でも、クラッシュログ等の自動収集機能はない?
• プレイヤーからの苦情から、すぐにそのプレイヤーのクラッ
シュログを判別し、不具合を特定することは大事!
• App Center Diagnosticsと連携しよう!
15
App Center Diagnostics
• クラッシュとエラー分析
グルーピング
ユーザ識別
(AppCenter Authと連携)
クラッシュ前のイベント
スレッド
• アラートの定義
• バグトラッカーとの連携
Jira Cloud
Azure DevOps
GitHub
16
参考: https://docs.microsoft.com/ja-jp/appcenter/diagnostics/features
Analyticsについて
17
Play FabのAnalyticsについて
• Play Fab のAnalytics機能はそれなりに充実している
• 独自の分析方法を実施するには生データを加工したい。
Play FabがBlobストレージに全イベントを格納できるのはプライベート
プレビュー
• App Center Analyticsなら生データをBlobストレージに格納でき、
PowerBI等で分析できる
18
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/
Dataについて
20
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/
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/
App Center Data : アーキテクチャ
23
App Center Data : 非公開データと公開データ
• 非公開
Azure AD B2Cを介し
てユーザIDに関連付
けられているデータ
認証されたユーザに
読み取り/書き込み権
限を付与する
• 公開
全てのユーザが読み
取り権限を持つデー
タ
24
Pushについて
25
Pushについて
• App Center PushのユーザID指定による送信は1回のPushに100
ユーザの制限がある。
• 現状はあえてApp Center Pushと連携する必要はないかもしれな
い。
26
APIについて
27
APIについて
• PlayFabもApp Centerもほとんどの機能がAPI化されている。
• SDKを使用せず直接APIを叩く方法で、様々なサービスと連携が
可能となる
28
参考:https://docs.microsoft.com/en-us/gaming/playfab/api-references/
参考:https://openapi.appcenter.ms/
Play FabとApp Centerの
Integration
31
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
34
GDPRについて
35
GDPRとは
• General Data Protection Regulation(一般データ保護規則)
• 欧州連合 (EU) 内の全ての個人のためにデータ保護を強化し統合する
ことを意図している規則
• サービス利用者は自分自身の個人情報の消去を要求する権利がある。
• GDPRに従わなかった場合、最大で企業の全世界年間売上高の4%以
下、もしくは2000万ユーロ(約26億円)以下のいずれか高い方が適
用される。
TOYOTAの場合、年間売上30兆円であり、罰則が適用されると1.2兆円
• アプリの提供地域からEUを外すという手もある
• CCPA(カリフォルニア州消費者個人情報保護法)にも気をつけよう
36
参考: https://ja.wikipedia.org/wiki/EU一般データ保護規則
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
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
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
今後のPlay FabとApp Centerについての私見
• Play Fab と App CenterはBaaSとして統合が進むのでは?
• ログ取得、認証、Push等の汎用的な機能をApp Centerで実装し
て、それをPlay Fab側が利用する形になるか?
• 認証機能の連携の際に、App Center Authの無料プランがどこま
で活用できるか気になる。
• 料金体系も気になる。
• Play Fabをガッツリ使ったシステムを構築した後に、利用者が
少ないなどの理由でサービス停止になるのが怖い...
41
まとめ
• Play Fab と App Centerを組み合わせることでBaaSとしての機
能を強化できる
• そのためにはユーザIDの連携は必須
• App CenterのUnity版の対応が遅れているので、開発チームに要
望を届けよう
• Play Fabを盛り上げていきましょう。
42
ご清聴ありがとうございました。
なかしょ(中島 進也)
@nakasho_dev
43

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