TriggerStatsEvent
Trigger an event server side that will increase the users statistics. This may cause one or more awards to be sent back to the player - could be achievements, experience, etc. Achievements will be sent by this client library to the appropriate awards service (Apple Game Center, etc).
This mechanism supersedes the PlayerStatisticsService
API methods, since PlayerStatisticsService API method only update the raw statistics without triggering the rewards.
Service | Operation |
---|---|
playerStatisticsEvent | TRIGGER |
Method Parameters
Parameter | Description |
---|---|
eventName | The name of the event configured through the brainCloud portal |
multiplier | The multiplier to apply to the event |
Usage
http://localhost:3000
- C#
- C++
- Objective-C
- Java
- JavaScript
- Dart
- Cloud Code
- Raw
string eventName = "GrantExperience";
int eventMultiplier = 100;
SuccessCallback successCallback = (response, cbObject) =>
{
Debug.Log(string.Format("Success | {0}", response));
};
FailureCallback failureCallback = (status, code, error, cbObject) =>
{
Debug.Log(string.Format("Failed | {0} {1} {2}", status, code, error));
};
_bc.PlayerStatisticsEventService.TriggerStatsEvent(eventName, eventMultiplier, successCallback, failureCallback);
const char *eventName = "GrantExperience";
int eventMultiplier = 100;
_bc->getPlayerStatisticsEventService()->triggerStatsEvent(eventName, eventMultiplier, this);
NSString *eventName = "GrantExperience";
int eventMultiplier = 100;
BCCompletionBlock successBlock; // define callback
BCErrorCompletionBlock failureBlock; // define callback
[[_bc playerStatisticsEventService] triggerStatsEvent:eventName
eventMultiplier:eventMultiplier
completionBlock:successBlock
errorCompletionBlock:failureBlock
cbObject:nil];
String eventName = "GrantExperience";
int eventMultiplier = 100;
this; // implements IServerCallback
_bc.getPlayerStatisticsEventService().triggerStatsEvent(eventName, eventMultiplier, this);
public void serverCallback(ServiceName serviceName, ServiceOperation serviceOperation, JSONObject jsonData)
{
System.out.print(String.format("Success | %s", jsonData.toString()));
}
public void serverError(ServiceName serviceName, ServiceOperation serviceOperation, int statusCode, int reasonCode, String jsonError)
{
System.out.print(String.format("Failed | %d %d %s", statusCode, reasonCode, jsonError.toString()));
}
var eventName = "GrantExperience";
var eventMultiplier = 100;
_bc.playerStatisticsEvent.triggerStatsEvent(eventName, eventMultiplier, result =>
{
var status = result.status;
console.log(status + " : " + JSON.stringify(result, null, 2));
});
var eventName = "GrantExperience";
var eventMultiplier = 100;
ServerResponse result = await _bc.playerStatisticsEventService.triggerStatsEvent(eventName:eventName, eventMultiplier:eventMultiplier);
if (result.statusCode == 200) {
print("Success");
} else {
print("Failed ${result.error['status_message'] ?? result.error}");
}
var eventName = "GrantExperience";
var eventMultiplier = 100;
var playerStatisticsEventProxy = bridge.getPlayerStatisticsEventServiceProxy();
var postResult = playerStatisticsEventProxy.triggerStatsEvent(eventName, eventMultiplier);
if (postResult.status == 200) {
// Success!
}
var eventName = "GrantExperience";
var eventMultiplier = 100;
var playerStatisticsEventProxy = bridge.getPlayerStatisticsEventServiceProxy();
var postResult = playerStatisticsEventProxy.triggerStatsEvent(eventName, eventMultiplier);
if (postResult.status == 200) {
// Success!
}
JSON Response
{
"data": {
"currency": {},
"rewardDetails": {},
"rewards": {}
},
"status": 200
}