Integrate event tags

Automatic event tracking

After installing the Ad SDK, you just have to Initialise the core SDK and the event tracking will be automatically available.

Session times are being recorded out of the box and you don’t have to do anything. So how much time the player spends in your application per day and player retention are tracked automatically.

You can send the basic event, or you can provide a bit more information to better understand player behavior, serve more appropriate ads, or tailor your app to your player.

For recording other significant actions and activities, you have the option to create app events manually.

The more information you share via the SDK, the more advanced your reporting and player profiling will be.

For a better understanding of app performance, we are also providing analytic tracking.

How many events should I integrate?

The logic is simple: the more events you integrate the better the predictions will be. With better predictions we are able to better match users to ads, generating higher revenue for you. As a rule of thumb, our Head of Machine Learning shared that...

  • Ideal integration : 15 events (the 5 most frequent spend, earn, receive events)
  • Good integration : 9 events (the 3 most frequent spend, earn, receive events)
  • If you are a publisher integrating multiple games, consistency is beneficial! Integrate same events across all apps

Receive Event

Event for recording the player receiving any resource:

// Record just receiving of any resource
NeftaEvents.Record(new ReceiveEvent());
            
// Record a bit more information about receiving
NeftaEvents.Record(new ReceiveEvent({ _name = "coins", _category = Category.SoftCurrency, _quantity = 5 });
            
// Record receiving of resources in full details
NeftaEvents.Record(new ReceiveEvent(
{
  _name = "coins",
  _category = Category.SoftCurrency,
  _quantity = 5,
  _method = ReceiveMethod.Reward,
  _customString = "daily-2"
});
AddReceiveEvent(category: ResourceCategory.Other,
   method: ReceiveMethod.Shop,
   name: "name2",
   quantity: 2,
   customPayload: "{\"field\":\"value\"}")
[_plugin.Events AddReceiveEventWithCategory:ResourceCategoryConsumable
   method:ReceiveMethodCreate
   name:"name2"
   quantity:2
   customPayload:@"{\"field\":\"value\"}"];

Spend event

Event for tracking player spending any resource:

// Record just spending of any resource
NeftaEvents.Record(new SpendEvent());

// Record a bit more information about spending
NeftaEvents.Record(new SpendEvent({ _name = "coins", _category = Category.SoftCurrency, _quantity = 10 }););

// Record spending of resources in full details
NeftaEvents.Record(new SpendEvent(
{
  _name = "coins",
  _category = Category.SoftCurrency,
  _quantity = 10
	_method = SpendMethod.Continuity,
  _customString = "world-3;segment-4;speed-8"
});
_neftaEvents.AddSpendEvent(category: NeftaEvents.ResourceCategory.PremiumCurrency,
                           method: NeftaEvents.SpendMethod.Upgrade)
[_plugin.Events AddSpendEventWithCategory: ResourceCategoryPremiumCurrency
                                       method: SpendMethodUpgrade];

📘

Quantity

Should always be a positive number.

Very large numbers (values over billion) will be clamped on BE because of behavioural analysis.

Progression event

For tracking player progress through the application:

// Just record progression
NeftaEvents.Record(new ProgressionEvent());

// Record progression event with a bit more information
NeftaEvents.Record(new ProgressionEvent() { _name = "tutorial", _status = Status.Start });

// Record progression event in full detail
NeftaEvents.Record(new ProgressionEvent()
{
	_name = "tutorial",
  _status = Status.Start,
  _type = Type.GameplayUnit,
  _source = Source.CoreContent,
  _value = 3,
  _customString = "group-D"
});
_neftaEvents.AddProgressionEvent(status: NeftaEvents.ProgressionStatus.Start,
                                         type: NeftaEvents.ProgressionType.GameplayUnit,
                                         source: NeftaEvents.ProgressionSource.CoreContent,
                                         name: @"area-4",
                                         value: 21)
[_plugin.Events AddProgressionEventWithStatus: ProgressionStatusStart
                                             type: ProgressionTypeGameplayUnit
                                           source: ProgressionSourceCoreContent
                                             name: "area-4"
                                            value: 21];