hank
2019-01-22 13e53a03f4d50169d0cf7f72d414753ae6b421ce
commit | author | age
13e53a 1 // Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
H 2 //
3 // You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
4 // copy, modify, and distribute this software in source code or binary form for use
5 // in connection with the web services and APIs provided by Facebook.
6 //
7 // As with any software that integrates with the Facebook platform, your use of
8 // this software is subject to the Facebook Developer Principles and Policies
9 // [http://developers.facebook.com/policy/]. This copyright notice shall be
10 // included in all copies or substantial portions of the software.
11 //
12 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
14 // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15 // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
16 // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
17 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
19 #import <Foundation/Foundation.h>
20
21 NS_ASSUME_NONNULL_BEGIN
22
23 @class FBSDKAppLink;
24
25 /**
26  Describes the callback for appLinkFromURLInBackground.
27  @param appLink the FBSDKAppLink representing the deferred App Link
28  @param error the error during the request, if any
29
30  */
31 typedef void (^FBSDKAppLinkFromURLHandler)(FBSDKAppLink * _Nullable appLink, NSError * _Nullable error);
32
33
34 /**
35  Describes the callback for appLinkFromURLInBackground.
36  @param appLinks the FBSDKAppLinks representing the deferred App Links
37  @param error the error during the request, if any
38  */
39 typedef void (^FBSDKAppLinksFromURLArrayHandler)(NSDictionary<NSURL *, FBSDKAppLink *> * appLinks,
40                                                  NSError * _Nullable error);
41
42 /*!
43  Implement this protocol to provide an alternate strategy for resolving
44  App Links that may include pre-fetching, caching, or querying for App Link
45  data from an index provided by a service provider.
46  */
47 @protocol FBSDKAppLinkResolving <NSObject>
48
49 /**
50  Asynchronously resolves App Link data for a given URL.
51
52  @param url The URL to resolve into an App Link.
53  @param handler The completion block that will return an App Link for the given URL.
54  */
55 - (void)appLinkFromURL:(NSURL *)url handler:(FBSDKAppLinkFromURLHandler)handler
56 NS_EXTENSION_UNAVAILABLE_IOS("Not available in app extension");
57
58 @end
59
60 NS_ASSUME_NONNULL_END