private void HandleiOSDeviceIdLoginMethod(Action <LoginResult> loginSuccess, Action <PlayFabError> loginFailure, bool linkGameService = false) { var request = new LoginWithIOSDeviceIDRequest { DeviceId = SystemInfo.deviceUniqueIdentifier, CreateAccount = true }; PlayFabClientAPI.LoginWithIOSDeviceID(request, (LoginResult loginResult) => { OnPlayerLogin(loginResult); loginSuccess.Invoke(loginResult); IsLogged = true; PlayFabId = loginResult.PlayFabId; }, (PlayFabError e) => loginFailure.Invoke(e)); GameData.Current.LoginType = LoginType.Device; if (linkGameService) { var requestLink = new LinkGameCenterAccountRequest() { GameCenterId = GameServiceManager.GameService.PlayerId }; PlayFabClientAPI.LinkGameCenterAccount(requestLink, (LinkGameCenterAccountResult r) => { GameData.Current.LoginType = LoginType.GameService; }, (PlayFabError e) => loginFailure.Invoke(e)); } }
void LoginWithGameCenterAccount(string id, Action <object> LoginSuccessCallback, Action <LoginFailCode> LoginFailedCallback, GetPlayerCombinedInfoRequestParams infoRequestParams) { #if UNITY_IOS LinkGameCenterAccountRequest request = new LinkGameCenterAccountRequest(); request.GameCenterId = gameCenterId; request.ForceLink = false; PlayFabClientAPI.LinkGameCenterAccount(request, (result) => { SaveLoginPathway(LoginType.Google); SetSocialPlayformID(gameCenterId); ResultCallback(true); }, (error) => { ResultCallback(false); }); #endif }
/* * public void HandleDataConflict(MergeConflictRule rule) * { * if (rule == MergeConflictRule.UserPrompt) rule = mergeRule; * switch(rule) * { * case MergeConflictRule.UseLocal: * break; * * case MergeConflictRule.UseServer: * DBManager.Overwrite(instance.serverData.ToString()); * DBManager.GetInstance().Init(); * break; * * case MergeConflictRule.Custom: * //your own conflict resolution here! * break; * } * * IAPManager.GetInstance().Initialize(); * } */ /// <summary> /// Not implemented yet. /// </summary> public static void LinkAccountNative() { //if not logged in, //ask for platform login #if UNITY_ANDROID LinkGoogleAccountRequest request = new LinkGoogleAccountRequest() { ServerAuthCode = "", ForceLink = true }; PlayFabClientAPI.LinkGoogleAccount(request, null, AccountAlreadyLinked); #elif UNITY_IOS LinkGameCenterAccountRequest request = new LinkGameCenterAccountRequest() { GameCenterId = "", ForceLink = true }; PlayFabClientAPI.LinkGameCenterAccount(request, null, AccountAlreadyLinked); #endif }