Con la condivisione nel feed, puoi consentire agli utenti dell'app di condividere i tuoi contenuti sul loro feed di Instagram.
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.
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:
Puoi passare i seguenti contenuti all'app Instagram:
Contenuto | Tipi di file | Descrizione |
---|---|---|
Risorsa immagine | JPEG, GIF o PNG | - |
Risorsa file | MKV, MP4 | Durata minima: 3 secondi Durata massima: 10 minuti Dimensioni minime: 640 x 640 pixel |
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")); }
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.
Utilizza i link universali riportati nella tabella seguente per eseguire azioni nell'app Instagram.
Link universale | Azione |
---|---|
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 ( |
https://www.instagram.com/{username} | Avvio dell'app Instagram e caricamento dell'utente di Instagram corrispondente al valore username specificato ( |
https://www.instagram.com/explore/locations/{location_id} | Avvio dell'app Instagram e caricamento del feed di posizione corrispondente al valore ID specificato ( |
https://www.instagram.com/explore/tags/{tag_name} | Avvio dell'app Instagram e caricamento della pagina per l'hashtag corrispondente al valore name specificato ( |
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]; }
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.