private void OnGlobalPlayFabResultHandler(PlayFabRequestCommon request, PlayFabResultCommon result) { if (result is LoginResult loginResult) { var payload = loginResult.InfoResultPayload; this.UpdateVirtualCurrencies(payload?.UserVirtualCurrency, payload?.UserVirtualCurrencyRechargeTimes); } else if (result is GetUserInventoryResult getUserInventoryResult) { this.UpdateVirtualCurrencies(getUserInventoryResult?.VirtualCurrency, getUserInventoryResult?.VirtualCurrencyRechargeTimes); } else if (result is GetPlayerCombinedInfoResult getPlayerCombinedInfoResult) { var payload = getPlayerCombinedInfoResult.InfoResultPayload; this.UpdateVirtualCurrencies(payload?.UserVirtualCurrency, payload?.UserVirtualCurrencyRechargeTimes); } }
/// <summary> /// Callback from PlayFab when the receipt validation has been successful. /// Products will be granted and transactions confirmed. /// </summary> public void OnValidationResult(PlayFabResultCommon result) { Product p = IAPManager.controller.products.WithStoreSpecificID(result.CustomData as string); if (p == null) { return; } IAPManager.controller.ConfirmPendingPurchase(p); //successful response, verified transaction if (IAPManager.isDebug) { Debug.Log(p.definition.storeSpecificId + " verification success."); } IAPManager.GetInstance().PurchaseVerified(p.definition.id); }
private void OnSuccess(PlayFabResultCommon result) { }
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"); }
private static PlayFabSettings.ResponseCallback<object, PlayFabResultCommon> _onApiResponseStLogin2 = OnApiResponse_StLogin2; // Static methods can be cast once and saved as a static variable private static void OnApiResponse_StLogin2(string url, int callId, object request, PlayFabResultCommon result, PlayFabError error, object customData) { var delta = DateTime.UtcNow - CallTimes_StLogin[callId]; Debug.Log(url + " completed in " + delta.TotalMilliseconds + " - _StLogin"); CallTimes_StLogin.Remove(callId); }
private void OnApiResponse_InstLogin2(string url, int callId, object request, PlayFabResultCommon result, PlayFabError error, object customData) { var delta = DateTime.UtcNow - CallTimes_InstLogin[callId]; Debug.Log(url + " completed in " + delta.TotalMilliseconds + " - _InstLogin"); CallTimes_InstLogin.Remove(callId); }
/// <summary> /// Gets the contents and information of a specific Cloud Script revision. /// </summary> public static void GetCloudScriptRevision(GetCloudScriptRevisionRequest request, PlayFabResultCommon.ProcessApiCallback<GetCloudScriptRevisionResult> resultCallback, ErrorCallback errorCallback, object customData = null) { if (PlayFabSettings.DeveloperSecretKey == null) throw new Exception("Must have PlayFabSettings.DeveloperSecretKey set to call this method"); string serializedJson = JsonWrapper.SerializeObject(request, PlayFabUtil.ApiSerializerStrategy); Action<CallRequestContainer> callback = delegate(CallRequestContainer requestContainer) { ResultContainer<GetCloudScriptRevisionResult>.HandleResults(requestContainer, resultCallback, errorCallback, null); }; PlayFabHttp.Post("/Admin/GetCloudScriptRevision", serializedJson, "X-SecretKey", PlayFabSettings.DeveloperSecretKey, callback, request, customData); }
/// <summary> /// Retrieves a list of ranked users for the given statistic, centered on the requested player. If PlayFabId is empty or null will return currently logged in user. /// </summary> public static void GetLeaderboardAroundPlayer(GetLeaderboardAroundPlayerRequest request, PlayFabResultCommon.ProcessApiCallback<GetLeaderboardAroundPlayerResult> resultCallback, ErrorCallback errorCallback, object customData = null) { if (_authKey == null) throw new Exception("Must be logged in to call this method"); string serializedJson = JsonWrapper.SerializeObject(request, PlayFabUtil.ApiSerializerStrategy); Action<CallRequestContainer> callback = delegate(CallRequestContainer requestContainer) { ResultContainer<GetLeaderboardAroundPlayerResult>.HandleResults(requestContainer, resultCallback, errorCallback, null); }; PlayFabHttp.Post("/Client/GetLeaderboardAroundPlayer", serializedJson, "X-Authorization", _authKey, callback, request, customData); }
/// <summary> /// Forces an email to be sent to the registered email address for the user's account, with a link allowing the user to change the password /// </summary> public static void SendAccountRecoveryEmail(SendAccountRecoveryEmailRequest request, PlayFabResultCommon.ProcessApiCallback<SendAccountRecoveryEmailResult> resultCallback, ErrorCallback errorCallback, object customData = null) { string serializedJson = JsonWrapper.SerializeObject(request, PlayFabUtil.ApiSerializerStrategy); Action<CallRequestContainer> callback = delegate(CallRequestContainer requestContainer) { ResultContainer<SendAccountRecoveryEmailResult>.HandleResults(requestContainer, resultCallback, errorCallback, null); }; PlayFabHttp.Post("/Client/SendAccountRecoveryEmail", serializedJson, null, null, callback, request, customData); }
/// <summary> /// Registers a new Playfab user account, returning a session identifier that can subsequently be used for API calls which require an authenticated user. You must supply either a username or an email address. /// </summary> public static void RegisterPlayFabUser(RegisterPlayFabUserRequest request, PlayFabResultCommon.ProcessApiCallback<RegisterPlayFabUserResult> resultCallback, ErrorCallback errorCallback, object customData = null) { request.TitleId = request.TitleId ?? PlayFabSettings.TitleId; if (request.TitleId == null) throw new Exception("Must be have PlayFabSettings.TitleId set to call this method"); string serializedJson = JsonWrapper.SerializeObject(request, PlayFabUtil.ApiSerializerStrategy); Action<CallRequestContainer> callback = delegate(CallRequestContainer requestContainer) { ResultContainer<RegisterPlayFabUserResult>.HandleResults(requestContainer, resultCallback, errorCallback, RegisterPlayFabUserResultAction); }; PlayFabHttp.Post("/Client/RegisterPlayFabUser", serializedJson, null, null, callback, request, customData); }
/// <summary> /// Writes a character-based event into PlayStream. /// </summary> public static void WriteCharacterEvent(WriteClientCharacterEventRequest request, PlayFabResultCommon.ProcessApiCallback<WriteEventResponse> resultCallback, ErrorCallback errorCallback, object customData = null) { if (_authKey == null) throw new Exception("Must be logged in to call this method"); string serializedJson = JsonWrapper.SerializeObject(request, PlayFabUtil.ApiSerializerStrategy); Action<CallRequestContainer> callback = delegate(CallRequestContainer requestContainer) { ResultContainer<WriteEventResponse>.HandleResults(requestContainer, resultCallback, errorCallback, null); }; PlayFabHttp.Post("/Client/WriteCharacterEvent", serializedJson, "X-Authorization", _authKey, callback, request, customData); }