I have done some exploration and have found the following things, this is what I have done so far:
Implemented custom URL, like myApp://
Added FacebookAppID, display name to my info.plist file
Included the Facebook SDK
Created Facebook app link through Facebook mobile hosting API and got the URL something like: https://fb.me/1601524146753610
Used the above URL as deep link while creating app-install Ads.
Implemented the below function in my AppDelegate.m
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
Added the below code in my AppDelegate.m
//Initialization
[FBAppEvents activateApp];
[FBSettings setClientToken:@"ca45a3a2133ae2f37ebd4d90408816e6"];
//Function to check for deferred deep link and call the method with recieved url
[FBSDKAppLinkUtility fetchDeferredAppLink:^(NSURL *url,NSError *error){
if(url)
[self application:nil openURL:url sourceApplication:nil annotation:nil];
}];
Please let me know if i have missed something in fetching deferred deep link.
Also, how can I test the same before publishing my iOS APP to appStore.
I had reported the same facebook support and they said that above mentioned steps were correct in order to implement the deferred deep link functionality.
Also, the same can be tested as follows:
Select your app and hit 'Submit'.
At the bottom you will find 'Deep Link Tester' under Developer Tools. Hit 'Test Deep Link' and in the dialog you can enter your deep link to test.
So, after doing this you need to uninstall the app(if already present) and then install again from the app store. The device in which you will be testing this should have facebook app installed and logged in with the account from which you had sent the "deferred deep link request" from app-ads helper.
Now when you open your app, you should bee able to see your deferred deep link functionality working.
The above steps worked for me.