Partage dans les stories

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).

Présentation

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-plan

Le 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 sticker

Le calque de sticker peut contenir une image et être personnalisé par l’utilisateur dans l’éditeur de story.

Développeur·ses Android

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 :

  1. instancier une intention implicite avec le contenu que vous voulez transmettre à l’application Instagram ;
  2. lancer une activité et vérifier que l’intention implicite peut être résolue ;
  3. résoudre l’activité si cela est possible.

Données

Vous envoyez les données suivantes lorsque vous partagez dans les stories.

ContenuTypeDescription

ID d’application Facebook

Chaîne

ID de votre application Facebook.

Ressource arrière-plan

Uri

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

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.

Partage d’une ressource arrière-plan

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);
}  

Partage d’une ressource sticker

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);
}

Partage d’une ressource arrière-plan et d’une ressource sticker

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);
}

Développeur·ses iOS

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 :

  1. vérifier que votre application peut résoudre le schéma d’URL personnalisé d’Instagram ;
  2. affecter le contenu que vous voulez partager dans le pasteboard ;
  3. résoudre le schéma d’URL personnalisé si cela est possible pour votre application.

Données

Vous envoyez les données suivantes lorsque vous partagez dans les stories.

ContenuTypeDescription

ID d’application Facebook

NSString *

ID de votre application Facebook.

Ressource image d’arrière-plan

NSData *

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

NSData *

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

NSData *

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

NSString *

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

NSString *

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é.

Enregistrement du schéma d’URL personnalisé d’Instagram

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.

Partage d’une ressource arrière-plan

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
  }
} 

Partage d’une ressource sticker

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
  }
}

Partage d’une ressource arrière-plan et d’une ressource sticker

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
  }
}

Partage dans les stories Facebook

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.