Produk Pengembang

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

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

Buat produk pengembang

Untuk membuat produk pengembang:

  1. Pergi ke Kreasi dan pilih sebuah game.
  2. Pergi ke MonetisasiProduk Pengembang.
  3. Klik Buat produk pengembang.
  4. Unggah gambar untuk ditampilkan sebagai ikon produk. Pastikan gambar tidak melebihi 512x512 piksel, tidak menyertakan detail penting di luar batas lingkarannya, dan berada dalam format .jpg, .png, atau .bmp.
  5. Masukkan nama dan deskripsi untuk produk tersebut.
  6. Pilih kategori untuk produk. Kategori digunakan untuk mengorganisir item di Toko dalam game Anda.
  7. Atur harga produk dalam Robux. Harga minimum adalah 1 Robux, dan harga maksimum adalah 1 miliar Robux.
  8. Klik Simpan Perubahan.

Dapatkan ID produk pengembang

Untuk menggunakan scripting, Anda memerlukan ID produk pengembang. Untuk mendapatkan ID produk:

  1. Pergi ke MonetisasiProduk Pengembang.

  2. Arahkan mouse ke thumbnail produk, klik tombol dan pilih Salin ID Aset dari menu konteks.

Jual produk pengembang

Sebelum menjual produk pengembang, pastikan Anda memproses tanda terima penjualan dengan benar dan memberikan produk yang dibeli kepada pengguna. Untuk melakukannya, Anda harus:

  • Menggunakan API ProcessReceipt untuk memeriksa tanda terima pembelian. ProcessReceipt secara otomatis membaca dan mengakui bahwa pengguna telah membeli produk di luar game.
  • Memvalidasi setiap tanda terima untuk User ID, Developer Product ID, dan status tanda terima.
  • Jika tanda terima memiliki status Terbuka, berikan kepada pengguna item pengembang yang telah mereka beli.
  • Balas API ProcessReceipt dengan pesan yang mengakui tanda terima dan memvalidasi bahwa item yang dibeli telah diberikan.

Anda dapat menjual produk pengembang dengan dua cara:

Di dalam game Anda

Untuk mengimplementasikan dan menjual produk pengembang di dalam game, panggil fungsi MarketplaceService.

Gunakan GetProductInfo untuk mengambil informasi tentang produk pengembang, seperti nama dan harga, dan kemudian untuk menampilkan produk tersebut kepada pengguna. Anda dapat menjual produk di dalam pasar game Anda, misalnya. Untuk produk pengembang, parameter kedua harus Enum.InfoType.Product.


local MarketplaceService = game:GetService("MarketplaceService")
-- Ganti ID placeholder 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("Nama Produk Pengembang: " .. productInfo.Name)
print("Harga dalam Robux: " .. productInfo.PriceInRobux)
print("Deskripsi: " .. productInfo.Description)
end

Gunakan GetDeveloperProductsAsync untuk mengambil semua produk pengembang yang terkait dengan game Anda. Fungsi ini mengembalikan objek Pages yang dapat Anda periksa dan filter untuk membangun hal-hal seperti toko dalam game atau GUI daftar produk.


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 game Anda. Anda dapat memanggil fungsi ini ketika pengguna melakukan tindakan seperti menekan tombol atau berbicara dengan NPC vendor.


local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Ganti ID placeholder 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("Tampilan pemintaan pembelian ditampilkan dengan sukses")
end
end

Anda juga dapat menggabungkan fungsi di dalam LocalScript. Misalnya, Anda dapat membuat elemen UI seperti tombol atau NPC vendor, kemudian menggunakan GetProductInfo() untuk menghubungkan produk pengembang yang sudah ada dengan elemen tersebut, memeriksa apakah produk tersebut untuk dijual, dan menggunakan 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 placeholder dengan ID produk pengembang Anda
local productId = 000000
-- Mengambil info produk ketika 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("Ini tersedia untuk dijual")
-- Meminta pembelian produk
MarketplaceService:PromptProductPurchase(player, productId)
else
-- Memberitahu bahwa produk tidak tersedia untuk dijual
print("Produk ini tidak tersedia untuk dijual saat ini.")
end
else
print("Kesalahan dalam mengambil info produk: " .. tostring(productInfo))
end
end)

Di luar game Anda

