透過「分享到動態消息」功能,應用程式的用戶就能以 Instagram 動態消息形式分享您的內容。
使用 Android 的隱含意圖和 iOS 的通用連結或文件互動後,您的應用程式即可將相片和影片傳遞給 Instagram 應用程式。Instagram 應用程式會接收此內容並載入動態消息撰寫工具,讓用戶能夠將內容發佈到自己的 Instagram 動態消息。
Android 實作使用含 EXTRA_STREAM extra 的隱含意圖,提示用戶選擇 Instagram 應用程式。選擇完成後,該意圖將會啟動 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 應用程式並載入與特定用戶名稱值相符的 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 偏好開啟 640×640 像素的正方形 JPEG。如果圖像較大,將視狀況重新調整大小。