Tài liệu này hướng dẫn bạn cách tích hợp tính năng chia sẻ vào ứng dụng Android của mình để người dùng có thể chia sẻ hình ảnh, video và nhãn dán lên Reels trên 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.
Bạn có thể sử dụng Ý định rõ ràng để khởi chạy ứng dụng Instagram và gửi nội dung lên Reels. Ứng dụng Instagram sẽ nhận và tải nội dung vào Công cụ tạo thước phim, sau đó người dùng có thể chỉnh sửa và đăng nội dung này lên Reels.
Nhìn chung, quy trình chia sẻ như sau:
"com.instagram.android"
để đảm bảo rằng ứng dụng Instagram xử lý ý định đó.Gỡ bất kỳ file tạm thời nào mà bạn tạo trên thiết bị của người dùng.
Bạn cần gửi dữ liệu dưới đây khi chia sẻ lên Reels.
Dữ liệu | Mô tả |
---|---|
ID ứng dụng trên Meta string | Bắt buộc. ID ứng dụng trên Meta của bạn |
Tài sản file phương tiện string đối với một tài sảnhoặc danh sách đối với nhiều tài sản | Bắt buộc. Bạn cần có một trong các tùy chọn sau:
|
Tài sản nhãn dán string | URI của nhãn dán - một file cục bộ trên thiết bị của người dùng. Các định dạng nhãn dán được chấp nhận: |
Các ví dụ sau đây về mã Java và Kotlin hướng dẫn cách gửi một hình ảnh hoặc video, cách gửi nhiều hình ảnh hoặc video, cũng như cách gửi hình ảnh hoặc video kèm theo nhãn dán.
Ví dụ về mã dưới đây gửi một file đến Instagram để người dùng có thể chỉnh sửa và đăng lên 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)
}
Ví dụ về mã dưới đây gửi nhiều file đến Instagram để người dùng có thể chỉnh sửa và đăng lên 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)
}
Ví dụ về mã dưới đây gửi một video đến Instagram và đính kèm nhãn dán không bắt buộc để người dùng có thể chỉnh sửa và đăng lên 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)
}
Để thuận tiện hơn cho nhà phát triển, Meta đã đăng mã mẫu cho tính năng Chia sẻ lên Instagram Reels trên GitHub tại fbsamples/share_to_reels_android. Hãy xem video dưới đây để tìm hiểu cách sử dụng Mẫu trên GitHub.