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