Sebuah produk pengembang adalah item atau kemampuan yang dapat dibeli pengguna lebih dari sekali, seperti mata uang pengalaman, amunisi, atau ramuan.

Buat produk pengembang
Untuk membuat produk pengembang:
- Pergi ke Kreasi dan pilih pengalaman.
- Pergi ke Monetarisasi > Produk Pengembang .
- Klik Buat Produk Pengembang .
- Upload gambar untuk ditampilkan sebagai ikon produk.Pastikan gambar tidak melebihi 512x512 piksel, tidak mencakup rincian penting di luar batas bulatnya, dan berada dalam format .jpg , .png , atau .bmp .
- Masukkan nama dan deskripsi untuk produk.
- Tetapkan harga produk dalam Robux. Harga minimum adalah 1 Robux, dan harga maksimum adalah 1 miliar Robux.
- Klik Buat Produk Pengembang .
Dapatkan ID produk pengembang
Untuk menggunakan scripting, Anda membutuhkan ID produk pengembang. Untuk mendapatkan ID produk:
Pergi ke Monetarisasi ⟩ Produk Pengembang .
Pasang mouse di atas thumbnail produk, klik tombol ⋯ dan pilih Copy Asset ID dari menu konteks.
Jual produk pengembang
Sebelum menjual produk pengembang, pastikan Anda memproses kwitansi penjualan dengan benar dan memberikan pengguna produk yang dibeli.Untuk melakukannya, Anda harus:
- Gunakan API ProcessReceipt untuk memeriksa kwitansi pembelian. ProcessReceipt secara otomatis membaca dan mengakui bahwa pengguna telah membeli produk di luar pengalaman.
- Verifikasikan setiap kwitansi untuk User ID , Developer Product ID , dan status kwitansi.
- Jika kwitansi memiliki status Buka , berikan pengguna item pengembang yang telah mereka beli.
- Balas ke ProcessReceipt API dengan pesan yang mengakui penerimaan dan memverifikasi bahwa barang yang dibeli diberikan.
Anda dapat menjual produk pengembang dalam dua cara:
Di dalam pengalaman Anda
Untuk menerapkan dan menjual produk pengembang di dalam pengalaman, hubungi fungsi MarketplaceService .
Gunakan GetProductInfo untuk mengambil informasi tentang produk pengembang, seperti nama dan harga, dan kemudian untuk menampilkan produk itu kepada pengguna.Anda dapat menjual produk di pasar pengalaman Anda, misalnya.Untuk produk pengembang, parameter kedua harus menjadi Enum.InfoType.Product .
local MarketplaceService = game:GetService("MarketplaceService")
-- Ganti ID tempat pengganti dengan ID produk pengembang Anda
local productId = 000000
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.Product)
end)
if success and productInfo then
-- Tampilkan informasi produk
-- Ganti pernyataan cetak dengan kode UI untuk menampilkan produk
print("Developer Product Name: " .. productInfo.Name)
print("Price in Robux: " .. productInfo.PriceInRobux)
print("Description: " .. productInfo.Description)
end
Gunakan GetDeveloperProductsAsync untuk mengambil kembali semua produk pengembang yang terkait dengan pengalaman Anda.Fungsi ini mengembalikan objek Pages yang dapat Anda periksa dan filter untuk membangun hal-hal seperti toko dalam pengalaman atau daftar produk GUI.
local MarketplaceService = game:GetService("MarketplaceService")
local success, developerProducts = pcall(function()
return MarketplaceService:GetDeveloperProductsAsync()
end)
if success and developerProducts then
local firstPage = developerProducts:GetCurrentPage()
for _, developerProduct in firstPage do
-- Ganti pernyataan cetak dengan kode UI untuk menampilkan produk
print(field .. ": " .. value)
end
end
Gunakan PromptProductPurchase untuk meminta pembelian produk di dalam pengalaman Anda.Anda dapat memanggil fungsi ini ketika pengguna melakukan tindakan seperti menekan tombol atau berbicara dengan NPC penjual.
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Ganti ID tempat pengganti dengan ID produk pengembang Anda
local productId = 000000
local function promptProductPurchase()
local success, errorMessage = pcall(function()
MarketplaceService:PromptProductPurchase(player, productId)
end)
if success then
print("Purchase prompt shown successfully")
end
end
Anda juga dapat menggabungkan fungsi di dalam LocalScript .Sebagai contoh, Anda dapat membuat elemen UI seperti tombol atau NPC penjual, lalu gunakan GetProductInfo() untuk menghubungkan produk pengembang yang ada ke elemen itu, periksa apakah produk itu untuk dijual, dan gunakan PromptProductPurchase() untuk meminta pembelian setiap kali pengguna mengkliknya.
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local button = script.Parent
-- Ganti ID tempat pengganti dengan ID produk pengembang Anda
local productId = 000000
-- Mendapatkan informasi produk saat pengguna mengklik tombol UI
button.MouseButton1Click:Connect(function()
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.Product)
end)
if success and productInfo then
-- Memeriksa apakah produk untuk dijual
if productInfo.IsForSale then
print("This is for sale")
-- Meminta pembelian produk
MarketplaceService:PromptProductPurchase(player, productId)
else
-- Memberi tahu produk tidak untuk penjualan
print("This product is not currently for sale.")
end
else
print("Error retrieving product info: " .. tostring(productInfo))
end
end)
Di luar pengalaman Anda
Untuk mengaktifkan pembelian produk pengembang di luar pengalaman Anda, Anda harus bekerja dengan API ProcessReceipt.Setelah pengguna melakukan pembelian di tab Toko dari halaman rincian pengalaman Anda, Anda harus menggunakan ProcessReceipt untuk mengkonfirmasi pembelian mereka dan memberi mereka barang-barang mereka setelah mereka memasuki pengalaman Anda.
Mode pengujian
Fitur mode pengujian membantu Anda memverifikasi aliran pembelian Anda dengan simulasi pembelian produk pengembang di luar pengalaman Anda.Anda harus menggunakan mode uji untuk memastikan bahwa Anda telah menerapkan ProcessReceipt dengan benar sebelum mengaktifkan penjualan produk pengembang eksternal.
Produk pengembang yang Anda tawarkan untuk dijual dalam mode uji hanya dapat dilihat oleh Anda dan anggota grupAnda. Mereka tidak terlihat oleh pengguna.
Untuk menguji implementasi Anda:
- Di Hub Pencipta , pergi ke Monetarisasi > Produk Pengembang .
- Klik menu ⋮ dan pilih Pengaturan Pembelian Eksternal .
- Di halaman Pengaturan Pembelian Eksternal , klik Aktifkan mode uji coba .
- Setelah mode pengujian aktif, kembali ke halaman Produk Pengembang dan pilih produk untuk diuji.
- Di halaman Pengaturan Dasar , pilih kotak centang Izinkan pembelian eksternal dan simpan perubahan Anda.
- Pergi ke tab Toko halaman rincian pengalaman dan beli produk yang Anda buat tersedia untuk penjualan.
- Masuk ke pengalaman dan konfirmasikan bahwa Anda telah menerima produk yang Anda beli.Status penerimaan dari ProcessReceipt harus diperbarui menjadi Tertutup .
Setelah Anda menguji implementasi Anda, Roblox memverifikasi bahwa tes telah berhasil diselesaikan dan memungkinkan Anda untuk sepenuhnya mengaktifkan fitur untuk menjual produk pengembang di luar pengalaman Anda.
Untuk informasi lebih lanjut tentang API ProcessReceipt dan implementasinya, lihat halaman ProcessReceipt.
Aktifkan penjualan luar
Untuk mengaktifkan penjualan eksternal:
- Pergi ke halaman Pengaturan Pembelian Eksternal .
- Aktifkan Pembelian Eksternal .
- Kembali ke halaman Produk Pengembang dan pilih produk yang ingin Anda jual di luar pengalaman Anda.
- Di halaman Pengaturan Dasar , pilih kotak centang Izinkan pembelian eksternal dan simpan perubahan Anda.
- Konfirmasikan bahwa produk sekarang tersedia untuk dibeli di tab Toko halaman rincian pengalaman.
Untuk menonaktifkan penjualan eksternal produk pengembang, pilih produk di halaman Produk Pengembang dan hapus kotak centang Izinkan pembelian eksternal .
Keterbatasan
- Item untuk dijual dalam mode pengujian biaya Robux yang sebenarnya. Kami sarankan untuk menguji produk pengembang biaya rendah.
- Item untuk dijual dalam mode pengujian hanya dapat dilihat oleh Anda atau oleh anggota grupAnda.
- Untuk dijual secara eksternal, produk pengembang Anda harus memiliki thumbnail.
- Anda tidak boleh menjual berikut di luar pengalaman Anda:
- Item acak berbayar
- Item yang terbatas pada kuantitas, waktu, tempat, atau pengaturan dan peran pengguna tertentu
Tangani pembelian produk pengembang
Setelah pengguna membeli produk pengembang, Anda harus menangani dan mencatat transaksi.Untuk melakukan ini, gunakan Script dalam ServerScriptService menggunakan fungsi ProcessReceipt.
Untuk informasi lebih lanjut tentang API ProcessReceipt dan implementasinya, lihat halaman ProcessReceipt.
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local productFunctions = {}
-- Contoh: ID produk 123123 membawa pengguna kembali ke kesehatan penuh
productFunctions[123123] = function(receipt, player)
local character = player.Character
local humanoid = character and character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
humanoid.Health = humanoid.MaxHealth
-- Menunjukkan pembelian yang berhasil
return true
end
end
-- Contoh: ID produk 456456 memberikan 100 koin emas kepada pengguna
productFunctions[456456] = function(receipt, player)
local leaderstats = player:FindFirstChild("leaderstats")
local gold = leaderstats and leaderstats:FindFirstChild("Gold")
if gold then
gold.Value += 100
return true
end
end
local function processReceipt(receiptInfo)
local userId = receiptInfo.PlayerId
local productId = receiptInfo.ProductId
local player = Players:GetPlayerByUserId(userId)
if player then
-- Mendapatkan fungsi penangani yang terkait dengan ID produk pengembang dan mencoba menjalankannya
local handler = productFunctions[productId]
local success, result = pcall(handler, receiptInfo, player)
if success then
-- Pengguna telah menerima barang-barang mereka
-- Kembalikan "PurchaseGranted" untuk mengkonfirmasi transaksi
return Enum.ProductPurchaseDecision.PurchaseGranted
else
warn("Failed to process receipt:", receiptInfo, result)
end
end
-- Item pengguna tidak bisa diberikan
-- Kembali "Belum diproses" dan mencoba lagi lain kali pengguna bergabung dengan pengalaman
return Enum.ProductPurchaseDecision.NotProcessedYet
end
-- Mengatur panggil balasan
-- Ini hanya dapat dilakukan sekali oleh satu skrip sisi server
MarketplaceService.ProcessReceipt = processReceipt
Analisis produk pengembang
Gunakan analisis produk pengembang untuk menganalisis kesuksesan produk individu, mengidentifikasi tren, dan memprediksi pendapatan masa depan potensial.
Dengan Analitik, Anda dapat:
- Lihat produk pengembang teratas Anda selama periode waktu yang dipilih.
- Tampilkan hingga delapan item teratas yang paling banyak dijual pada grafik seri waktu untuk menganalisis penjualan keseluruhan dan pendapatan bersih.
- Pantau katalog Anda dan urutkan item berdasarkan penjualan dan pendapatan bersih.
Untuk mengakses Analitikproduk pengembang:
- Pergi ke Kreasi dan pilih pengalaman.
- Pergi ke Monetarisasi > Produk Pengembang .
- Pilih tab Analitik .
