lipengwei
2019-09-26 88188ea7992a90e66db694e9fc1b304a59608044
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
88188e 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
88188e 29 /**
13e53a 30  Contains App Link metadata relevant for navigation on this device
H 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
88188e 39 /**
13e53a 40  Creates a FBSDKAppLink with the given list of FBSDKAppLinkTargets and target URL.
H 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
88188e 55 /** The URL from which this FBSDKAppLink was derived */
13e53a 56 @property (nonatomic, strong, readonly) NSURL *sourceURL;
H 57
88188e 58 /**
13e53a 59  The ordered list of targets applicable to this platform that will be used
H 60  for navigation.
61  */
62 @property (nonatomic, copy, readonly) NSArray<FBSDKAppLinkTarget *> *targets;
63
88188e 64 /** The fallback web URL to use if no targets are installed on this device. */
13e53a 65 @property (nonatomic, strong, readonly, nullable) NSURL *webURL;
H 66
67 @end
68
69 NS_ASSUME_NONNULL_END