By accessing and using this functionality, you acknowledge and agree to be bound by the Meta Platform Terms and Developer Policies. You also represent and warrant that any content made available through your application or website, or shared to Facebook Reels from your application or website, does not infringe upon the intellectual property rights of any third party and that you own, control or have otherwise secured all rights necessary to distribute, copy, publicly perform and display, or otherwise use the content via this functionality, including as uploaded and shared on Facebook Reels. You further represent and warrant that you have the authority to make the foregoing representations on behalf of your organization. If you do not have such authority or are otherwise unable to make the foregoing representations, you are not authorized to continue and should not do so.
You can integrate sharing into your iOS app so that users can share video content to Reels on Facebook. To create a new app, see Getting Started with the Facebook SDK for iOS.
You must publish your app live before users can share content. For more information, see Live Mode.
The Reels composer has a background video layer and an optional sticker layer.
For a consistent user experience across apps, download the standard sharing icon for Facebook Reels and use it in your app.
Icon | Download Link |
---|---|
Link |
You send the following data when you share to Reels.
Data | Type | Description | Required |
---|---|---|---|
Facebook App ID | Your Facebook App ID. | Yes | |
Background Video | The URL for a video. Videos can be 1080p and should be between 3 and 60 seconds in duration. Acceptable video formats are H.264, H.265, and WebM. Under 50 MB is recommended. | Yes | |
Sticker Asset | The URL for an image that is a local file on the user's device. Acceptable image formats are JPG and PNG, and the recommended dimensions are 640 x 480. The image appears over the video. | No |
You use a custom URL scheme to launch the Facebook app and send it content for Reels. The Facebook app receives the content, loads it in the Reels composer, and the user can edit and publish the content to their Facebook Reels.
In general, your sharing flow does the following:
Remove any temporary files that you create on the user's device.
Before you can implement sharing in your app, add your app ID and register Facebook's custom URL scheme in the Info.plist
file for your app. Add facebook-reels
to the LSApplicationQueriesSchemes
key. For details, see Configure Your Project.
The following code example sends a video to Facebook so the user can edit and publish it to their Facebook Reels.
- (void)shareBackgroundVideo { // Identify your App ID NSString *const appIDString = @"1234567890"; // Identify your video content NSURL *const backgroundVideoURL = [[NSBundle bundleForClass:[self class]]URLForResource:@"your-video-url-goes-here" withExtension:@"mp4"]; NSData *const backgroundVideoData = [NSData dataWithContentsOfURL:backgroundVideoURL]; // Call method to share video [self backgroundVideo: backgroundVideoData appID: appIDString]; } // Method to share video - (void)backgroundVideo:(NSData *)backgroundVideo appID:(NSString *)appID { NSURL *urlScheme = [NSURL URLWithString:@"facebook-reels://share"]; if ([[UIApplication sharedApplication] canOpenURL:urlScheme]) { // Add background video to pasteboard items NSArray *pasteboardItems = @[@{@"com.facebook.sharedSticker.backgroundVideo" : backgroundVideo, @"com.facebook.sharedSticker.appID" : appID}]; // Set pasteboard options NSDictionary *pasteboardOptions = @{UIPasteboardOptionExpirationDate : [[NSDate date] dateByAddingTimeInterval:60 * 5]}; // Attach the pasteboard items // This call is iOS 10+, can use 'setItems' depending on what versions you support [[UIPasteboard generalPasteboard] setItems:pasteboardItems options:pasteboardOptions]; [[UIApplication sharedApplication] openURL:urlScheme options:@{} completionHandler:nil]; } else { // Handle error cases } }
The following code example sends a video to Facebook so the user can edit and publish it to their Facebook Reels, and includes an optional sticker.
- (void)shareBackgroundVideo { // Identify your App ID NSString *const appIDString = @"1234567890"; // Identify your video content NSURL *const backgroundVideoURL = [[NSBundle bundleForClass:[self class]]URLForResource:@"your-video-url-goes-here" withExtension:@"mp4"]; NSData *const backgroundVideoData = [NSData dataWithContentsOfURL:backgroundVideoURL]; // Identify your sticker content NSURL *const stickerImageURL = [[NSBundle bundleForClass:[self class]]URLForResource:@"your-sticker-url-goes-here" withExtension:@"png"]; NSData *const stickerImageData = [NSData dataWithContentsOfURL:stickerImageURL]; // Call method to share video [self backgroundVideo: backgroundVideoData stickerImage: stickerImageData appID: appIDString]; } // Method to share video with sticker - (void)backgroundVideoWithSticker:(NSData *)backgroundVideo stickerImage:(NSData *)stickerImage appID:(NSString *)appID { NSURL *urlScheme = [NSURL URLWithString:@"facebook-reels://share"]; if ([[UIApplication sharedApplication] canOpenURL:urlScheme]) { // Add background video, sticker, and appID to pasteboard items NSArray *pasteboardItems = @[@{@"com.facebook.sharedSticker.backgroundVideo" : backgroundVideo, @"com.facebook.sharedSticker.stickerImage" : stickerImage, @"com.facebook.sharedSticker.appID" : appID}]; // Set pasteboard options NSDictionary *pasteboardOptions = @{UIPasteboardOptionExpirationDate : [[NSDate date] dateByAddingTimeInterval:60 * 5]}; // Attach the pasteboard items // This call is iOS 10+, can use 'setItems' depending on what versions you support [[UIPasteboard generalPasteboard] setItems:pasteboardItems options:pasteboardOptions]; [[UIApplication sharedApplication] openURL:urlScheme options:@{} completionHandler:nil]; } else { // Handle error cases } }