hank
2019-01-22 13e53a03f4d50169d0cf7f72d414753ae6b421ce
commit | author | age
27832c 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 <FBSDKShareKit/FBSDKShareMessengerActionButton.h>
22 #import <FBSDKShareKit/FBSDKSharingContent.h>
23
24 typedef NS_ENUM(NSUInteger, FBSDKShareMessengerMediaTemplateMediaType) {
25   FBSDKShareMessengerMediaTemplateMediaTypeImage = 0,
26   FBSDKShareMessengerMediaTemplateMediaTypeVideo
27 };
28
29 /**
30  A model for sharing media template content. See
31  https://developers.facebook.com/docs/messenger-platform/send-messages/template/media for details.
32  */
33 @interface FBSDKShareMessengerMediaTemplateContent : NSObject <FBSDKSharingContent>
34
35 /**
36  The media type (image or video) for this content. This must match the media type specified in the
37  attachmentID/mediaURL to avoid an error when sharing. Defaults to image.
38  */
39 @property (nonatomic, assign) FBSDKShareMessengerMediaTemplateMediaType mediaType;
40
41 /**
42  The attachmentID of the item to share. Optional, but either attachmentID or mediaURL must be specified.
43  */
44 @property (nonatomic, copy, readonly) NSString *attachmentID;
45
46 /**
47  The Facebook url for this piece of media. External urls will not work; this must be a Facebook url.
48  See https://developers.facebook.com/docs/messenger-platform/send-messages/template/media for details.
49  Optional, but either attachmentID or mediaURL must be specified.
50  */
51 @property (nonatomic, copy, readonly) NSURL *mediaURL;
52
53 /**
54  This specifies what action button to show below the media. Optional.
55  */
56 @property (nonatomic, copy) id<FBSDKShareMessengerActionButton> button;
57
58 /**
59  Custom initializer to create media template share with attachment id.
60  */
61 - (instancetype)initWithAttachmentID:(NSString *)attachmentID;
62
63 /**
64  Custom initializer to create media template share with media url. This must be a Facebook url
65  and cannot be an external url.
66  */
67 - (instancetype)initWithMediaURL:(NSURL *)mediaURL;
68
69 @end