Initialize Gameball Customer Profile

Show your customers' profile including all details and progress on your Flutter app.

Showing the Gameball widget on your mobile application is slightly different than showing it on the website. You can either design your own customer interface with the help of our REST APIs - to know more information, you can follow this guide, or as this section elaborates, through using our Gameball Flutter SDK.

Using the SDK, you can open the Gameball customer profile with the magic of a press of button in your app, programmatically when someone does a specific action, or from a persistent button (ex: FAB) that sits over your app’s UI.

When you trigger the Gameball customer profile, your customer is presented with a default screen that is configurable inside Gameball to change the look and feel of it.

From there, your customer can check their progress across different Gameball programs as per your configurations.

Showing Gameball Customer Profile

To show the Gameball customer profile that contains their details, available reward campaigns, and the leaderboard use showProfile() SDK method.

Gameball’s views are accessible through the code below. You just need to use it on any button action.

Parameter

Type

Required

Description

Context

BuildContext

Yes

BuildContext instance which will be used in showing the customer's profile.

PlayerUniqueId

String

Yes

Unique identifier for the Customer in your database.

Could be database ID, random string, email or anything that uniquely identifies the customer.

openDetail

String

No

hideNavigation

Boolean

No

showCloseButton

Boolean

No

Flag for showing/hiding the close button from the player profile view. True by default

gameballApp.showProfile(context, "{playerUniqueId}", "{openDetail}", "{hideNavigation}");

Register/Update Customer

To register your customers with Gameball, use registerPlayermethod which can be used to create or update the customer details at Gameball. Ideally, it is called when your login or register network call is successful.

Parameter

Type

Required

Description

PlayerUniqueId

String

Yes

Unique identifier for the customer in your database.

Could be database ID, random string, email or anything that uniquely identifies the customer.

PlayerEmail

String

No

Customer's unique Email address.

PlayerMobile

String

No

Customer's unique Mobile number.

PlayerAttributes

object

No

PlayerAttributes is a builder class with set of properties that you want to set for the customer.

RegisterCallBack

function

No

Callback is used for providing the developer with the response status and payload.

PlayerAttributes Object

PlayerAttributes is a builder class that helps in creation of the PlayerAttributes with the common attributes mentioned below, all of these attributes are optional to use.

Parameter Name
Type
Required

displayName

string

No

firstName

string

No

lastName

string

No

email

string

No

gender

string

No

mobileNumber

string

No

dateOfBirth

string

No

joinDate

string

No

preferredLanguage

string (ex: en, fr, ar)

No

customAttributes

Map<string, string>

No

An example to create PlayerAttributes object

      PlayerAttributes playerAttributes = PlayerAttributes(
        displayName: "John Doe",
        firstName: "John",
        lastName: "Doe",
        mobileNumber: "0123456789",
        preferredLanguage: "en",
        customAttributes: {
          "{key}": "{value}"
        }
      );

The previous example will return an object of PlayerAttributes with the configured attributes.

Register the Customer

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

 // RegisterCallback
 playerRegistrationCallback(response, error) {
        if(error == null && response != null){
          // TODO Handle on success result.
        }
        else{
          // TODO Handle on failure result.
        }
    }
      
 gameballApp.registerPlayer(
          "{playerUniqueId}",
          "{playerEmail}",
          "{playerMobile}",
          playerAttributes, 
          playerRegistrationCallback
  );

Last updated