How to use Facebook deferred deep linking feature for new installs and to test the same before publishing iOS App to appStore?

落爺英雄遲暮 提交于 2019-11-30 12:41:56

问题


I have done some exploration and have found the following things, this is what I have done so far:

  1. Implemented custom URL, like myApp://

  2. Added FacebookAppID, display name to my info.plist file

  3. Included the Facebook SDK

  4. Created Facebook app link through Facebook mobile hosting API and got the URL something like: https://fb.me/1601524146753610

  5. Used the above URL as deep link while creating app-install Ads.

  6. Implemented the below function in my AppDelegate.m

     - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
    
  7. 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.


回答1:


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:

  1. Visit https://developers.facebook.com/tools/app-ads-helper

  2. Select your app and hit 'Submit'.

  3. 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.

  4. If you want to verify deferred links then check 'Send Deferred' in the dialog.

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.




回答2:


  1. Login to your facebook
  2. Then Click https://developers.facebook.com/tools/app-ads-helper
  3. Select an app you want to test from drop down
  4. Hit submit
  5. At the bottom you will find 'Deep Link Tester' under Developer Tools.
  6. Hit 'Test Deep Link' and in the dialog you can enter your deep link.
  7. Select both 'Send Notification' and 'Send Deferred' check marks.

    Then you will get a notification to your facebook app.

8.Add bellow keys to your info.plist

<key>CFBundleURLTypes</key>
        <array>
            <dict>
                <key>CFBundleURLSchemes</key>
                <array>
                    <string>**Your URL Scheme** </string>
                    <string>**Your FB app id** </string>
                </array>
            </dict>
        </array>

URL scheme Like "testScheme://......."

FB app id Like "fb........."

Now we can test 2 cases.

  1. app already install in your device with deferred link implementation

  2. New install

for 1st case, install your app and then click facebook notification, it is redirected to your app.

for 2nd case, For new installs

  1. Uninstall your app and Connect your device to xcode

  2. Then click deeplink facebook notification, it is redirected to appstore, don't install from appstore because your published app doesn't have app deep link implementation

  3. Then you can run app from xcode, once it is installed, it is open your deeplink as 1st case.

Thats it....

Note: don't forgot to implement

- (void)applicationDidBecomeActive:(UIApplication *)application {
[FBSDKAppLinkUtility fetchDeferredAppLink:^(NSURL *url,NSError *error){
            if(url)
            {
                // redirect to where you want 
            }
        }];
      ...........
}



回答3:


Additional info:

So you need to deploy the app to the store? – locoboy Aug 7 '15 at 16:38

For testing Deep Link or Deferred Deep Link as they said before me:

  • deploy to store not required, use FB Ads panel for testing
  • check just in case statistic for app installs (not equal zero) - may be AppEvents (automatically logged) doesn't work correct (keep in mind, in the calculation of statistics, there may also be a delay)
  • Install Facebook application for your device, auth in using the same profile that you use to send notifications (run FB app in background)
  • Select both 'Send Notification' and 'Send Deferred' check marks (or check only 'Send Deferred' - results will available after manual app reinstall, and don't forgot trigger FBSDKAppEvents activateApp)
  • Example after successful sending
  • The main objective - after sending the message you will see it in Facebook! app notifications, with logo + text "Tap to launch your deep link"
  • Tap on notification


来源:https://stackoverflow.com/questions/30352690/how-to-use-facebook-deferred-deep-linking-feature-for-new-installs-and-to-test-t

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!