Basic methods

Expert tips before integrating the events.

Onboarding (tutorial)

The Tutorial steps event allows you to evaluate the effectiveness of the tutorial steps system. The event should be sent at the end of each tutorial step indicating the number of every passed step as a parameter.

Use the following constants to specify basic events of tutorial steps:

  • Start or -1 - at the beginning, before the first step is completed;

  • Finish or -2 - instead of the final step number;

  • Skipped or 0 - in case а user skipped the tutorial.

In other cases use step numbers. Make sure you use numbers above 0 to enumerate the steps.

/**
* The event allowing to track the stage of tutorial a player is on.
* @param NSUInteger tutorialStep - the latest successfully completed tutorial step.
*/
[DevToDev tutorialCompleted: (NSUInteger) tutorialStep];

Leveling up

This event is for games only.

You can analyze the distribution of the players over the levels. The event should be sent right after the player reached the next level. You can find more information on what is the right moment to use LevelUp event here.

To track the average account balance of in-game currency by the end of each level, please provide the list of currency names and amounts.

To track the average amount of in-game currency earned during a level, it is necessary to send a special event after each time an in-game account is replenished.

AccrualType can take one of the following values:

Real-World Currency Payment

To track payments, add this event right after the platform confirms that a payment went through.

A unique order identifier is a value of a transactionIdentifier property in SKPaymentTransaction object inside the receipt of completed transaction.

Virtual Currency Payment

This event is for games only.

To track expenditures of in-game currency and popularity of products, add this event right after the purchase.

In case a product is bought for several game currencies at once, it is necessary to make a dictionary that includes the names and amounts of the paid currencies.

Custom Events

If you want to count the events that are not among basic, use custom events.

The event must have a unique name and can include up to 20 parameters. The maximum length of the event name is 72 symbols.

Every parameter inside one event must have a unique name. The maximum length of the parameter name is 32 symbols.

The values of parameters can be string or number type (int, long, float, double). The maximum length of the parameter value is 255 symbols.

For a string parameter, it is acceptable to use not more than 50,000 unique values for the whole event history. In case the limit of unique values is exceeded, the parameter is ignored.

Therefore, we recommend not to set user IDs and Unix time as parameter values of custom events. Try to integrate parameter values if they have a very large variability. Otherwise, it will be very difficult to analyze the data or after some time it may be even ignored.

We strongly recommend not to change the type of data transferred in the parameter over time. In case you change the data type in parameter, it will be duplicated with the same name and different data types in devtodev database which will result in more complicated report building.

20 parameter names may be associated with any event:

Then use method:

Progression event

This event is for games only.

First of all, a Progression event is used for games with short (within one game session) locations/game levels. The event allows you to gather data on passing the locations and get statistics on parameters that vary during the location passing.

Developer must use the following two methods:

  1. Method startProgressionEvent when entering the location:

  2. Method endProgressionEvent when exiting (no matter if completed or not) the location:

    LocationEventParams class methods:

Let’s look at the example of event integration for a match3 game with a location map:

Last updated

Was this helpful?