Compartir en la sección de noticias permite a los usuarios de tu app que compartan tu contenido en la sección de noticias de Instagram.
Mediante las intenciones implícitas de Android y los enlaces universales de iOS o la interacción con documentos, tu app puede pasar fotos y videos a la app de Instagram. La app de Instagram recibirá este contenido y lo cargará en el editor de feeds para que el usuario pueda publicarlo en su feed de Instagram.
Las implementaciones de Android utilizan intents implícitas con el EXTRA_STREAM adicional para solicitar al usuario que seleccione la aplicación de Instagram. Una vez seleccionada, la intent iniciará la app de Instagram y le pasará tu contenido, que la app de Instagram cargará en el Feed Composer.
En general, los pasos del flujo para compartir son los siguientes:
Puedes pasar el siguiente contenido a la app de Instagram:
Contenido | Tipos de archivos | Descripción |
---|---|---|
Activo de imagen | JPEG, GIF o PNG | - |
Activo de archivos | MKV, MP4 | Duración mínima: Duración máxima de 3 segundos: Dimensiones mínimas de 10 minutos: 6040 x 640 píxeles |
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")); }
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")); }
Las implementaciones de iOS pueden usar enlaces universales para iniciar la app de Instagram y pasarle contenido o hacer que realice una acción específica.
Usa los enlaces universales que figuran en la siguiente tabla para realizar acciones en la app de Instagram.
Enlace universal | Acción |
---|---|
https://www.instagram.com | Inicia la app de Instagram. |
https://www.instagram.com/create/story | Inicia la app de Instagram con la vista de cámara o la biblioteca en dispositivos sin cámara. |
https://www.instagram.com/p/{media_id} | Inicia la app de Instagram y carga la publicación que coincide con el valor de identificación especificado ( |
https://www.instagram.com/{username} | Inicia la app de Instagram y carga el usuario de Instagram que coincide con el valor de nombre de usuario especificado ( |
https://www.instagram.com/explore/locations/{location_id} | Inicia la app de Instagram y carga el feed de ubicación que coincide con el valor de identificación especificado ( |
https://www.instagram.com/explore/tags/{tag_name} | Inicia la app de Instagram y carga la página del hashtag que coincide con el valor del nombre especificado ( |
El siguiente ejemplo en Objective-C inicia la app de 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]; }
Si tu aplicación crea fotos y quieres que los usuarios compartan estas fotos mediante Instagram, puedes usar la API de interacción con documentos para abrir la foto en el flujo de uso compartido 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 con documentos de iOS, puedes activar la foto para que Instagram la abra. El identificador de nuestra UTI de interacción con documentos es com.instagram.photo
y se ajusta a las UTI public/jpeg y public/png. Para obtener más información, consulta los artículos de documentación de Apple sobre: cómo realizar vistas previas y abrir archivos y la referencia de clase UIDocumentInteractionController.
Como alternativa, si deseas mostrar solo Instagram en la lista de apps (en lugar de Instagram y otras apps que se ajusten a public/jpeg), puedes especificar la clase de extensión igo
, que es del tipo com.instagram.exclusivegram
.
Cuando está activada, Instagram presenta de inmediato al usuario nuestra pantalla de filtro. La imagen se carga previamente y se dimensiona de forma adecuada para Instagram. Para obtener mejores resultados, Instagram prefiere abrir una imagen JPEG de 640 por 640 píxeles. Si la imagen es más grande, se redimensiona dinámicamente.