lpw
2021-01-26 49b8839fda3439edc31581527e84036e58f55f0f
commit | author | age
bad748 1 // Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
W 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
49b883 21 #import "FBSDKCoreKitImport.h"
L 22 #import "FBSDKSharingValidation.h"
bad748 23
e81c27 24 NS_ASSUME_NONNULL_BEGIN
H 25
bad748 26 @class FBSDKHashtag;
W 27
9febd9 28 /**
W 29   A base interface for content to be shared.
bad748 30  */
e81c27 31 NS_SWIFT_NAME(SharingContent)
13e53a 32 @protocol FBSDKSharingContent <FBSDKCopying, FBSDKSharingValidation, NSSecureCoding>
bad748 33
9febd9 34 /**
W 35   URL for the content being shared.
36
37  This URL will be checked for all link meta tags for linking in platform specific ways.  See documentation
bad748 38  for App Links (https://developers.facebook.com/docs/applinks/)
13e53a 39  @return URL representation of the content link
bad748 40  */
W 41 @property (nonatomic, copy) NSURL *contentURL;
42
9febd9 43 /**
W 44   Hashtag for the content being shared.
13e53a 45  @return The hashtag for the content being shared.
bad748 46  */
e81c27 47 @property (nonatomic, copy, nullable) FBSDKHashtag *hashtag;
bad748 48
9febd9 49 /**
W 50   List of IDs for taggable people to tag with this content.
51   See documentation for Taggable Friends
bad748 52  (https://developers.facebook.com/docs/graph-api/reference/user/taggable_friends)
13e53a 53  @return Array of IDs for people to tag (NSString)
bad748 54  */
e81c27 55 @property (nonatomic, copy) NSArray<NSString *> *peopleIDs;
bad748 56
9febd9 57 /**
W 58   The ID for a place to tag with this content.
13e53a 59  @return The ID for the place to tag
bad748 60  */
e81c27 61 @property (nonatomic, copy, nullable) NSString *placeID;
bad748 62
9febd9 63 /**
W 64   A value to be added to the referrer URL when a person follows a link from this shared content on feed.
13e53a 65  @return The ref for the content.
bad748 66  */
e81c27 67 @property (nonatomic, copy, nullable) NSString *ref;
bad748 68
27832c 69 /**
H 70  For shares into Messenger, this pageID will be used to map the app to page and attach attribution to the share.
e81c27 71  @return The ID of the Facebook page this share is associated with.
27832c 72  */
e81c27 73 @property (nonatomic, copy, nullable) NSString *pageID;
27832c 74
H 75 /**
76  A unique identifier for a share involving this content, useful for tracking purposes.
13e53a 77  @return A unique string identifying this share data.
27832c 78  */
e81c27 79 @property (nonatomic, copy, readonly, nullable) NSString *shareUUID;
27832c 80
13e53a 81 /**
H 82  Adds content to an existing dictionary as key/value pairs and returns the
83  updated dictionary
84  @param existingParameters An immutable dictionary of existing values
85  @param bridgeOptions The options for bridging
86  @return A new dictionary with the modified contents
87  */
88 - (NSDictionary<NSString *, id> *)addParameters:(NSDictionary<NSString *, id> *)existingParameters
e81c27 89                                   bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions
H 90 NS_SWIFT_NAME(addParameters(_:options:));
13e53a 91
bad748 92 @end
e81c27 93
H 94 NS_ASSUME_NONNULL_END