The Adjust SDK provides an AdjustEvent2dx
object which can be used to structure and send event information from your app to Adjust’s servers.
Instantiate an AdjustEvent2dx object
AdjustEvent2dx(std::string eventToken);
To send event information with the Adjust SDK, you need to instantiate an AdjustEvent2dx
object. This object contains variables that are sent to Adjust when an event occurs in your app.
To instantiate an event object, create a new AdjustEvent2dx
instance and pass the following parameters:
eventToken
(String): Your Adjust event token.
AdjustEvent2dx adjustEvent = AdjustEvent2dx("abc123");Adjust2dx::trackEvent(adjustEvent);
Send an event
static void trackEvent(AdjustEvent2dx event);
You can associate your Adjust event tokens to actions in your app to record them. To record an event:
- Create a new Adjust event instance and pass your event token as a string argument.
- Call the
trackEvent
method with your event instance as an argument.
AdjustEvent2dx adjustEvent = AdjustEvent2dx("abc123");Adjust2dx::trackEvent(adjustEvent);
Example
This example shows how to record an event with the token g3mfiw
whenever a user interacts with a button.
bool HelloWorld::init() { auto position = Vec2(origin.x + visibleSize.width / 2, origin.y + visibleSize.height - label->getContentSize().height + offset - divide * (++index)); makeButton(mainmenu, "Track Event", position, CC_CALLBACK_1(HelloWorld::onTrackEvent, this));}
//...
void HelloWorld::onTrackEvent(cocos2d::Ref *pSender) { auto adjustEvent = AdjustEvent2dx("g3mfiw"); Adjust2dx::trackEvent(adjustEvent);
}
Path: /eventClientSdk: cocos2d-x4.38.0Parameters: android_uuid 781f17d5-5048-4fae-a4e5-77b58bab62b9 api_level 3441 collapsed lines
app_token 2fm9gkqubvpc app_version 1.0 attribution_deeplink 1 callback_params {"key":"value","foo":"bar"} connectivity_type 1 country US cpu_type arm64-v8a created_at 2024-01-25T14:13:16.151Z+0100 currency EUR device_manufacturer Google device_name sdk_gphone64_arm64 device_type phone display_height 2205 display_width 1080 environment sandbox event_buffering_enabled 0 event_count 3 event_token g3mfiw gps_adid 5962dfc1-3a53-4692-850b-22c4bf4311a5 gps_adid_attempt 2 gps_adid_src service hardware_name UE1A.230829.036 language en mcc 310 mnc 260 needs_response_details 1 os_build UE1A.230829.036 os_name android os_version 14 package_name com.adjust.examples partner_params {"key":"value","foo":"bar"} revenue 0.25 screen_density high screen_format long screen_size normal session_count 2 session_length 23 subsession_count 1 time_spent 23 tracking_enabled 1 ui_mode 1
Record event revenue
void setRevenue(double amount, std::string currency);
You can record revenue associated with an event by setting the revenue and currency properties on your event instance. Use this feature to record revenue-generating actions in your app.
To set these properties, call the setRevenue
method and pass the following arguments:
amount
(double): The amount of revenue generated by the eventcurrency
(string): The ISO 4217 code of the event currency.
AdjustEvent2dx adjustEvent = AdjustEvent2dx("abc123");adjustEvent.setRevenue(0.01, "EUR");Adjust2dx::trackEvent(adjustEvent);
Example
This example shows how to record an event with the token g3mfiw
whenever a user interacts with a button. The function sets the revenue
property of this event to 0.25
and the currency
property to EUR
.
bool HelloWorld::init() { position = Vec2(origin.x + visibleSize.width / 2, origin.y + visibleSize.height - label->getContentSize().height + offset - divide * (++index)); makeButton(mainmenu, "Track Revenue Event", position, CC_CALLBACK_1(HelloWorld::onTrackRevenueEvent, this));}
//...
void HelloWorld::onTrackRevenueEvent(cocos2d::Ref *pSender) { auto adjustEvent = AdjustEvent2dx("g3mfiw");
adjustEvent.setRevenue(0.25, "EUR"); adjustEvent.setTransactionId("DUMMY_TRANSACTION_ID");
Adjust2dx::trackEvent(adjustEvent);
}
Path: /eventClientSdk: cocos2d-x4.38.0Parameters: environment sandbox event_count 3 event_token abc123 revenue 0.25 currency EUR
Purchase verification
If you’ve enabled purchase verification, you must send additional information with your purchase events to verify them. When Adjust’s servers receive this information in an event object, they forward it to Apple to verify the purchase.
Set a unique order ID
void setTransactionId(std::string transactionId);
You can pass an optional identifier to avoid recording duplicate events. The SDK stores the last ten identifiers and skips revenue events with duplicate transaction IDs.
To set the identifier, call the setTransactionId
method and pass your transaction ID as a string argument.
AdjustEvent2dx adjustEvent = AdjustEvent2dx("abc123");adjustEvent.setRevenue(0.01, "EUR");adjustEvent.setTransactionId("transactionID");Adjust2dx::trackEvent(adjustEvent);
Example
This example shows how to record an event with the token g3mfiw
whenever a user interacts with a button. The function sets the orderId
to 5e85484b-1ebc-4141-aab7-25b869e54c49
using the setOrderId
method.
bool HelloWorld::init() { position = Vec2(origin.x + visibleSize.width / 2, origin.y + visibleSize.height - label->getContentSize().height + offset - divide * (++index)); makeButton(mainmenu, "Track Unique Event", position, CC_CALLBACK_1(HelloWorld::onTrackUniqueEvent, this));}
//...
void HelloWorld::onTrackUniqueEvent(cocos2d::Ref *pSender) { auto adjustEvent = AdjustEvent2dx("g3mfiw");
adjustEvent.setRevenue(0.25, "EUR"); adjustEvent.setTransactionId("5e85484b-1ebc-4141-aab7-25b869e54c49");
Adjust2dx::trackEvent(adjustEvent);
}
Path: /eventClientSdk: cocos2d-x4.38.0Parameters: environment sandbox event_count 3 event_token g3mfiw transaction_id 5e85484b-1ebc-4141-aab7-25b869e54c49
Add callback parameters
void addCallbackParameter(std::string key, std::string value);
If you register a callback URL in the Adjust dashboard, the SDK sends a GET request to your callback URL when it records an event.
You can configure callback parameters to send to your servers. Once you configure parameters on an event, the SDK appends them to your callback URL. You can use this information to analyze your users’ in-app behavior with your BI system.
Add callback parameters to your event by calling the addCallbackParameter
method with string key-value arguments. You can add multiple parameters by calling this method multiple times.
AdjustEvent2dx adjustEvent = AdjustEvent2dx("abc123");adjustEvent.addCallbackParameter("key", "value");adjustEvent.addCallbackParameter("foo", "bar");Adjust2dx::trackEvent(adjustEvent);
The Adjust SDK measures the event and sends a request to your URL with the callback parameters. For example, if you register the URL https://www.mydomain.com/callback
, your callback looks like this:
https://www.mydomain.com/callback?key=value&foo=bar
If you’re using CSV uploads, make sure to add the parameters to your CSV definition.
Adjust supports many placeholders which you can use to pass information from the SDK to your URL. For example, the {idfa}
placeholder for iOS and the {gps_adid}
placeholder for Android. The {publisher_parameter}
placeholder presents all callback parameters in a single string.
Example
This example shows how to record an event with the token g3mfiw
whenever a user interacts with a button. The following callback parameters are added:
- The
event_token
- The
revenue_amount
generated by the event
The resulting callback URL looks like this:
http://www.mydomain.com/callback?event_token=g3mfiw&revenue_amount=0.05
bool HelloWorld::init() { position = Vec2(origin.x + visibleSize.width / 2, origin.y + visibleSize.height - label->getContentSize().height + offset - divide * (++index)); makeButton(mainmenu, "Track Callback Event", position, CC_CALLBACK_1(HelloWorld::onTrackCallbackEvent, this));}
//...
void HelloWorld::onTrackCallbackEvent(cocos2d::Ref *pSender) { auto adjustEvent = AdjustEvent2dx("g3mfiw");
adjustEvent.setRevenue(0.25, "EUR"); adjustEvent.addCallbackParameter("event_token", "g3mfiw"); adjustEvent.addCallbackParameter("revenue_amount", "0.05");
Adjust2dx::trackEvent(adjustEvent);
}
You can check the parameters were sent to Adjust by checking for callback_params
in your logs.
Path: /eventClientSdk: cocos2d-x4.38.0Parameters: callback_params {"event_token":"g3mfiw","revenue_amount":"0.05"} environment sandbox event_count 1 event_token g3mfiw
Add partner parameters
void addPartnerParameter(std::string key, std::string value);
You can send extra information to your network partners by adding partner parameters.
Adjust sends partner parameters to external partners you have set up. This information is useful for more granular analysis and retargeting purposes. Adjust’s servers forward these parameters once you have set them up and enabled them for a partner.
Add partner parameters to your event by calling the addPartnerParameter
method with string key-value arguments. You can add multiple parameters by calling this method multiple times.
AdjustEvent2dx adjustEvent = AdjustEvent2dx("abc123");adjustEvent.addPartnerParameter("key", "value");adjustEvent.addPartnerParameter("foo", "bar");Adjust2dx::trackEvent(adjustEvent);
Example
This example shows how to record an event with the token g3mfiw
whenever a user interacts with a button. The following partner parameters are added:
- The
product_id
of the associated product - The
user_id
of the user who triggered the event
bool HelloWorld::init() { position = Vec2(origin.x + visibleSize.width / 2, origin.y + visibleSize.height - label->getContentSize().height + offset - divide * (++index)); makeButton(mainmenu, "Track Partner Event", position, CC_CALLBACK_1(HelloWorld::onTrackPartnerEvent, this));}
//...
void HelloWorld::onTrackPartnerEvent(cocos2d::Ref *pSender) { auto adjustEvent = AdjustEvent2dx("g3mfiw");
adjustEvent.setRevenue(0.25, "EUR"); adjustEvent.addPartnerParameter("product_id", "29"); adjustEvent.addPartnerParameter("user_id", "835");
Adjust2dx::trackEvent(adjustEvent);
}
You can check the parameters were sent to Adjust by checking for partner_params
in your logs.
Path: /eventClientSdk: cocos2d-x4.38.0Parameters: partner_params {"product_id":"29","user_id":"835"} environment sandbox event_count 1 event_token g3mfiw
Add a callback identifier
void setCallbackId(std::string callbackId);
You can add a custom string identifier to each event you want to measure. Adjust’s servers can report on this identifier in event callbacks. This enables you to keep track of which events have been successfully measured.
Set up this identifier by calling the setCallbackId
method with your ID as a string argument.
AdjustEvent2dx adjustEvent = AdjustEvent2dx("abc123");adjustEvent.setCallbackId("Your-Custom-Id");Adjust2dx::trackEvent(adjustEvent);
Example
This example shows how to record an event with the token g3mfiw
whenever a user interacts with a button. In this example, the callbackId
is set to f2e728d8-271b-49ab-80ea-27830a215147
.
bool HelloWorld::init() { position = Vec2(origin.x + visibleSize.width / 2, origin.y + visibleSize.height - label->getContentSize().height + offset - divide * (++index)); makeButton(mainmenu, "Track Partner Event", position, CC_CALLBACK_1(HelloWorld::onTrackCallbackIdEvent, this));}
//...
void HelloWorld::onTrackCallbackIdEvent(cocos2d::Ref *pSender) { auto adjustEvent = AdjustEvent2dx("g3mfiw");
adjustEvent.setCallbackId("f2e728d8-271b-49ab-80ea-27830a215147");
Adjust2dx::trackEvent(adjustEvent);
}
Path: /eventClientSdk: cocos2d-x4.38.0Parameters: environment sandbox event_count 3 event_token g3mfiw callback_id f2e728d8-271b-49ab-80ea-27830a215147