在您整合 Facebook 登入、Facebook 分享或 Facebook Gaming 產品後,除非您停用事件自動記錄功能,否則系統會為事件管理工具自動記錄並蒐集特定應用程式事件。我們建議所有使用 Facebook 登入、Facebook 分享或 Facebook Gaming 產品的應用程式開發人員了解此功能的運作方式。若要進一步了解系統會蒐集哪些資料,以及如何停用事件自動記錄功能,請參閱應用程式事件自動記錄一文。
Gaming Services is available as a new component in the official Facebook SDK for Unity3D. Using Facebook official SDKs is the recommended approach and makes it easy to access services enabled by Facebook Login for Gaming including the Player Finder and Sharing (for Gaming) experiences.
Facebook Login for Gaming enables a new login method for games. It supports the same implementation and SDK methods as Facebook Login. If this is the first time you're integrating the Facebook SDK into your App, refer to the configuration guide before proceeding. Instead of receiving |
After integrating with Facebook Login for Gaming, your application will receive an access token for use on Gaming graph domain (graph.fb.gg), instead of the Facebook graph domain (graph.facebook.com). Read more about gaming graph domain.
You can check if the current User has connected with Facebook Login For Gaming by verifying the Graph Domain to be gaming
in the Access Token:
// (c) Facebook, Inc. and its affiliates. Confidential and proprietary. ... using Facebook.Unity; ... AccessToken currentAccessToken = AccessToken.CurrentAccessToken; if (currentAccessToken != null && currentAccessToken.GraphDomain == "gaming") { // current user has been migrated to Facebook Login for Gaming }
Below is a Unity3D sample code showing how to implement Player Finder and Sharing (for Gaming).
// (c) Facebook, Inc. and its affiliates. Confidential and proprietary. using Facebook.Unity; ... // this is a general purpose IResult handler // that can be used with the examples below. protected void HandleResult(IResult result) { if (result == null) { LogView.AddLog("Null Response\n"); return; } // Some platforms return the empty string instead of null. if (!string.IsNullOrEmpty(result.Error)) { // handle error case here. } else if (result.Cancelled) { // a dialog was cancelled. } else if (!string.IsNullOrEmpty(result.RawResult)) { // success case! Do something useful with this. } else { // we got an empty response } } ... // binding Player Finder to a button if (GUILayout.Button("Player Finder Button")) { FBGamingServices.OpenFriendFinderDialog(HandleResult); } ... // Uploading an Image to use with Sharing (for Gaming) FBGamingServices.UploadImageToMediaLibrary( "test Image", new Uri("/path/to/image/in/phone.jpg"), true, HandleResult); ... // Uploading a Video to use with Sharing (for Gaming) FBGamingServices.UploadVideoToMediaLibrary( "test Video", new Uri("/path/to/video/in/phone.mp4"), HandleResult);