lpw
2022-02-15 2e29a3a585524a054640bb6e7bdf26fe77ba1f17
commit | author | age
2e29a3 1 /*
L 2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  * All rights reserved.
4  *
5  * This source code is licensed under the license found in the
6  * LICENSE file in the root directory of this source tree.
7  */
8
9 #if !TARGET_OS_TV
10
11 #import <Foundation/Foundation.h>
12
13 #import <FBSDKCoreKit/FBSDKAppLinkTarget.h>
14
15 NS_ASSUME_NONNULL_BEGIN
16
17 /** The version of the App Link protocol that this library supports */
18 FOUNDATION_EXPORT NSString *const FBSDKAppLinkVersion
19 NS_SWIFT_NAME(AppLinkVersion);
20
21 /**
22  Contains App Link metadata relevant for navigation on this device
23  derived from the HTML at a given URL.
24  */
25 NS_SWIFT_NAME(AppLink)
26 @interface FBSDKAppLink : NSObject
27
28 - (instancetype)init NS_UNAVAILABLE;
29 + (instancetype)new NS_UNAVAILABLE;
30
31 /**
32  Creates a FBSDKAppLink with the given list of FBSDKAppLinkTargets and target URL.
33
34  Generally, this will only be used by implementers of the FBSDKAppLinkResolving protocol,
35  as these implementers will produce App Link metadata for a given URL.
36
37  @param sourceURL the URL from which this App Link is derived
38  @param targets an ordered list of FBSDKAppLinkTargets for this platform derived
39  from App Link metadata.
40  @param webURL the fallback web URL, if any, for the app link.
41  */
42 // UNCRUSTIFY_FORMAT_OFF
43 + (instancetype)appLinkWithSourceURL:(nullable NSURL *)sourceURL
44                              targets:(NSArray<FBSDKAppLinkTarget *> *)targets
45                               webURL:(nullable NSURL *)webURL
46 NS_SWIFT_NAME(init(sourceURL:targets:webURL:));
47 // UNCRUSTIFY_FORMAT_ON
48
49 /** The URL from which this FBSDKAppLink was derived */
50 @property (nullable, nonatomic, readonly, strong) NSURL *sourceURL;
51
52 /**
53  The ordered list of targets applicable to this platform that will be used
54  for navigation.
55  */
56 @property (nonatomic, readonly, copy) NSArray<id<FBSDKAppLinkTarget>> *targets;
57
58 /** The fallback web URL to use if no targets are installed on this device. */
59 @property (nullable, nonatomic, readonly, strong) NSURL *webURL;
60
61 @end
62
63 NS_ASSUME_NONNULL_END
64
65 #endif