Gameball Developers Guide
v4.0
v4.0
  • Introduction
  • Installing Gameball
    • Web
      • Initialize Gameball Customer Widget
      • Track Customer Events
      • Track Orders & Cashback Reward
      • Integrate Redemption
      • Track Referrals
      • Go-Live Checklist
    • iOS
      • Getting Started
      • Initialize Gameball Customer Profile
      • Track Customer Events
      • Track Orders & Cashback Reward
      • Integrate Redemption
      • Push Notifications
      • Track Referrals
      • Go-Live Checklist
    • Android
      • Getting Started
      • Initialize Gameball Customer Profile
      • Track Customer Events
      • Track Orders & Cashback Reward
      • Integrate Redemption
      • Push Notifications
      • Go-Live Checklist
    • React Native
      • Getting Started
      • Initialize Gameball Customer Profile
      • Track Customer Events
      • Track Orders & Cashback Reward
      • Integrate Redemption
      • Track Referrals
      • Push Notifications
      • Go-Live Checklist
    • Flutter
      • Getting Started
      • Initialize Gameball Customer Profile
      • Track Customer Events
      • Track Orders & Cashback Reward
      • Integrate Redemption
      • Track Referrals
      • Go-Live Checklist
    • Generic Mobile App
      • Initialize Gameball Customer Profile
      • Track Customer Events
      • Track Orders & Cashback Reward
      • Integrate Redemption
      • Track Referrals
      • Push Notifications
  • REST API
    • Overview
      • What's New in V4.0
      • Authentication
      • Rate Limiting
      • Status and Error Codes
    • Customers
      • Customer Management
      • Customer Progress
      • Customer Tags
      • Customer Notifications
    • Events
    • Order
      • Order Tracking
      • Order Rewards & History
    • Payment
      • Payment Tracking
    • Transactions
      • Cashback & Redemptions
      • Hold Management
      • Transaction Management
      • Transaction Validation
    • Coupons
    • Configurations
      • Reward Configurations
      • Program Configurations
      • Widget Configuration
    • Leaderboard
    • Batches
      • Batch Creation
      • Batch Management
  • Webhooks
    • Overview
    • Subscribing to Webhooks
    • Webhook Topics
      • Customer's Notifications
      • Customer's Profile Updates
  • Tutorials
    • Tracking Customer Events
    • Redemption Integration
      • Direct debit redemption
      • Coupons Redemption
        • Use Your Own Couponing Engine
        • Gameball Couponing Engine
    • Checkout Integration
    • Build Custom UI Elements
      • Reward Campaigns
      • VIP Tiers
      • Customer Balance
      • Widget Configurations
      • Coupons Customer Experience
      • Customer Notifications
      • Customer Leaderboard
    • Build your Own Notification System
    • Channel Merging Guide
    • Previewing Potential Points Before Purchase
    • Refund
    • Retail & POS Integration with Gameball Loyalty Program
    • Referrals
    • Widget Deep Links
    • Batch APIs usage example
  • Branch.io Integration
  • Adjust Integration
Powered by GitBook
On this page
  1. Installing Gameball
  2. Android

Track Customer Events

PreviousInitialize Gameball Customer ProfileNextTrack Orders & Cashback Reward

Last updated 1 month ago

Start sending your customers' events on your app to Gameball, along with any metadata that describes the event. Depending on your Gameball programs configuration, the customer can be rewarded based upon the sent events.

Tracked events can be app events or server-side events depending on how you would like to design your programs. App events can be sent via the available SDK interface and server-side events can be sent to Gameball via the .

Every Track Event call records a single customer action which we call “events”. We recommend that you make your event names human-readable, so that everyone can figure them out instantly.

Event metadata are extra pieces of information you can tie to events you track. They can be anything that will be useful while designing your program.

To send Customer events from your app to Gameball, you can use the sendEvent method as shown below.

event Object Required

Event body that is being sent to Gameball.

Event Object

withCustomerId string Required

The display name of the customer.


withEmail string Optional

Customer's unique Email address.


withMobile string Optional

Customer's unique Mobile number.


withEventName string Required

string represent the event name as (e.g., write_review, place_order, etc.), where each key is the event name.


withEventMetadata Object Optional

An object containing metadata related to the event. The structure of the event object can vary depending on the specific event being recorded. Events can be any significant action a customer performs, such as making a purchase, writing a review, adding to cart, etc.


callback Function Optional

Callback is used for providing the developer with the status of the request as a boolean whether it succeeded or not or with an error if any.

Event event = new Event.Builder()
        .withCustomerId("customer123")
        .withEventName("purchase_completed")
        .withEmail("jack@domain.com")
        .withMobile("0123456789")
        .withEventMetaData("purchase_price", 19.99)
        .build();
val event = Event.Builder()
    .AddUniquePlayerId("customer123")
    .AddEventName("purchase_completed")
    .AddEmail("jack@domain.com")
    .AddMobile("0123456789")
    .AddEventMetaData("purchase_price", 19.99)
    .build()

Send the Event

Using the previously created GameballApp instance or by creating a new one, call the SendEvent() method as shown below.

gameballApp.sendEvent(event, new Callback<Boolean>() {
    @Override
    public void onSuccess(Boolean aBoolean) {
        // TODO Handle on success result
    }

    @Override
    public void onError(Throwable e) {
        // TODO Handle on failure result
    }
});
gameballApp.sendEvent(event, object : Callback<Boolean?> {
    override fun onSuccess(aBoolean: Boolean?) {
        // TODO Handle on success result
    }

    override fun onError(e: Throwable) {
        // TODO Handle on failure result
    }
})
Track Events API