Compartir en la sección de noticias

Con Compartir en la sección de noticias, puedes permitir que los usuarios de tu aplicación compartan tu contenido en su sección de noticias de Instagram.

Información general

Si usas los intentos implícitos de Android y los enlaces universales o la interacción de documentos de iOS, tu aplicación puede pasar fotos y vídeos a la aplicación Instagram. La aplicación Instagram recibirá este contenido y lo cargará en el editor de la sección de noticias para que el usuario pueda publicarlo en su sección de noticias de Instagram.

Desarrolladores de Android

Las implementaciones de Android utilizan los intentos implícitos con el parámetro extra EXTRA_STREAM para solicitar al usuario que seleccione la aplicación Instagram. Una vez seleccionada, el intento iniciará la aplicación Instagram y le pasará tu contenido, que a continuación Instagram cargará en el editor de la sección de noticias.

En general, el proceso para compartir contenido debe ser el siguiente:

  1. Crea una instancia de un intento implícito con el contenido que quieres pasar a la aplicación Instagram.
  2. Inicia una actividad y comprueba que puede resolver el intento implícito.
  3. Resuelve la actividad si es posible.

Contenido que se puede compartir

Puedes pasar el contenido siguiente a la aplicación Instagram:

ContenidoTipos de archivosDescripción

Activo de imagen

JPEG, GIF o PNG

-

Activo de archivo

MKV o MP4

Duración mínima: 3 segundos. Duración máxima: 10 minutos. Dimensiones mínimas: 640 × 640 píxeles.

Compartir un activo de imagen

String type = "image/*";
String filename = "/myPhoto.jpg";
String mediaPath = Environment.getExternalStorageDirectory() + filename;

createInstagramIntent(type, mediaPath);

private void createInstagramIntent(String type, String mediaPath){

    // Create the new Intent using the 'Send' action.
    Intent share = new Intent(Intent.ACTION_SEND);

    // Set the MIME type
    share.setType(type);

    // Create the URI from the media
    File media = new File(mediaPath);
    Uri uri = Uri.fromFile(media);

    // Add the URI to the Intent.
    share.putExtra(Intent.EXTRA_STREAM, uri);

    // Broadcast the Intent.
    startActivity(Intent.createChooser(share, "Share to"));
}

Compartir un activo de vídeo

String type = "video/*";
String filename = "/myVideo.mp4";
String mediaPath = Environment.getExternalStorageDirectory() + filename;

createInstagramIntent(type, mediaPath);

private void createInstagramIntent(String type, String mediaPath){

    // Create the new Intent using the 'Send' action.
    Intent share = new Intent(Intent.ACTION_SEND);

    // Set the MIME type
    share.setType(type);

    // Create the URI from the media
    File media = new File(mediaPath);
    Uri uri = Uri.fromFile(media);

    // Add the URI to the Intent.
    share.putExtra(Intent.EXTRA_STREAM, uri);

    // Broadcast the Intent.
    startActivity(Intent.createChooser(share, "Share to"));
}

Desarrolladores de iOS

Las implementaciones de iOS pueden usar los enlaces universales para iniciar la aplicación Instagram y pasarle contenido o hacer que realice una acción específica.

Enlaces universales

Puedes utilizar los enlaces universales que se incluyen en la siguiente tabla para realizar acciones en la aplicación Instagram.

Enlace universalAcción

https://www.instagram.com

Iniciar la aplicación Instagram.

https://www.instagram.com/create/story

Iniciar la aplicación Instagram con la vista de la cámara o la biblioteca de fotos en dispositivos que no son cámaras.

https://www.instagram.com/p/{media_id}

Iniciar la aplicación Instagram y cargar la publicación que coincida con el valor del identificador indicado (int).

https://www.instagram.com/{username}

Iniciar la aplicación Instagram y cargar el usuario de esta plataforma que coincida con el valor del nombre de usuario indicado (string).

https://www.instagram.com/explore/locations/{location_id}

Iniciar la aplicación Instagram y cargar la lista de ubicaciones que coincida con el valor del identificador indicado (int).

https://www.instagram.com/explore/tags/{tag_name}

Iniciar la aplicación Instagram y cargar la página del hashtag que coincida con el valor del nombre indicado (string).

Ejemplo de código Objective-C

En el ejemplo en Objective-C que se incluye a continuación se inicia la aplicación Instagram con la vista de la cámara.

NSURL *instagramURL = [NSURL URLWithString:@"https://www.instagram.com/create/story"];
if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {
    [[UIApplication sharedApplication] openURL:instagramURL];
}

Interacción de documentos

Si tu aplicación crea fotos y quieres que los usuarios las compartan a través de Instagram, puedes usar la API de interacción de documentos para abrir una foto en el proceso para compartir contenido de Instagram.

Primero debes guardar el archivo en formato PNG o JPEG (preferido) y usar la extensión de nombre de archivo .ig. Con las API de interacción de documentos de iOS, puedes activar la foto para que se abra en Instagram. El identificador de nuestro UTI de interacción de documentos es com.instagram.photo y se ajusta a los UTI de tipo public/jpeg y public/png. Para obtener más información, consulta los siguientes artículos de documentación de Apple: Vista previa y apertura de archivos y la referencia de la clase UIDocumentInteractionController.

Como alternativa, si quieres que solo aparezca Instagram en la lista de aplicaciones (en lugar de Instagram y las demás aplicaciones que se ajusten al UTI de tipo public/jpeg), puedes especificar la clase de extensión igo, que es de tipo com.instagram.exclusivegram.

Cuando se active, Instagram presentará inmediatamente al usuario la pantalla de filtro. La imagen se precarga y dimensiona correctamente para Instagram. Para obtener los mejores resultados, Instagram prefiere abrir un archivo cuadrado JPEG de 640 x 640 píxeles. Si la imagen es más grande, se dimensionará de forma dinámica.