Untuk mengaktifkan pembelian produk pengembang di luar game Anda, Anda harus bekerja dengan API ProcessReceipt. Setelah pengguna melakukan pembelian di tab Toko halaman detail game Anda, Anda harus menggunakan ProcessReceipt untuk mengonfirmasi pembelian mereka dan memberikan item mereka setelah mereka masuk ke game Anda.

Mode uji

Fitur mode uji membantu Anda memvalidasi alur pembelian Anda dengan mensimulasikan pembelian produk pengembang di luar game Anda. Anda harus menggunakan mode uji untuk memastikan bahwa Anda telah mengimplementasikan ProcessReceipt dengan benar sebelum mengaktifkan penjualan produk pengembang eksternal.

Produk pengembang yang Anda jual dalam mode uji hanya dapat dilihat oleh Anda dan anggota grup Anda. Mereka tidak terlihat oleh pengguna.

Untuk menguji implementasi Anda:

  1. Di Creator Hub, pergi ke MonetisasiProduk Pengembang.
  2. Klik menu dan pilih Pengaturan Pembelian Eksternal.
  3. Di halaman Pengaturan Pembelian Eksternal, klik Aktifkan mode uji.
  4. Setelah mode uji aktif, kembali ke halaman Produk Pengembang dan pilih produk yang ingin diuji.
  5. Di halaman Pengaturan Dasar, pilih kotak centang Izinkan pembelian eksternal dan simpan perubahan Anda.
  6. Pergi ke tab Toko halaman detail game dan beli produk yang Anda buat tersedia untuk dijual.
  7. Masuk ke game dan konfirmasi bahwa Anda telah menerima produk yang Anda beli. Status tanda terima dari API ProcessReceipt harus diperbarui menjadi Tutup.

Setelah Anda menguji implementasi Anda, Roblox memverifikasi bahwa pengujian telah berhasil diselesaikan dan mengizinkan Anda untuk sepenuhnya mengaktifkan fitur untuk menjual produk pengembang di luar game Anda.

Untuk informasi lebih lanjut tentang API ProcessReceipt dan implementasinya, lihat halaman ProcessReceipt.

Aktifkan penjualan eksternal

Untuk mengaktifkan penjualan eksternal:

  1. Pergi ke halaman Pengaturan Pembelian Eksternal.
  2. Aktifkan Pembelian Eksternal.
  3. Kembali ke halaman Produk Pengembang dan pilih produk yang ingin Anda jual di luar game Anda.
  4. Di halaman Pengaturan Dasar, pilih kotak centang Izinkan pembelian eksternal dan simpan perubahan Anda.
  5. Konfirmasi bahwa produk sekarang tersedia untuk dibeli di tab Toko halaman detail game.

Untuk menonaktifkan penjualan eksternal dari produk pengembang, pilih produk di halaman Produk Pengembang dan kosongkan kotak centang Izinkan pembelian eksternal.

Pembatasan

  • Item yang dijual dalam mode uji dikenakan biaya Robux yang sebenarnya. Kami merekomendasikan untuk menguji produk pengembang dengan biaya rendah.
  • Item yang dijual dalam mode uji hanya dapat dilihat oleh Anda atau anggota grup Anda.
  • Untuk dijual secara eksternal, produk pengembang Anda harus memiliki thumbnail.
  • Anda sebaiknya tidak menjual berikut di luar game Anda:
    • Item acak berbayar
    • Item yang terbatas pada jumlah tertentu, waktu, tempat, atau pengaturan dan peran pengguna tertentu

Tangani pembelian produk pengembang

Setelah pengguna membeli produk pengembang, Anda harus menangani dan mencatat transaksi tersebut. Untuk melakukan ini, gunakan Script di 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 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
-- Mengambil fungsi penanganan 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 item mereka
-- Mengembalikan "PurchaseGranted" untuk mengonfirmasi transaksi
return Enum.ProductPurchaseDecision.PurchaseGranted
else
warn("Gagal memproses tanda terima:", receiptInfo, result)
end
end
-- Item pengguna tidak dapat diberikan
-- Mengembalikan "NotProcessedYet" dan mencoba lagi saat pengguna masuk ke game
return Enum.ProductPurchaseDecision.NotProcessedYet
end
-- Mengatur callback
-- Ini hanya dapat dilakukan sekali oleh satu skrip sisi server
MarketplaceService.ProcessReceipt = processReceipt

Personalisasi toko dalam game Anda

