Пример #1
0
        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
        }
Пример #3
0
        /*
         * 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
        }