有了「分享至動態」,您便可以允許應用程式用戶分享您的內容至 Instagram 動態。
透過使用 Android 的隱含意圖和 iOS 的通用連結或文件互動,您的應用程式可以將相片和影片傳送至 Instagram 應用程式。Instagram 應用程式將會接收此內容,並在動態撰寫工具中載入它,以便用戶將之發佈至自己的 Instagram 動態。
Android 建置會使用含有 EXTRA_STREAM extra 的隱含意圖,以提示用戶選擇 Instagram 應用程式。選取後,該意圖將啟動 Instagram 應用程式,並向其傳送您的內容;Instagram 應用程式隨後會在動態編輯器中載入此內容。
一般而言,您的分享流程應如下所示:
您可以將下列內容傳送至 Instagram 應用程式:
內容 | 檔案類型 | 描述 |
---|---|---|
圖像素材 | JPEG、GIF 或 PNG | - |
檔案素材 | MKV、MP4 | 時長下限:3 秒 時長上限:10 分鐘 尺寸下限:640x640 像素 |
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")); }
iOS 建置會使用通用連結,以啟動 Instagram 應用程式並向其傳送內容,或者讓其執行特定動作。
使用下表列出的通用連結在 Instagram 應用程式中執行動作。
通用連結 | 動作 |
---|---|
https://www.instagram.com | 啟動 Instagram 應用程式。 |
https://www.instagram.com/create/story | 啟動 Instagram 應用程式時開啟相機檢視模式;若是沒有相機的裝置,則開啟相片圖庫。 |
https://www.instagram.com/p/{media_id} | 啟動 Instagram 應用程式,並載入符合指定編號值 ( |
https://www.instagram.com/{username} | 啟動 Instagram 應用程式,並載入符合指定用戶名稱值 ( |
https://www.instagram.com/explore/locations/{location_id} | 啟動 Instagram 應用程式,並載入符合指定編號值 ( |
https://www.instagram.com/explore/tags/{tag_name} | 啟動 Instagram 應用程式,並載入符合指定名稱值 ( |
以下 Objective-C 程式碼範例可在啟動 Instagram 應用程式時開啟相機檢視模式。
NSURL *instagramURL = [NSURL URLWithString:@"https://www.instagram.com/create/story"]; if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) { [[UIApplication sharedApplication] openURL:instagramURL]; }
如果您的應用程式建立了相片,而且您希望用戶能夠使用 Instagram 分享這些相片,則可以使用文件互動 API,在 Instagram 分享流程中打開相片。
您必須先以 PNG 或 JPEG(首選)格式儲存檔案,並使用副檔名 .ig
。使用 iOS 文件互動 API,便可以觸發使用 Instagram 打開相片的動作。我們的文件互動 UTI 識別碼為 com.instagram.photo
,而且它與 public/jpeg 和 public/png UTI 相符。如需了解更多資訊,請參閱 Apple 文件文章:Previewing and Opening Files(預覽和打開文件)以及 UIDocumentInteractionController Class Reference(UIDocumentInteractionController 類別參考資料)。
或者,如果您想在應用程式清單僅顯示 Instagram(而不是 Instagram 及任何其他與 public/jpeg 相符的應用程式),則可以指定副檔名類別 igo
(此屬於 com.instagram.exclusivegram
類型)。
觸發時,Instagram 將立即向用戶展示我們的濾鏡螢幕。系統會預先載入圖像,並將之調整為適用於 Instagram 的尺寸。為了獲得最佳效果,Instagram 會選擇打開尺寸為 640x640 像素的正方形 JPEG 圖像。如果圖像較大,系統將會動態調整其尺寸。