Anda dapat menggunakan API intelijen produk untuk menyortir dan merekomendasikan produk pengembang kepada pengguna. Mempersonalisa toko dalam game Anda membantu memunculkan item yang paling relevan untuk setiap pengguna, meningkatkan keterlibatan dan pendapatan. Dengan menyesuaikan produk pengembang dengan preferensi pengguna, Anda dapat meningkatkan penemuan, meningkatkan tingkat konversi, dan membuka peluang monetisasi baru.

Peringkat produk pengembang untuk dijual

RankProductsAsync menerima daftar ID produk dan mengembalikan daftar terurut yang dipersonalisasi dari produk-produk tersebut. Anda dapat menggunakan metode ini untuk memberikan rekomendasi item yang dipersonalisasi kepada pengguna di toko dalam game Anda.

Contoh: Tiga item "Kekuatan" yang diberi peringkat untuk pengguna
Tiga item yang diberi peringkat untuk pengguna.

local MarketplaceService = game:GetService("MarketplaceService")
-- Buat array produk yang ingin Anda peringkatkan
local productIdentifiers = {
{InfoType = Enum.InfoType.GamePass, Id = 123},
{InfoType = Enum.InfoType.Product, Id = 456},
{InfoType = Enum.InfoType.Product, Id = 789}
}
-- Lakukan panggilan yang terlindungi untuk menangani kesalahan
local success, rankedProducts = pcall(function()
return MarketplaceService:RankProductsAsync(productIdentifiers)
end)
if not success then
error("Gagal untuk memberi peringkat produk")
end
-- Muat item yang dikembalikan ke dalam toko
for i, rankedItem in ipairs(rankedProducts) do
local productIdentifier = rankedItem.ProductIdentifier
local productInfo = rankedItem.ProductInfo
-- ...
-- Logika untuk menambahkan produk ke dalam toko
end

Tampilkan produk pengembang teratas Anda

RecommendTopProductsAsync mengambil array nilai InfoType dan mengembalikan hingga 50 item yang kemungkinan besar akan diminati dan dibeli oleh pengguna. Anda dapat menggunakan metode ini untuk membuat bagian "Pilihan Teratas" di toko dalam game Anda.

Jika rekomendasi tidak dapat ditentukan, RecommendTopProductsAsync mengembalikan 0 item.

Dalam kasus yang jarang terjadi, panggilan ke model peringkat bisa lambat. Untuk membantu mencegah keterlambatan tambahan untuk pengguna, kami merekomendasikan menggunakan task.spawn untuk membuat panggilan ke RecommendTopProducts non-blokir.

Contoh: Tab "Pilihan Teratas" di toko dalam game
Tab Pilihan Teratas di toko dalam game.

local MarketplaceService = game:GetService("MarketplaceService")
-- Buat array jenis produk yang ingin Anda sertakan dalam rekomendasi -- Contoh ini mencakup baik passes maupun produk pengembang
local productTypes = {Enum.InfoType.GamePass, Enum.InfoType.Product}
-- Lakukan panggilan yang terlindungi untuk menangani kesalahan
local success, topRankedItems = pcall(function()
return MarketplaceService:RecommendTopProductsAsync(productTypes)
end)
if not success then
error("Gagal untuk memberi peringkat produk")
end
-- Muat item yang dikembalikan ke dalam toko
-- Pastikan untuk menyaring item yang tidak memenuhi syarat dari topRankedItems seperti produk pengembang yang tidak bisa lagi dibeli pengguna
for i, rankedItem in ipairs(topRankedItems) do
local productIdentifier = rankedItem.ProductIdentifier
local productInfo = rankedItem.ProductInfo
-- ...
-- Logika untuk menambahkan produk ke dalam toko
end

Analitik produk pengembang

Gunakan analitik produk pengembang untuk menganalisis kesuksesan produk individual, mengidentifikasi tren, dan meramalkan potensi pendapatan di masa depan.

Dengan analitik, Anda dapat:

  • Melihat produk pengembang teratas Anda selama periode waktu yang dipilih.
  • Menampilkan hingga delapan item terlaris pada grafik deret waktu untuk menganalisis penjualan keseluruhan dan pendapatan bersih.
  • Memantau katalog Anda dan mengurutkan item berdasarkan penjualan dan pendapatan bersih.

Untuk mengakses analitik produk pengembang:

  1. Pergi ke Kreasi dan pilih sebuah game.
  2. Pergi ke MonetisasiProduk Pengembang.
  3. Pilih tab Analitik.
©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.