Cooee SDKs/plugins support different platforms and each platform has a different word for key-value data. For example-
- Android/Java uses Maps to represent key-value.
- iOS calls it a dictionary.
- Flutter & React native represents it as an object/map.
To maintain the consistency of the same and improve the readability of the document, we represent any key-value pair as JSON in this document.
Different companies/apps use different words for the product/item that they list within their app. For example-
- McDonald can say the items in their app as Product, while
- PizzaHut can say the items in their app as Item.
- Skillshare (an educational app) can say their content as Course, while
- Other education apps can call it Content.
To minimise this difference across different industries, we call those products/contents as Items.
Events are different activities as your customers do within your app. For example-
- When users launch the app.
- When users log-in within your app using email/password or social login.
- When users register/sign-up.
- When users view some item/content of your app.
- When users make some payment/purchase from your app.
There are many events that are collected without you adding code, check System/Default Events. These events may be sufficient but we mandate some events based on the nature of your application. This helps our ML engine to learn more about your users thus providing personalized engagements.
Every event can have some properties/attributes that further explains the event logged. For example-
- When a user views a content/item of your app, the properties can be the item id and name of the item.
- When a user purchases something in your app, the amount & currency of the purchase.
User properties are the attributes or the details of the individual user which describe the additional context of the user. An attribute can reflect either the current or previous values, depending on its nature and how often it is updated.
Some of the common user properties are collected automatically by the SDK. For example, device type, battery level, network type, screen size. You don't need to add any code to enable them. Check System User Properties.
We mandate that you also collect additional properties based on the nature of your application. Visit Mandatory User Properties.
There are two types of app which allows user to make payment within their apps-
- Non-Digital Purchase
- Digital Purchase
- Consumable purchases such as lives or gems to move forward in a game, or a boost of your ads to show on top in an online ad app like OLX/Quickr.
- Non-Consumable such as any premium feature that the user purchases once and it never expires. For example, Spotify Premium to remove ad interruption.
- Renewable Subscriptions that allows users to to purchase access to premium contents/service where the users are charged on a recurring basis until they cancel it. For example, educational apps that sell courses on different topics. Another example can be apps that provide access to media or video/audio contents, software as a service (such as graphics design, cloud storage).