ConsumeCurrency
Consume the passed-in amount of currency from the player.
note
Consuming 0 or negative currency will return an error. Use AwardCurrency
to add currency values.
caution
For security reasons calling this API from the client is not recommended, and is rejected at the server by default. To over-ride, enable the 'Allow Currency Calls from Client' compatibility setting in the Design Portal.
Service | Operation |
---|---|
virtualCurrency | CONSUME_VC |
Method Parameters
Parameter | Description |
---|---|
vcId | The currency type to consume. |
vcAmount | The amount of currency to consume. |
Usage
http://localhost:3000
- C#
- C++
- Objective-C
- Java
- JavaScript
- Dart
- Cloud Code
- Raw
string vcId = "coins";
int vcAmount = 1;
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.VirtualCurrencyService.ConsumeCurrency(vcId, vcAmount, successCallback, failureCallback);
const char *vcId = "coins";
int vcAmount = 1;
_bc->getVirtualCurrencyService()->consumeCurrency(vcId, vcAmount, this);
NSString *vcId = @"coins";
int vcAmount = 1;
BCCompletionBlock successBlock; // define callback
BCErrorCompletionBlock failureBlock; // define callback
[[_bc virtualCurrencyService] consumeCurrency:vcId
vcAmount:vcAmount
completionBlock:successBlock
errorCompletionBlock:failureBlock
cbObject:nil];
String vcId = "coins";
int vcAmount = 1;
this; // implements IServerCallback
_bc.getVirtualCurrencyService().consumeCurrency(vcId, vcAmount, 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 vcId = "coins";
var vcAmount = 1;
_bc.virtualCurrency.consumeCurrency(vcId, vcAmount, result =>
{
var status = result.status;
console.log(status + " : " + JSON.stringify(result, null, 2));
});
var vcId = "coins";
var vcAmount = 1;
ServerResponse result = await _bc.virtualCurrencyService.consumeCurrency(vcId:vcId, vcAmount:vcAmount);
if (result.statusCode == 200) {
print("Success");
} else {
print("Failed ${result.error['status_message'] ?? result.error}");
}
var vcId = "coins";
var vcAmount = 1;
var virtualCurrencyProxy = bridge.getVirtualCurrencyServiceProxy();
var postResult = virtualCurrencyProxy.consumeCurrency(vcId, vcAmount);
if (postResult.status == 200) {
// Success!
}
{
"service": "virtualCurrency",
"operation": "CONSUME_VC",
"data": {
"vcId": "coins",
"vcAmount": 1
}
}
JSON Response
{
"status": 200,
"data": {
"currencyMap": {
"gems": {
"purchased": 0,
"balance": 0,
"consumed": 0,
"awarded": 0,
"revoked": 0
},
"gold": {
"purchased": 0,
"balance": 123,
"consumed": 0,
"awarded": 123,
"revoked": 0
}
}
}
}