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 pengguna dapat membeli lebih dari sekali, seperti mata uang dalam pengalaman, amunisi, atau ramuan.

Menciptakan Produk Pengembang

Untuk membuat produk pengembang:

  1. Pergi ke Karya dan pilih pengalaman.
  2. Pergi ke Monetisasi > Produk Pengembang .
  3. Klik Buat Produk Pengembang .
  4. Mengunggah gambar untuk ditampilkan sebagai ikon produk. Pastikan gambar tidak melebihi 512x512 pixel, tidak termasuk rincian penting di luar batas-batasnya, dan berada dalam format .jpg, .png, atau .bmp .
  5. Masukkan nama dan deskripsi untuk produk.
  6. Tetapkan harga produk dalam Robux. Harga minimum adalah 1 Robux, dan harga maksimum adalah 1 miliar Robux.
  7. Klik Buat Produk Pengembang .

Mendapatkan ID Pengguna Produk

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

  1. Pergi ke Monetisasi > Produk Pengembang .

  2. Hover over the product and click the menu.

  3. Klik Salinan ID Aset untuk menyalin ID ke clipboard Anda.

Menjual Produk Pengembang

Untuk menerapkan dan menjual produk pengembang di dalam pengalaman, panggil 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 dalam pengalaman Anda, misalnya. Untuk produk pengembang, parameter kedua harus menjadi Enum.InfoType.Product .


local MarketplaceService = game:GetService("MarketplaceService")
-- Ganti ID pengganti dengan 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 semua produk pengembang yang terkait dengan pengalaman Anda. Fungsi ini mengembalikan objek Pages yang dapat Anda inspeksi dan filter untuk membangun hal-hal seperti daftar toko 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 mengundang pembelian produk di dalam pengalaman Anda. Anda dapat memanggil fungsi ini ketika seorang 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 pengganti dengan 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 . Misalnya, Anda dapat menciptakan elemen UI seperti tombol atau NPC untuk dijual, lalu menggunakan GetProductInfo() untuk mengh


local MarketplaceService = game:GetService("MarketplaceService")
local player = game.Players.LocalPlayer
local button = script.Parent
-- Ganti ID pengganti dengan 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 penjualan
if productInfo.IsForSale then
print("This is for sale")
-- Mendesak pembelian produk
MarketplaceService:PromptProductPurchase(player, productId)
else
-- Mengumumkan produk tidak untuk penjualan
print("This product is not currently for sale.")
end
else
print("Error retrieving product info: " .. tostring(productInfo))
end
end)

Penanganan Pembelian Produk Pengembang

Setelah pengguna membeli produk pengembang, Anda harus menangani dan menyimpan transaksi. Untuk melakukan ini, gunakan Script dalam ServerScriptService menggunakan fungsi ProcessReceipt().


local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local productFunctions = {}
-- Contoh: ID produk 123123 mengembalikan pengguna 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 sukses
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 untuk mengeksekusinya
local handler = productFunctions[productId]
local success, result = pcall(handler, receiptInfo, player)
if success then
-- Pengguna telah menerima barang mereka
-- Mengembalikan "PurchaseGranted" untuk mengkonfirmasi transaksi
return Enum.ProductPurchaseDecision.PurchaseGranted
else
warn("Failed to process receipt:", receiptInfo, result)
end
end
-- Item pengguna tidak dapat diberikan
-- Mengembalikan "NotProcessedYet" dan mencoba lagi lain kali pengguna bergabung dengan pengalaman
return Enum.ProductPurchaseDecision.NotProcessedYet
end
-- Tetapkan panggilan
-- Ini hanya dapat dilakukan sekali oleh satu naskah sisi server
MarketplaceService.ProcessReceipt = processReceipt

Analitik Produk Pengembang

Gunakan analitik produk pengembang untuk menganalisis kesuksesan produk individual, mengidentifikasi tren, dan memprediksi potensi keuntungan masa depan.

Dengan Analitik, Anda dapat:

  • Lihat produk utama pengembang Anda selama periode waktu yang dipilih.
  • Tampilkan hingga delapan item terlaris di grafik seri waktu untuk menganalisis penjualan dan pendapatan total.
  • Pantau katalog Anda dan sort item berdasarkan penjualan dan pendapatan net.

Untuk mengakses Analitikproduk pengembang:

  1. Pergi ke Karya dan pilih pengalaman.
  2. Pergi ke Monetisasi > Produk Pengembang .
  3. Pilih Analitik tab.