Ejemplo n.º 1
0
        /// <summary>
        /// Internal code shared by IPlayFabHTTP implementations
        /// </summary>
        internal void OnPlayFabApiResult(PlayFabResultCommon result)
        {
#if !DISABLE_PLAYFABENTITY_API
            var entRes = result as AuthenticationModels.GetEntityTokenResponse;
            if (entRes != null)
            {
                var transport = PluginManager.GetPlugin <IPlayFabTransportPlugin>(PluginContract.PlayFab_Transport);
                transport.EntityToken = entRes.EntityToken;
            }
#endif
#if !DISABLE_PLAYFABCLIENT_API
            var logRes = result as ClientModels.LoginResult;
            var regRes = result as ClientModels.RegisterPlayFabUserResult;
            if (logRes != null)
            {
                var transport = PluginManager.GetPlugin <IPlayFabTransportPlugin>(PluginContract.PlayFab_Transport);
                transport.AuthKey = logRes.SessionTicket;
                if (logRes.EntityToken != null)
                {
                    transport.EntityToken = logRes.EntityToken.EntityToken;
                }
                logRes.AuthenticationContext = new PlayFabAuthenticationContext(transport.AuthKey, transport.EntityToken, logRes.PlayFabId);
            }
            else if (regRes != null)
            {
                var transport = PluginManager.GetPlugin <IPlayFabTransportPlugin>(PluginContract.PlayFab_Transport);
                transport.AuthKey = regRes.SessionTicket;
                if (regRes.EntityToken != null)
                {
                    transport.EntityToken = regRes.EntityToken.EntityToken;
                }
                regRes.AuthenticationContext = new PlayFabAuthenticationContext(transport.AuthKey, transport.EntityToken, regRes.PlayFabId);
            }
#endif
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Internal code shared by IPlayFabHTTP implementations
        /// </summary>
        internal void OnPlayFabApiResult(PlayFabResultCommon result)
        {
#if ENABLE_PLAYFABENTITY_API
            var entRes = result as EntityModels.GetEntityTokenResponse;
            if (entRes != null)
            {
                _internalHttp.EntityToken = entRes.EntityToken;
            }
#endif
#if !DISABLE_PLAYFABCLIENT_API
            var logRes = result as ClientModels.LoginResult;
            var regRes = result as ClientModels.RegisterPlayFabUserResult;
            if (logRes != null)
            {
                _internalHttp.AuthKey = logRes.SessionTicket;
                if (logRes.EntityToken != null)
                {
                    _internalHttp.EntityToken = logRes.EntityToken.EntityToken;
                }
            }
            else if (regRes != null)
            {
                _internalHttp.AuthKey = regRes.SessionTicket;
                if (regRes.EntityToken != null)
                {
                    _internalHttp.EntityToken = regRes.EntityToken.EntityToken;
                }
            }
#endif
        }
Ejemplo n.º 3
0
        /// <summary>
        /// When a PlayFab login occurs, check the result information, and
        ///   relay it to _OnPlayFabLogin where the information is used
        /// </summary>
        /// <param name="result"></param>
        public static void OnPlayFabLogin(PlayFabResultCommon result)
        {
            var loginResult    = result as ClientModels.LoginResult;
            var registerResult = result as ClientModels.RegisterPlayFabUserResult;

            if (loginResult == null && registerResult == null)
            {
                return;
            }

            // Gather things common to the result types
            ClientModels.UserSettings settingsForUser = null;
            string playFabId = null;

            ClientModels.EntityTokenResponse entityInfo = null;

            if (loginResult != null)
            {
                settingsForUser = loginResult.SettingsForUser;
                playFabId       = loginResult.PlayFabId;
                entityInfo      = loginResult.EntityToken;
            }
            else if (registerResult != null)
            {
                settingsForUser = registerResult.SettingsForUser;
                playFabId       = registerResult.PlayFabId;
                entityInfo      = registerResult.EntityToken;
            }

            _OnPlayFabLogin(settingsForUser, playFabId, entityInfo);
        }
Ejemplo n.º 4
0
        public static void OnPlayFabLogin(PlayFabResultCommon result)
        {
            var loginResult    = result as LoginResult;
            var registerResult = result as RegisterPlayFabUserResult;

            if (loginResult == null && registerResult == null)
            {
                return;
            }

            _needsAttribution = false;
            _gatherInfo       = false;
            if (loginResult != null && loginResult.SettingsForUser != null)
            {
                _needsAttribution = loginResult.SettingsForUser.NeedsAttribution;
            }
            else if (registerResult != null && registerResult.SettingsForUser != null)
            {
                _needsAttribution = registerResult.SettingsForUser.NeedsAttribution;
            }
            if (loginResult != null && loginResult.SettingsForUser != null)
            {
                _gatherInfo = loginResult.SettingsForUser.GatherDeviceInfo;
            }
            else if (registerResult != null && registerResult.SettingsForUser != null)
            {
                _gatherInfo = registerResult.SettingsForUser.GatherDeviceInfo;
            }

            // Device attribution (adid or idfa)
            if (PlayFabSettings.AdvertisingIdType != null && PlayFabSettings.AdvertisingIdValue != null)
            {
                DoAttributeInstall();
            }
            else
            {
                GetAdvertIdFromUnity();
            }

            // Device information gathering
            SendDeviceInfoToPlayFab();

#if ENABLE_PLAYFABENTITY_API
            string playFabUserId             = loginResult.PlayFabId;
            EntityModels.EntityKey entityKey = new EntityModels.EntityKey();
            if (loginResult.EntityToken != null)
            {
                entityKey.Id         = loginResult.EntityToken.Entity.Id;
                entityKey.Type       = (PlayFab.EntityModels.EntityTypes)(int) loginResult.EntityToken.Entity.Type; // possible loss of data
                entityKey.TypeString = loginResult.EntityToken.Entity.TypeString;

                PlayFabHttp.InitializeScreenTimeTracker(entityKey, playFabUserId);
            }
            else
            {
                PlayFabHttp.shouldCollectScreenTime = false;
            }
#endif
        }
Ejemplo n.º 5
0
        internal void OnPlayFabApiResult(PlayFabResultCommon result)
        {
            LoginResult loginResult = result as LoginResult;
            RegisterPlayFabUserResult registerPlayFabUserResult = result as RegisterPlayFabUserResult;

            if (loginResult != null)
            {
                PlayFabHttp._internalHttp.AuthKey = loginResult.SessionTicket;
                if (loginResult.EntityToken != null)
                {
                    PlayFabHttp._internalHttp.EntityToken = loginResult.EntityToken.EntityToken;
                }
            }
            else if (registerPlayFabUserResult != null)
            {
                PlayFabHttp._internalHttp.AuthKey = registerPlayFabUserResult.SessionTicket;
            }
        }
Ejemplo n.º 6
0
 protected internal static void SendEvent(string apiEndpoint, PlayFabRequestCommon request,
                                          PlayFabResultCommon result, ApiProcessingEventType eventType)
 {
     if (ApiProcessingEventHandler == null)
     {
         return;
     }
     try {
         ApiProcessingEventHandler(new ApiProcessingEventArgs {
             ApiEndpoint = apiEndpoint,
             EventType   = eventType,
             Request     = request,
             Result      = result
         });
     }
     catch (Exception e) {
         Debug.LogException(e);
     }
 }
        public static void OnPlayFabLogin(PlayFabResultCommon result)
        {
            var loginResult    = result as LoginResult;
            var registerResult = result as RegisterPlayFabUserResult;

            if (loginResult == null && registerResult == null)
            {
                return;
            }

            _needsAttribution = false;
            _gatherInfo       = false;
            if (loginResult != null && loginResult.SettingsForUser != null)
            {
                _needsAttribution = loginResult.SettingsForUser.NeedsAttribution;
            }
            else if (registerResult != null && registerResult.SettingsForUser != null)
            {
                _needsAttribution = registerResult.SettingsForUser.NeedsAttribution;
            }
            if (loginResult != null && loginResult.SettingsForUser != null)
            {
                _gatherInfo = loginResult.SettingsForUser.GatherDeviceInfo;
            }
            else if (registerResult != null && registerResult.SettingsForUser != null)
            {
                _gatherInfo = registerResult.SettingsForUser.GatherDeviceInfo;
            }

            // Device attribution (adid or idfa)
            if (PlayFabSettings.AdvertisingIdType != null && PlayFabSettings.AdvertisingIdValue != null)
            {
                DoAttributeInstall();
            }
            else
            {
                GetAdvertIdFromUnity();
            }

            // Device information gathering
            SendDeviceInfoToPlayFab();
        }
        /// <summary>
        /// When a PlayFab login occurs, check the result information, and
        ///   relay it to _OnPlayFabLogin where the information is used
        /// </summary>
        /// <param name="result"></param>
        public static void OnPlayFabLogin(PlayFabResultCommon result, PlayFabApiSettings settings,
                                          IPlayFabInstanceApi instanceApi)
        {
            var loginResult    = result as ClientModels.LoginResult;
            var registerResult = result as ClientModels.RegisterPlayFabUserResult;

            if (loginResult == null && registerResult == null)
            {
                return;
            }

            // Gather things common to the result types
            ClientModels.UserSettings settingsForUser = null;
            string playFabId  = null;
            string entityId   = null;
            string entityType = null;

            if (loginResult != null)
            {
                settingsForUser = loginResult.SettingsForUser;
                playFabId       = loginResult.PlayFabId;
                if (loginResult.EntityToken != null)
                {
                    entityId   = loginResult.EntityToken.Entity.Id;
                    entityType = loginResult.EntityToken.Entity.Type;
                }
            }
            else if (registerResult != null)
            {
                settingsForUser = registerResult.SettingsForUser;
                playFabId       = registerResult.PlayFabId;
                if (registerResult.EntityToken != null)
                {
                    entityId   = registerResult.EntityToken.Entity.Id;
                    entityType = registerResult.EntityToken.Entity.Type;
                }
            }

            _OnPlayFabLogin(settingsForUser, playFabId, entityId, entityType, settings, instanceApi);
        }
Ejemplo n.º 9
0
        public static void OnPlayFabLogin(PlayFabResultCommon result)
        {
            LoginResult loginResult = result as LoginResult;
            RegisterPlayFabUserResult registerPlayFabUserResult = result as RegisterPlayFabUserResult;

            if (loginResult == null && registerPlayFabUserResult == null)
            {
                return;
            }
            PlayFabDeviceUtil._needsAttribution = false;
            PlayFabDeviceUtil._gatherInfo       = false;
            if (loginResult != null && loginResult.SettingsForUser != null)
            {
                PlayFabDeviceUtil._needsAttribution = loginResult.SettingsForUser.NeedsAttribution;
            }
            else if (registerPlayFabUserResult != null && registerPlayFabUserResult.SettingsForUser != null)
            {
                PlayFabDeviceUtil._needsAttribution = registerPlayFabUserResult.SettingsForUser.NeedsAttribution;
            }
            if (loginResult != null && loginResult.SettingsForUser != null)
            {
                PlayFabDeviceUtil._gatherInfo = loginResult.SettingsForUser.GatherDeviceInfo;
            }
            else if (registerPlayFabUserResult != null && registerPlayFabUserResult.SettingsForUser != null)
            {
                PlayFabDeviceUtil._gatherInfo = registerPlayFabUserResult.SettingsForUser.GatherDeviceInfo;
            }
            if (PlayFabSettings.AdvertisingIdType != null && PlayFabSettings.AdvertisingIdValue != null)
            {
                PlayFabDeviceUtil.DoAttributeInstall();
            }
            else
            {
                PlayFabDeviceUtil.GetAdvertIdFromUnity();
            }
            PlayFabDeviceUtil.SendDeviceInfoToPlayFab();
        }
Ejemplo n.º 10
0
 private static void SuccessCallback_Global(string urlPath, int callId, object request, PlayFabResultCommon result, PlayFabError error, object customData)
 {
     callbacks.Add("SuccessCallback_Global");
     throw new Exception("Non-PlayFab callback error");
 }
Ejemplo n.º 11
0
 protected internal static void SendEvent(string apiEndpoint, PlayFabRequestCommon request, PlayFabResultCommon result, ApiProcessingEventType eventType)
 {
     if (PlayFabHttp.ApiProcessingEventHandler == null)
     {
         return;
     }
     try
     {
         PlayFabHttp.ApiProcessingEventHandler(new ApiProcessingEventArgs
         {
             ApiEndpoint = apiEndpoint,
             EventType   = eventType,
             Request     = request,
             Result      = result
         });
     }
     catch
     {
     }
 }