Condivisione nel feed

Con la condivisione nel feed, puoi consentire agli utenti dell'app di condividere i tuoi contenuti sul loro feed di Instagram.

Panoramica

Utilizzando le intenzioni implicite di Android e i link universali o Document Interaction di iOS, la tua app può passare foto e video all'app Instagram. L'app Instagram riceverà questi contenuti e li caricherà nel feed composer in modo che l'utente possa pubblicarli sul suo feed di Instagram.

Sviluppatori Android

Le implementazioni per Android utilizzano intenzioni implicite con l'extra EXTRA_STREAM per richiedere all'utente di selezionare l'app Instagram. Una volta selezionata, l'intenzione avvierà l'app Instagram e passerà i tuoi contenuti, che verranno caricati nel feed composer.

In generale, il flusso di condivisione dovrebbe:

  1. istanziare un'intenzione implicita con i contenuti che desideri passare all'app Instagram;
  2. avviare un'attività e verificare che possa risolvere l'intenzione implicita;
  3. risolvere l'attività se è in grado di farlo.

Contenuti condivisibili

Puoi passare i seguenti contenuti all'app Instagram:

ContenutoTipi di fileDescrizione

Risorsa immagine

JPEG, GIF o PNG

-

Risorsa file

MKV, MP4

Durata minima: 3 secondi Durata massima: 10 minuti Dimensioni minime: 640 x 640 pixel

Condivisione di una risorsa immagine

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

Condivisione di una risorsa video

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

Sviluppatori iOS

Le implementazioni per iOS possono utilizzare i link universali per avviare l'app Instagram e passare contenuti o fare in modo che esegua un'azione specifica.

Link universali

Utilizza i link universali riportati nella tabella seguente per eseguire azioni nell'app Instagram.

Link universaleAzione

https://www.instagram.com

Avvio dell'app Instagram.

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

Avvio dell'app Instagram con la visualizzazione della fotocamera o la libreria di foto su dispositivi senza fotocamera.

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

Avvio dell'app Instagram e caricamento del post corrispondente al valore ID specificato (int).

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

Avvio dell'app Instagram e caricamento dell'utente di Instagram corrispondente al valore username specificato (string).

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

Avvio dell'app Instagram e caricamento del feed di posizione corrispondente al valore ID specificato (int).

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

Avvio dell'app Instagram e caricamento della pagina per l'hashtag corrispondente al valore name specificato (string).

Esempio di codice Objective-C

Il seguente esempio in Objective-C avvia l'app Instagram con la visualizzazione della fotocamera.

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

Document Interaction

Se la tua app crea foto e desideri che i tuoi utenti le condividano tramite Instagram, puoi utilizzare l'API Document Interaction per aprire la foto nel flusso di condivisione di Instagram.

Devi prima salvare il file in formato PNG o JPEG (preferito) e utilizzare l'estensione .ig per il nome del file. Utilizzando le API Document Interaction di iOS puoi fare in modo che la foto venga aperta da Instagram. L'identificativo per il nostro UTI Document Interaction è com.instagram.photo ed è conforme agli UTI public/jpeg e public/png. Per maggiori informazioni, consulta gli articoli della documentazione Apple Previewing and Opening Files (Anteprima e apertura dei file) e UIDocumentInteractionController Class Reference (Riferimento classe UIDocumentInteractionController) per maggiori informazioni.

In alternativa, se vuoi mostrare solo Instagram nella lista delle applicazioni (anziché Instagram in aggiunta a qualsiasi altra app conforme a public/jpeg), puoi specificare la classe di estensione igo, che è di tipo com.instagram.exclusivegram.

Quando attivato, Instagram presenterà immediatamente all'utente la nostra schermata di filtro. L'immagine è precaricata e dimensionata in modo appropriato per Instagram. Per risultati ottimali, Instagram preferisce aprire un JPEG quadrato di 640 x 640 pixel. Se l'immagine è più grande, verrà ridimensionata in modo dinamico.