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

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

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

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

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

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

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

Purchased Event

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

Request Event

Casual Gaming App Recommended Events and Parameters
| 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 |