เอกสารฉบับนี้จะแสดงวิธีผสานการทำงานการแชร์เข้ากับแอพ Android ของคุณ เพื่อให้ผู้ใช้สามารถแชร์รูปภาพ วิดีโอ และสติกเกอร์ไปยัง Reels บน Instagram ได้
Reels LayersThe Reels composer has a background video layer and an optional sticker layer.
Sharing Icon
|
คุณจะต้องใช้ Explicit Intent เพื่อเปิดแอพ Instagram แล้วส่งเนื้อหาสำหรับ Reels แอพ Instagram จะได้รับเนื้อหา โหลดเนื้อหาลงในตัวปรับแต่ง Reels จากนั้นผู้ใช้จะสามารถแก้ไขและเผยแพร่เนื้อหาดังกล่าวไปยัง Reels ของตนได้
โดยทั่วไปแล้ว ขั้นตอนการแชร์ของคุณจะดำเนินการดังต่อไปนี้
"com.instagram.android" เพื่อให้แน่ใจว่าแอพ Instagram จะจัดการ Intent ได้ลบไฟล์ชั่วคราวทั้งหมดที่คุณสร้างบนอุปกรณ์ของผู้ใช้
คุณควรส่งข้อมูลต่อไปนี้เมื่อคุณแชร์ไปยัง Reels
| ข้อมูล | คำอธิบาย |
|---|---|
ID แอพ Meta สตริง | จำเป็นต้องระบุ ID แอพ Meta ของคุณ |
องค์ประกอบสื่อ สตริงสำหรับองค์ประกอบเดียวหรือ รายการสำหรับหลายองค์ประกอบ | จำเป็นต้องระบุ ต้องระบุตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
|
องค์ประกอบสติกเกอร์ สตริง | URI สำหรับสติกเกอร์ที่เป็นไฟล์ในเครื่องบนอุปกรณ์ของผู้ใช้ โดยรูปแบบไฟล์สติกเกอร์ที่อนุญาตให้ใช้ ได้แก่ |
ตัวอย่างโค้ด Java และ Kotlin ต่อไปนี้แสดงวิธีส่งรูปภาพหรือวิดีโอรายการเดียว วิธีส่งรูปภาพหรือวิดีโอหลายรายการ และวิธีส่งรูปภาพหรือวิดีโอที่มีสติกเกอร์
ตัวอย่างโค้ดต่อไปนี้จะส่งไฟล์หนึ่งไฟล์ไปยัง Instagram เพื่อให้ผู้ใช้สามารถแก้ไขและเผยแพร่ไปยัง Instagram Reels ของตนได้
// Instantiate an intent
val intent = Intent("com.instagram.share.ADD_TO_REEL")
// Set package
intent.setPackage("com.instagram.android")
// Attach your App ID to the intent
val appId = "your-app-id"
intent.putExtra("com.instagram.platform.extra.APPLICATION_ID", appId)
// Attach your image or video to the intent from a URI
val mediaAssetUri = Uri.parse("your-image-or-video-asset-uri-goes-here")
intent.setDataAndType(mediaAssetUri, "image/* video/*")
intent.putExtra(Intent.EXTRA_STREAM, mediaAssetUri)
// Instantiate an activity
val activity: Activity = getActivity()
// Grant URI permissions
intent.flags = Intent.FLAG_GRANT_READ_URI_PERMISSION
val resInfoList = activity.packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY)
for (resolveInfo in resInfoList) {
val packageName = resolveInfo.activityInfo.packageName
activity.grantUriPermission(packageName, mediaAssetUri, Intent.FLAG_GRANT_READ_URI_PERMISSION)
}
// Verify that the activity resolves the intent and start it
if (activity.packageManager.resolveActivity(intent, 0) != null) {
activity.startActivityForResult(intent, 0)
}ตัวอย่างโค้ดต่อไปนี้จะส่งไฟล์หลายไฟล์ไปยัง Instagram เพื่อให้ผู้ใช้สามารถแก้ไขและเผยแพร่ไปยัง Instagram Reels ของตนได้
// Instantiate an intent
val intent = Intent("com.instagram.share.ADD_TO_REEL_MULTIPLE")
// Set package
intent.setPackage("com.instagram.android")
// Attach your App ID to the intent
val appId = "your-app-id"
intent.putExtra("com.instagram.platform.extra.APPLICATION_ID", appId)
intent.setType("image/* video/*")
// Attach your files to the intent
val uri1 = Uri.parse("your-first-uri-goes-here")
val uri2 = Uri.parse("your-second-uri-goes-here")
val mediaList = mutableListOf<Uri>()
mediaList.addAll(listOf(uri1, uri2))
intent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, ArrayList(mediaList))
// Instantiate an activity
val activity: Activity = getActivity()
// Grant URI permissions
intent.flags = Intent.FLAG_GRANT_READ_URI_PERMISSION
val resInfoList =
activity.packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY)
for (uri in mediaList) {
for (resolveInfo in resInfoList) {
val packageName = resolveInfo.activityInfo.packageName
activity.grantUriPermission(packageName, uri, Intent.FLAG_GRANT_READ_URI_PERMISSION)
}
}
// Verify that the activity resolves the intent and start it
if (activity.packageManager.resolveActivity(intent, 0) != null) {
activity.startActivityForResult(intent, 0)
}ตัวอย่างโค้ดต่อไปนี้จะส่งวิดีโอไปยัง Instagram และมีสติกเกอร์เสริมเพื่อให้ผู้ใช้สามารถแก้ไขและเผยแพร่ไปยัง Instagram Reels ของตนได้
// Instantiate an intent
val intent = Intent("com.instagram.share.ADD_TO_REEL")
// Set package
intent.setPackage("com.instagram.android")
// Attach your App ID to the intent
val appId = "your-app-id"
intent.putExtra("com.instagram.platform.extra.APPLICATION_ID", appId)
// Attach your video to the intent from a URI
val videoAssetUri = Uri.parse("your-video-asset-uri-goes-here")
intent.setDataAndType(videoAssetUri, "video/*")
intent.putExtra(Intent.EXTRA_STREAM, videoAssetUri)
// Attach your sticker to the intent from a URI
val stickerAssetUri = Uri.parse("your-image-asset-uri-goes-here")
intent.putExtra("interactive_asset_uri", stickerAssetUri)
// Instantiate an activity
val activity: Activity = getActivity()
// Grant URI permissions
intent.flags = Intent.FLAG_GRANT_READ_URI_PERMISSION
val resInfoList = activity.packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY)
for (resolveInfo in resInfoList) {
val packageName = resolveInfo.activityInfo.packageName
activity.grantUriPermission(packageName, videoAssetUri, Intent.FLAG_GRANT_READ_URI_PERMISSION)
activity.grantUriPermission(packageName, stickerAssetUri, Intent.FLAG_GRANT_READ_URI_PERMISSION)
}
// Verify that the activity resolves the intent and start it
if (activity.packageManager.resolveActivity(intent, 0) != null) {
activity.startActivityForResult(intent, 0)
}Meta ได้เผยแพร่ตัวอย่างโค้ดสำหรับการแชร์ไปยัง Reels บน Instagram บน GitHub ที่ fbsamples/share_to_reels_android เพื่อเพิ่มความสะดวกให้กับผู้พัฒนา รับชมวิดีโอต่อไปนี้เพื่อเรียนรู้วิธีใช้ตัวอย่างจาก GitHub