Follow the below steps in order to set up Facebook’s Install Invalidation, as well as Skillz Deep Linking in order to improve UA efficiency, user retention and reactivation.
- Download the latest Facebook SDK (currently v4.13.1) from their Quick Start Guide.
- Import all relevant Facebook libraries into your project:
- Link to frameworks required by the FacebookSDK (CoreImage, ImageIO, etc.)
This is done in the "Link Binary With Libraries" Build Phases section of your target’s Xcode Settings:
- Add the following XML to your Info.plist (you can do this using either the GUI or by editing the XML source directly.) Facebook will generate this XML for you in their Quick Start Guide.
<key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>fb<YourFacebookAppID></string> </array> </dict> </array> <key>FacebookAppID</key> <string><YourFacebookAppID></string> <key>FacebookDisplayName</key> <string><YourFacebookAppName></string>
- Follow Facebook’s AppDelegate setup steps from the Quick Start Guide referenced above
Note: We recommend a slight modification, always return true from application:openURL:sourceApplication:annotation: in order to handle Skillz deep links. (See below for example)
- Finally ensure you’ve set up Skillz for Deep Linking, see here for instructions.
Example application:openURL:sourceApplication:annotation: implementation:
- (BOOL)application:(UIApplication *)application
[[FBSDKApplicationDelegate sharedInstance] application:application
Confirming Your Integration
Once you've completed the above steps, you can check the App Ads Helper to confirm it has been successfully integrated. You must install and launch your game (and then Facebook) on a device with the Facebook app installed and logged in.
After doing so, on the App Ads Helper page for your game, you should see "Deferred Deep Linking" and "Install Invalidation" displayed with green checks like so:
Further instruction from Facebook can be found in their iOS Quick Start Guide here.
- Unless using Facebook Login in your game, you can skip step 3 of their “Configure your info.plist” section.
- Unless using Facebook Login in your game, you can skip their “Let's test out your integration” section.
- Be sure to implement the above changes to their suggested “application:openURL:sourceApplication:annotation:” implementation.
- You will need to launch your game on a device with a logged in Facebook Account once in order for Facebook to recognize the integration was completed.