/// <summary> /// Creates a new experiment for a title. /// </summary> public void CreateExperiment(CreateExperimentRequest request, Action <CreateExperimentResult> resultCallback, Action <PlayFabError> errorCallback, object customData = null, Dictionary <string, string> extraHeaders = null) { var context = (request == null ? null : request.AuthenticationContext) ?? authenticationContext; var callSettings = apiSettings ?? PlayFabSettings.staticSettings; if (!context.IsEntityLoggedIn()) { throw new PlayFabException(PlayFabExceptionCode.NotLoggedIn, "Must be logged in to call this method"); } PlayFabHttp.MakeApiCall("/Experimentation/CreateExperiment", request, AuthType.EntityToken, resultCallback, errorCallback, customData, extraHeaders, context, callSettings, this); }
/// <summary>Snippet for CreateExperiment</summary> public void CreateExperimentRequestObject() { // Snippet: CreateExperiment(CreateExperimentRequest, CallSettings) // Create client ExperimentsClient experimentsClient = ExperimentsClient.Create(); // Initialize request argument(s) CreateExperimentRequest request = new CreateExperimentRequest { ParentAsEnvironmentName = EnvironmentName.FromProjectLocationAgentEnvironment("[PROJECT]", "[LOCATION]", "[AGENT]", "[ENVIRONMENT]"), Experiment = new Experiment(), }; // Make the request Experiment response = experimentsClient.CreateExperiment(request); // End snippet }
/// <summary>Snippet for CreateExperimentAsync</summary> public async Task CreateExperimentRequestObjectAsync() { // Snippet: CreateExperimentAsync(CreateExperimentRequest, CallSettings) // Additional: CreateExperimentAsync(CreateExperimentRequest, CancellationToken) // Create client ExperimentsClient experimentsClient = await ExperimentsClient.CreateAsync(); // Initialize request argument(s) CreateExperimentRequest request = new CreateExperimentRequest { ParentAsEnvironmentName = EnvironmentName.FromProjectLocationAgentEnvironment("[PROJECT]", "[LOCATION]", "[AGENT]", "[ENVIRONMENT]"), Experiment = new Experiment(), }; // Make the request Experiment response = await experimentsClient.CreateExperimentAsync(request); // End snippet }
/// <summary> /// Creates a new experiment for a title. /// </summary> public static async Task <PlayFabResult <CreateExperimentResult> > CreateExperimentAsync(CreateExperimentRequest request, object customData = null, Dictionary <string, string> extraHeaders = null) { await new PlayFabUtil.SynchronizationContextRemover(); var requestContext = request?.AuthenticationContext ?? PlayFabSettings.staticPlayer; var requestSettings = PlayFabSettings.staticSettings; if (requestContext.EntityToken == null) { throw new PlayFabException(PlayFabExceptionCode.EntityTokenNotSet, "Must call Client Login or GetEntityToken before calling this method"); } var httpResult = await PlayFabHttp.DoPost("/Experimentation/CreateExperiment", request, "X-EntityToken", requestContext.EntityToken, extraHeaders); if (httpResult is PlayFabError) { var error = (PlayFabError)httpResult; PlayFabSettings.GlobalErrorHandler?.Invoke(error); return(new PlayFabResult <CreateExperimentResult> { Error = error, CustomData = customData }); } var resultRawJson = (string)httpResult; var resultData = PluginManager.GetPlugin <ISerializerPlugin>(PluginContract.PlayFab_Serializer).DeserializeObject <PlayFabJsonSuccess <CreateExperimentResult> >(resultRawJson); var result = resultData.data; return(new PlayFabResult <CreateExperimentResult> { Result = result, CustomData = customData }); }