internal static void ForceSendVariables(Leanplum.SyncVariablesCompleted completedHandler)
        {
            if (!Leanplum.IsDeveloperModeEnabled)
            {
                LeanplumNative.CompatibilityLayer.LogError("Leanplum Error: ForceSendVariables requires Development mode");
                return;
            }

            Dictionary <string, object> parameters = new Dictionary <string, object>
            {
                [Constants.Params.VARIABLES] = Json.Serialize(valuesFromClient),
                [Constants.Params.KINDS]     = Json.Serialize(defaultKinds)
            };

            LeanplumUnityHelper.QueueOnMainThread(() => {
                Request request   = RequestBuilder.withSetVarsAction().AndParameters(parameters).CreateImmediate();
                request.Response += delegate(object response)
                {
                    completedHandler?.Invoke(true);
                };
                request.Error += delegate(Exception ex)
                {
                    LeanplumNative.CompatibilityLayer.LogError("Leanplum Error: ForceSyncVariables", ex);
                    completedHandler?.Invoke(false);
                };
                Leanplum.RequestSender.Send(request);
            });
        }
Exemple #2
0
        internal static void ForceSendVariables(Leanplum.SyncVariablesCompleted completedHandler)
        {
            var parameters = new Dictionary <string, string>();

            parameters[Constants.Params.VARIABLES] = Json.Serialize(valuesFromClient);
            parameters[Constants.Params.KINDS]     = Json.Serialize(defaultKinds);
            LeanplumUnityHelper.QueueOnMainThread(() => {
                LeanplumRequest setVarsReq = LeanplumRequest.Post(Constants.Methods.SET_VARS, parameters);
                setVarsReq.Response       += delegate(object response)
                {
                    completedHandler?.Invoke(true);
                };
                setVarsReq.Error += delegate(Exception ex)
                {
                    LeanplumNative.CompatibilityLayer.LogError("Leanplum Error: ForceSyncVariables", ex);
                    completedHandler?.Invoke(false);
                };
                setVarsReq.SendNow();
            });
        }