App Events

App Events Best Practices for Casual Gaming App

Updated: Jun 30, 2026
Copy for LLM
This guide is intended to be used as a starting point for your app and should be customized. The example app provides a screen by screen breakdown of the different events and parameters that can be collected. At the end of it, there is a table that lists the recommended events and parameters for your app.

Casual Gaming App Product and Marketing Objectives

  • Understand the most popular items being purchased in-app as well as hardest levels to complete
  • Retarget users that never completed the tutorial and have not played a level
  • Find new users using lookalikes of high value or frequent purchasers

Example Casual Game App

ActivatedApp Event

Candy World app launch screen with Log in with Facebook and No Thanks buttons, illustrating the App Launch event
ActivatedApp Event Code Example:
/**
 * For more details, please take a look at:
 * developers.facebook.com/docs/reference/ios/current/class/FBSDKAppEvents
 */
- (void)applicationDidBecomeActive:(UIApplication *)application {
    [FBSDKAppEvents activateApp];
}

CompletedRegistration Event

Candy World Success dialog confirming Facebook connection, marking the Completed Registration event with Registration Method parameter
CompletedRegistration Event Code Example:
/**
 * For more details, please take a look at:
 * developers.facebook.com/docs/reference/ios/current/class/FBSDKAppEvents
 */
 - (void)logCompletedRegistrationEvent :(NSString*)registrationMethod {

NSDictionary *params =
    [[NSDictionary alloc] initWithObjectsAndKeys:
        registrationMethod, FBSDKAppEventParameterNameRegistrationMethod,
        nil];

    [FBSDKAppEvents logEvent: FBSDKAppEventNameCompletedRegistration
        parameters: params];
}

CompletedTutorial Event

Candy World tutorial step 1 of 3 with swipe instruction, showing the Completed Tutorial event parameters Description, Content Type, and Tutorial Step
CompletedTutorial Event Code Example:
/**
 * For more details, please take a look at:
 * developers.facebook.com/docs/reference/ios/current/class/FBSDKAppEvents
 */
 - (void)logCompletedTutorialEvent :(NSString*)contentId
    success :(BOOL)success {

NSDictionary *params =
    [[NSDictionary alloc] initWithObjectsAndKeys:
        contentId, FBSDKAppEventParameterNameContentID,
        [NSNumber numberWithInt:success ? 1 : 0], FBSDKAppEventParameterNameSuccess,
        nil];

    [FBSDKAppEvents logEvent: FBSDKAppEventNameCompletedTutorial
        parameters: params];
}

AchievedLevel Event

Candy World Level 3 completion screen with three stars and score 54,240, showing the Level Achieved event parameters Level Number and Score
AchievedLevel Event Code Example:
/**
 * For more details, please take a look at:
 * developers.facebook.com/docs/reference/ios/current/class/FBSDKAppEvents
 */
 - (void)logAchievedLevelEvent :(NSString*)level {

NSDictionary *params =
    [[NSDictionary alloc] initWithObjectsAndKeys:
        level, FBSDKAppEventParameterNameLevel,
        nil];

    [FBSDKAppEvents logEvent: FBSDKAppEventNameAchievedLevel
        parameters: params];
}

UnlockedAchievement Event

Candy World Booster unlocked dialog for The Bomb, showing the Achievement Unlocked event parameters Description and Content Type
UnlockedAchievement Event Code Example:
/**
 * For more details, please take a look at:
 * developers.facebook.com/docs/reference/ios/current/class/FBSDKAppEvents
 */
 - (void)logUnlockedAchievementEvent :(NSString*)description {

NSDictionary *params =
    [[NSDictionary alloc] initWithObjectsAndKeys:
        description, FBSDKAppEventParameterNameDescription,
        nil];

    [FBSDKAppEvents logEvent: FBSDKAppEventNameUnlockedAchievement
        parameters: params];
}

InitiatedCheckout Event

Candy World Bank confirm in-app purchase dialog for a 10x pack at $0.99, showing the Initiate Checkout event parameters Content Type, Content ID, Currency, and Value
InitiatedCheckout Event Code Example:
/**
 * For more details, please take a look at:
 * developers.facebook.com/docs/reference/ios/current/class/FBSDKAppEvents
 */
 - (void)logInitiatedCheckoutEvent :(NSString*)contentId
    contentType :(NSString*)contentType
    numItems :(int)numItems
    paymentInfoAvailable :(BOOL)paymentInfoAvailable
    currency :(NSString*)currency
    valToSum :(double)totalPrice {

NSDictionary *params =
    [[NSDictionary alloc] initWithObjectsAndKeys:
        contentId, FBSDKAppEventParameterNameContentID,
        contentType, FBSDKAppEventParameterNameContentType,
        [NSNumber numberWithInt:numItems], FBSDKAppEventParameterNameNumItems,
        [NSNumber numberWithInt:paymentInfoAvailable ? 1 : 0], FBSDKAppEventParameterNamePaymentInfoAvailable,
        currency, FBSDKAppEventParameterNameCurrency,
        nil];

    [FBSDKAppEvents logEvent: FBSDKAppEventNameInitiatedCheckout
        valueToSum: totalPrice
        parameters: params];
}

PurchaseCancelled Event

Candy World Bank Purchase Unsuccessful dialog noting no money was removed, showing the Purchase Cancelled event parameters Content Type, Content ID, Currency, and Value

Purchased Event

Candy World Bank Thank You dialog confirming a successful purchase, showing the Purchase event parameters Content Type, Content ID, Currency, and Value
Purchased Event Code Example:
/**
 * For more details, please take a look at:
 * developers.facebook.com/docs/reference/ios/current/class/FBSDKAppEvents
 */
 - (void)logPurchasedEvent :(int)numItems
    contentType :(NSString*)contentType
    contentId :(NSString*)contentId
    currency :(NSString*)currency
    valToSum :(double)price {

NSDictionary *params =
    [[NSDictionary alloc] initWithObjectsAndKeys:
        [NSNumber numberWithInt:numItems], FBSDKAppEventParameterNameNumItems,
        contentType, FBSDKAppEventParameterNameContentType,
        contentId, FBSDKAppEventParameterNameContentID,
        currency, FBSDKAppEventParameterNameCurrency,
        nil];

    [FBSDKAppEvents logPurchase:price
          currency: currency
        parameters: params];
}

Invite Event

Invite Friends screen with suggested friends list and two selected, showing the Invite event parameter Number Invited

Request Event

Candy World Ask for lives friend request screen with a friend grid and Send button, illustrating the Request event
Event Name Predefined Suggested Parameters
App Install
Yes
Launched App
Yes
Completed Registration
Yes
Registration Method
Completed Tutorial
Yes
Description, Content Type, Tutorial Step
Achieved Level
Yes
Level Number, Score
Unlocked Achievement
Yes
Description, Content Type
Initiated Checkout
Yes
Content Type, Content ID, Currency, valueToSum
Purchased
Yes
Content Type, Content ID, Currency, valueToSum
Purchase Cancelled
No
Content Type, Content ID, Currency, valueToSum
Invite
No
Number Invited
Request
No