เอกสารฉบับนี้จะแสดงวิธีผสานการทำงานการแชร์เข้ากับแอพ Android ของคุณ เพื่อให้ผู้ใช้สามารถแชร์รูปภาพ วิดีโอ และสติกเกอร์ไปยัง Reels บน Instagram ได้
Reels LayersThe Reels composer has a background video layer and an optional sticker layer.
Sharing Icon
|
You will need:
By accessing and using this functionality, you acknowledge and agree to be bound by the Meta Platform Terms and Developer Policies. You also represent and warrant that any content made available through your application or website, or shared to Instagram Reels from your application or website, does not infringe upon the intellectual property rights of any third party and that you own, control or have otherwise secured all rights necessary to distribute, copy, publicly perform and display, or otherwise use the content via this functionality, including as uploaded and shared on Instagram Reels. You further represent and warrant that you have the authority to make the foregoing representations on behalf of your organization. If you do not have such authority or are otherwise unable to make the foregoing representations, you are not authorized to continue and should not do so.
คุณจะต้องใช้ 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