Vous pouvez intégrer le partage dans vos applications iOS et Android afin que les utilisateurs ou utilisatrices puissent partager votre contenu dans les Stories Instagram. Pour créer une application, consultez Premiers pas avec le SDK Facebook pour Android et Premiers pas avec le SDK Facebook pour iOS.
À partir de janvier 2023, vous devez fournir un ID d’application Facebook pour partager du contenu dans les stories Instagram. Pour plus d’informations, consultez Information importante sur le partage dans les stories Instagram. Si vous ne fournissez pas d’ID d’application, vos utilisateur·ices qui tentent de partager un contenu sur Instagram voient le message d’erreur « L’application à partir de laquelle vous avez partagé du contenu n’est pas compatible actuellement avec le partage dans les stories. » Pour trouver l’ID de votre application, consultez Obtenir votre ID d’application (Android) et Obtenir votre ID d’application (iOS).
En utilisant les intentions implicites (Android) et les schémas d’URL personnalisés (iOS), votre application peut transmettre des photos, des vidéos et des stickers à l’application Instagram. Celle-ci reçoit le contenu et le charge dans l’éditeur de story afin que l’utilisateur ou utilisatrice puisse le publier dans les Stories Instagram.
L’éditeur de story d’Instagram comprend un calque d’arrière-plan et un calque de sticker. Calque d’arrière-planLe calque d’arrière-plan remplit l’écran. Vous pouvez le personnaliser à l’aide d’une photo, d’une vidéo, d’une couleur unie ou d’un dégradé de couleurs. Calque de stickerLe calque de sticker peut contenir une image et être personnalisé par l’utilisateur dans l’éditeur de story. |
Les implémentations Android utilisent des intentions implicites pour lancer l’application Instagram et lui transmettre du contenu. En général, le flux de partage doit :
Vous envoyez les données suivantes lorsque vous partagez dans les stories.
Contenu | Type | Description |
---|---|---|
ID d’application Facebook | Chaîne | |
Ressource arrière-plan | URI vers une ressource image (JPG ou PNG) ou vidéo (H.264, H.265 ou WebM). Dimensions minimales : 720 x 1 280. Formats d’image recommandés : 9:16 ou 9:18. Vidéos : 1080p (durée maximale : 20 secondes). URI de contenu nécessaire vers un fichier local de l’appareil. Vous devez envoyer une ressource arrière-plan, une ressource sticker, ou les deux. | |
Ressource sticker | URI vers une ressource image (JPG ou PNG). Dimensions recommandées : 640 x 480. Cette image sera placée sous forme de sticker au-dessus de l’arrière-plan. URI de contenu nécessaire vers un fichier local de l’appareil. Vous devez envoyer une ressource arrière-plan, une ressource sticker, ou les deux. | |
Couleur supérieure du calque d’arrière-plan | Chaîne | Valeur de couleur au format chaîne hexadécimale utilisée en conjonction avec la valeur de la couleur inférieure du calque d’arrière-plan. Si les deux valeurs sont identiques, le calque d’arrière-plan sera de couleur unie. Si elles sont différentes, ces valeurs généreront un dégradé. Si vous spécifiez une ressource arrière-plan, la ressource est utilisée et cette valeur est ignorée. |
Couleur inférieure du calque d’arrière-plan | Chaîne | Valeur de couleur au format chaîne hexadécimale utilisée en conjonction avec la valeur de la couleur supérieure du calque d’arrière-plan. Si les deux valeurs sont identiques, le calque d’arrière-plan sera de couleur unie. Si elles sont différentes, ces valeurs généreront un dégradé. Si vous spécifiez une ressource arrière-plan, la ressource est utilisée et cette valeur est ignorée. |
L’exemple de code suivant envoie une image à Instagram de sorte que l’utilisateur ou l’utilisatrice puisse la publier dans ses Stories Instagram.
// Instantiate an intent Intent intent = new Intent("com.instagram.share.ADD_TO_STORY"); // Attach your App ID to the intent String sourceApplication = "1234567"; // This is your application's FB ID intent.putExtra("source_application", sourceApplication); // Attach your image to the intent from a URI Uri backgroundAssetUri = Uri.parse("your-image-asset-uri-goes-here"); intent.setDataAndType(backgroundAssetUri, MEDIA_TYPE_JPEG); // Grant URI permissions for the image intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); // Instantiate an activity Activity activity = getActivity(); // Verify that the activity resolves the intent and start it if (activity.getPackageManager().resolveActivity(intent, 0) != null) { activity.startActivityForResult(intent, 0); }
Cet exemple envoie une ressource image du calque de sticker et un ensemble de couleurs du calque d’arrière-plan à Instagram. Si vous ne spécifiez pas les couleurs du calque d’arrière-plan, la couleur est #222222
.
// Instantiate an intent Intent intent = new Intent("com.instagram.share.ADD_TO_STORY"); // Attach your App ID to the intent String sourceApplication = "1234567"; // This is your application's FB ID intent.putExtra("source_application", sourceApplication); // Attach your sticker to the intent from a URI, and set background colors Uri stickerAssetUri = Uri.parse("your-image-asset-uri-goes-here"); intent.setType(MEDIA_TYPE_JPEG); intent.putExtra("interactive_asset_uri", stickerAssetUri); intent.putExtra("top_background_color", "#33FF33"); intent.putExtra("bottom_background_color", "#FF00FF"); // Instantiate an activity Activity activity = getActivity(); // Grant URI permissions for the sticker activity.grantUriPermission( "com.instagram.android", stickerAssetUri, Intent.FLAG_GRANT_READ_URI_PERMISSION); // Verify that the activity resolves the intent and start it if (activity.getPackageManager().resolveActivity(intent, 0) != null) { activity.startActivityForResult(intent, 0); }
Cet exemple envoie une ressource image du calque d’arrière-plan et une ressource image du calque de sticker à Instagram.
// Instantiate an intent Intent intent = new Intent("com.instagram.share.ADD_TO_STORY"); // Attach your App ID to the intent String sourceApplication = "1234567"; // This is your application's FB ID intent.putExtra("source_application", sourceApplication); // Attach your image to the intent from a URI Uri backgroundAssetUri = Uri.parse("your-background-image-asset-uri-goes-here"); intent.setDataAndType(backgroundAssetUri, MEDIA_TYPE_JPEG); // Attach your sticker to the intent from a URI Uri stickerAssetUri = Uri.parse("your-sticker-image-asset-uri-goes-here"); intent.putExtra("interactive_asset_uri", stickerAssetUri); // Grant URI permissions for the image intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); // Instantiate an activity Activity activity = getActivity(); // Grant URI permissions for the sticker activity.grantUriPermission( "com.instagram.android", stickerAssetUri, Intent.FLAG_GRANT_READ_URI_PERMISSION); // Verify that the activity resolves the intent and start it if (activity.getPackageManager().resolveActivity(intent, 0) != null) { activity.startActivityForResult(intent, 0); }
Les implémentations iOS utilisent un schéma d’URL personnalisé pour lancer l’application Instagram et lui transmettre du contenu. En général, le flux de partage doit :
Vous envoyez les données suivantes lorsque vous partagez dans les stories.
Contenu | Type | Description |
---|---|---|
ID d’application Facebook | ||
Ressource image d’arrière-plan | Données de ressource image dans un format pris en charge (JPG ou PNG). Dimensions minimales : 720 x 1 280. Formats d’image recommandés : 9:16 ou 9:18. Vous devez transmettre une ressource arrière-plan (image ou vidéo), une ressource sticker, ou les deux, à l’application Instagram. | |
Ressource vidéo d’arrière-plan | Données de ressource vidéo dans un format pris en charge (H.264, H.265 ou WebM). Vidéos : 1080p (durée maximale : 20 secondes). Taille maximale recommandée : 50 Mo. Vous devez transmettre une ressource arrière-plan (image ou vidéo), une ressource sticker, ou les deux, à l’application Instagram. | |
Ressource sticker | Données de ressource image dans un format pris en charge (JPG ou PNG). Dimensions recommandées : 640 x 480. Cette image sera placée sous forme de sticker au-dessus de l’arrière-plan. Vous devez transmettre une ressource arrière-plan (image ou vidéo), une ressource sticker, ou les deux, à l’application Instagram. | |
Couleur supérieure du calque d’arrière-plan | Valeur de couleur au format chaîne hexadécimale utilisée en conjonction avec la valeur de la couleur inférieure du calque d’arrière-plan. Si les deux valeurs sont identiques, le calque d’arrière-plan sera de couleur unie. Si elles sont différentes, ces valeurs généreront un dégradé. | |
Couleur inférieure du calque d’arrière-plan | Valeur de couleur au format chaîne hexadécimale utilisée en conjonction avec la valeur de la couleur inférieure du calque d’arrière-plan. Si les deux valeurs sont identiques, le calque d’arrière-plan sera de couleur unie. Si elles sont différentes, ces valeurs généreront un dégradé. |
Vous devez enregistrer le schéma d’URL personnalisé d’Instagram pour que votre application puisse l’utiliser. Ajoutez instagram-stories
à la clé LSApplicationQueriesSchemes
dans le fichier Info.plist
de votre application.
L’exemple de code suivant envoie une ressource image du calque d’arrière-plan à Instagram de sorte que l’utilisateur ou l’utilisatrice puisse la publier dans ses Stories Instagram.
- (void)shareBackgroundImage { // Identify your App ID NSString *const appIDString = @"1234567890"; // Call method to share image [self backgroundImage:UIImagePNGRepresentation([UIImage imageNamed:@"backgroundImage"]) appID:appIDString]; } // Method to share image - (void)backgroundImage:(NSData *)backgroundImage appID:(NSString *)appID { NSURL *urlScheme = [NSURL URLWithString:[NSString stringWithFormat:@"instagram-stories://share?source_application=%@", appID]]; if ([[UIApplication sharedApplication] canOpenURL:urlScheme]) { // Attach the pasteboard items NSArray *pasteboardItems = @[@{@"com.instagram.sharedSticker.backgroundImage" : backgroundImage}]; // Set pasteboard options NSDictionary *pasteboardOptions = @{UIPasteboardOptionExpirationDate : [[NSDate date] dateByAddingTimeInterval:60 * 5]}; // 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 } }
Cet exemple de code vous montre comment transmettre une ressource image pour calque de sticker et un jeu de couleurs d’arrière-plan à l’application Instagram. Si vous ne spécifiez pas les couleurs du calque d’arrière-plan, la couleur est #222222
.
- (void)shareStickerImage { // Identify your App ID NSString *const appIDString = @"1234567890"; // Call method to share sticker [self stickerImage:UIImagePNGRepresentation([UIImage imageNamed:@"stickerImage"]) backgroundTopColor:@"#444444" backgroundBottomColor:@"#333333" appID:appIDString]; } // Method to share sticker - (void)stickerImage:(NSData *)stickerImage backgroundTopColor:(NSString *)backgroundTopColor backgroundBottomColor:(NSString *)backgroundBottomColor appID:(NSString *)appID { NSURL *urlScheme = [NSURL URLWithString:[NSString stringWithFormat:@"instagram-stories://share?source_application=%@", appID]]; if ([[UIApplication sharedApplication] canOpenURL:urlScheme]) { // Attach the pasteboard items NSArray *pasteboardItems = @[@{@"com.instagram.sharedSticker.stickerImage" : stickerImage, @"com.instagram.sharedSticker.backgroundTopColor" : backgroundTopColor, @"com.instagram.sharedSticker.backgroundBottomColor" : backgroundBottomColor}]; // Set pasteboard options NSDictionary *pasteboardOptions = @{UIPasteboardOptionExpirationDate : [[NSDate date] dateByAddingTimeInterval:60 * 5]}; // 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 } }
Cet exemple de code vous montre comment transmettre une ressource image pour calque d’arrière-plan et une ressource image pour calque de sticker à l’application Instagram.
- (void)shareBackgroundAndStickerImage { // Identify your App ID NSString *const appIDString = @"1234567890"; // Call method to share image and sticker [self backgroundImage:UIImagePNGRepresentation([UIImage imageNamed:@"backgroundImage"]) stickerImage:UIImagePNGRepresentation([UIImage imageNamed:@"stickerImage"]) appID:appIDString]; } // Method to share image and sticker - (void)backgroundImage:(NSData *)backgroundImage stickerImage:(NSData *)stickerImage appID:(NSString *)appID { NSURL *urlScheme = [NSURL URLWithString:[NSString stringWithFormat:@"instagram-stories://share?source_application=%@", appID]]; if ([[UIApplication sharedApplication] canOpenURL:urlScheme]) { // Attach the pasteboard items NSArray *pasteboardItems = @[@{@"com.instagram.sharedSticker.backgroundImage" : backgroundImage, @"com.instagram.sharedSticker.stickerImage" : stickerImage}]; // Set pasteboard options NSDictionary *pasteboardOptions = @{UIPasteboardOptionExpirationDate : [[NSDate date] dateByAddingTimeInterval:60 * 5]}; // 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 } }
Vous pouvez également autoriser les utilisateurs de votre application à partager votre contenu en tant que story Facebook. Pour savoir comment procéder, veuillez consulter notre documentation sur le partage dans les stories.