TriggerStatsEvents
Triggers multiple events 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_MULTIPLE |
Method Parameters
Parameter | Description |
---|---|
jsonData | An array of JSON objects representing Event Names and Multipliers. ex. [ { "eventName": "event1", "eventMultiplier": 1 } ] |
Usage
http://localhost:3000
- C#
- C++
- Objective-C
- Java
- JavaScript
- Dart
- Cloud Code
- Raw
string events = "[{\"eventName\":\"GrantExperience\",\"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.TriggerStatsEvents(events, successCallback, failureCallback);
const char *events = "[{\"eventName\":\"GrantExperience\",\"eventMultiplier\":100}]";
_bc->getPlayerStatisticsEventService()->triggerStatsEvents(events, this);
NSString *events = "[{\"eventName\":\"GrantExperience\",\"eventMultiplier\":100}]";
BCCompletionBlock successBlock; // define callback
BCErrorCompletionBlock failureBlock; // define callback
[[_bc playerStatisticsEventService] triggerStatsEvents:events
completionBlock:successBlock
errorCompletionBlock:failureBlock
cbObject:nil];
String events = "[{\"eventName\":\"GrantExperience\",\"eventMultiplier\":100}]";
this; // implements IServerCallback
_bc.getPlayerStatisticsEventService().triggerStatsEvents(events, 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 events = [
{
"eventName": "GrantExperience",
"eventMultiplier": 100
}
];
_bc.playerStatisticsEvent.triggerStatsEvents(events, result =>
{
var status = result.status;
console.log(status + " : " + JSON.stringify(result, null, 2));
});
var events = [
{
"eventName": "GrantExperience",
"eventMultiplier": 100
}
];
ServerResponse result = await _bc.playerStatisticsEventService.triggerStatsEvents(events:events);
if (result.statusCode == 200) {
print("Success");
} else {
print("Failed ${result.error['status_message'] ?? result.error}");
}
var events = [
{
"eventName": "GrantExperience",
"eventMultiplier": 100
}
];
var playerStatisticsEventProxy = bridge.getPlayerStatisticsEventServiceProxy();
var postResult = playerStatisticsEventProxy.triggerStatsEvents(events);
if (postResult.status == 200) {
// Success!
}
var events = [
{
"eventName": "GrantExperience",
"eventMultiplier": 100
}
];
var playerStatisticsEventProxy = bridge.getPlayerStatisticsEventServiceProxy();
var postResult = playerStatisticsEventProxy.triggerStatsEvents(events);
if (postResult.status == 200) {
// Success!
}
JSON Response
{
"data": {
"currency": {
"credits": {
"awarded": 10000,
"balance": 10000,
"consumed": 0,
"purchased": 0
},
"test": {
"awarded": 0,
"balance": 0,
"consumed": 0,
"purchased": 0
}
},
"rewardDetails": {},
"rewards": {
"currency": {
"credits": 10000
}
}
},
"status": 200
}