hank
2019-06-20 e81c27b13950ca02baa879ae7b8108c0c3ef7fb0
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 #import "FBSDKAppLinkTarget.h"
22
23 NS_ASSUME_NONNULL_BEGIN
24
25 /*! The version of the App Link protocol that this library supports */
e81c27 26 FOUNDATION_EXPORT NSString *const FBSDKAppLinkVersion
H 27 NS_SWIFT_NAME(AppLinkVersion);
13e53a 28
H 29 /*!
30  Contains App Link metadata relevant for navigation on this device
31  derived from the HTML at a given URL.
32  */
e81c27 33 NS_SWIFT_NAME(AppLink)
13e53a 34 @interface FBSDKAppLink : NSObject
e81c27 35
H 36 - (instancetype)init NS_UNAVAILABLE;
37 + (instancetype)new NS_UNAVAILABLE;
13e53a 38
H 39 /*!
40  Creates a FBSDKAppLink with the given list of FBSDKAppLinkTargets and target URL.
41
42  Generally, this will only be used by implementers of the FBSDKAppLinkResolving protocol,
43  as these implementers will produce App Link metadata for a given URL.
44
45  @param sourceURL the URL from which this App Link is derived
46  @param targets an ordered list of FBSDKAppLinkTargets for this platform derived
47  from App Link metadata.
48  @param webURL the fallback web URL, if any, for the app link.
49  */
50 + (instancetype)appLinkWithSourceURL:(NSURL *)sourceURL
51                              targets:(NSArray<FBSDKAppLinkTarget *> *)targets
e81c27 52                               webURL:(nullable NSURL *)webURL
H 53 NS_SWIFT_NAME(init(sourceURL:targets:webURL:));
13e53a 54
H 55 /*! The URL from which this FBSDKAppLink was derived */
56 @property (nonatomic, strong, readonly) NSURL *sourceURL;
57
58 /*!
59  The ordered list of targets applicable to this platform that will be used
60  for navigation.
61  */
62 @property (nonatomic, copy, readonly) NSArray<FBSDKAppLinkTarget *> *targets;
63
64 /*! The fallback web URL to use if no targets are installed on this device. */
65 @property (nonatomic, strong, readonly, nullable) NSURL *webURL;
66
67 @end
68
69 NS_ASSUME_NONNULL_END