App Events

App Events Best Practices for Strategy 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.

Strategy 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 Strategy Game App

ActivatedApp Event

Fantasy Quest tower defense start screen with Log in with Facebook button, 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

Facebook permission dialog in Fantasy Quest for the Complete 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];
}

SpentCredits Event

Tower upgrade purchase screen for the Spent Credit event, marking Content Type and Level parameters
SpentCredits Event Code Example:
/**
 * For more details, please take a look at:
 * developers.facebook.com/docs/reference/ios/current/class/FBSDKAppEvents
 */
 - (void)logSpentCreditsEvent :(NSString*)contentId
    contentType :(NSString*)contentType
    valToSum :(double)totalValue {

NSDictionary *params =
    [[NSDictionary alloc] initWithObjectsAndKeys:
        contentId, FBSDKAppEventParameterNameContentID,
        contentType, FBSDKAppEventParameterNameContentType,
        nil];

    [FBSDKAppEvents logEvent: FBSDKAppEventNameSpentCredits
        valueToSum: totalValue
        parameters: params];
}

AchievedLevel Event

Victory results screen for the Level Achieved event, marking Outcome, Level Number, Score, and Prizes Earned parameters
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

New Achievement Unlocked banner for the Achievement Unlocked event, marking Achievement Type, Description, and Achievement ID parameters
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];
}

JoinGroup Event

Join Team search screen for the Join Group event, marking Group Name and Group ID parameters

CreateGroup Event

Create Team form for the Create Group event, marking Group Name, Logo, Description, Type, and ID parameters

CompletedTutorial Event

In-game tutorial step 1 of 5 for the Completed Tutorial event, marking Description, Content Type, and Tutorial Step parameters
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];
}

InitiatedCheckout Event

Shop with in-app purchase confirmation dialog for the Initiate Checkout event, marking Content Type, Content ID, Currency, and Value parameters
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];
}

Purchased Event

Shop with purchase success confirmation for the Purchase event, marking Content Type, Content ID, Currency, and Value parameters
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];
}
Event Name Predefined Suggested Parameters
App Install
Yes
Launched App
Yes
Completed Registration
Yes
Registration Method
Spent Credits
Yes
Content Type, Level Number
Achieved Level
Yes
Outcome, Level Number, Score, Prizes Earned
Unlocked Achievement
Yes
Achievement Type, Achievement ID, Description
Completed Tutorial
Yes
Description, Content Type, Tutorial Step
Initiated Checkout
Yes
Content Type, Content ID, Currency, valueToSum
Purchased
Yes
Content Type, Content ID, Currency, valueToSum
Purchase Cancelled
Yes
Content Type, Content ID, Currency, valueToSum
Join Group
No
Content Type, Level Number
Create Group
No
Group Name, Group Logo, Group Description, Group Type, Group ID