Produkty dla programistów

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Produkt dla programistów jest przedmiotem lub zdolnością, której użytkownik może kupić więcej niż raz, takimi jak waluta w doświadczeniu, amunicja lub eliksiry.

Stwórz produkt dla programistów

Aby utworzyć produkt dla programistów:

  1. Idź do tworów i wybierz doświadczenie.
  2. Idź do Monetyzacja > Produkty dla programistów .
  3. Kliknij Stwórz produkt dla programisty .
  4. Prześlij obraz, który ma być wyświetlony jako ikona produktu.Upewnij się, że obraz nie przekracza 512x512 pikseli, nie zawiera ważnych szczegółów poza jego okrągłymi granicami i jest w formacie .jpg, .png lub .bmp.
  5. Wpisz nazwę i opis produktu.
  6. Ustaw cenę produktu w Robux. Minimalna cena wynosi 1 Robux, a maksymalna cena wynosi 1 miliard Robux.
  7. Kliknij Twórz produkt dla programistów .

Zdobądź ID produktu dla programisty

Aby korzystać z skryptowania, potrzebujesz ID produktu dla programisty. Aby uzyskać ID produktu:

  1. Idź do Monetyzacja > Produkty dla programistów .

  2. Najedź kursorem na miniaturaproduktu, kliknij przycisk i wybierz Kopiuj ID zasobu z menu kontekstowego.

Sprzedaj produkt dla programistów

Zanim sprzedasz produkty dla programistów, upewnij się, że poprawnie przetwarzasz dowody sprzedaży i przyznajesz użytkownikom zakupione produkty.Aby to zrobić, musisz:

  • Użyj API ProcessReceipt do sprawdzenia dowodów zakupu.ProcessReceipt automatycznie czyta i potwierdza, że użytkownik zakupił produkt poza doświadczeniem.
  • Weryfikuj każdą fakturę dla User ID, Developer Product ID i status faktury.
  • Jeśli rachunek ma status Otwórz , przyznaj użytkownikowi przedmioty dla programistów, które zakupił.
  • Odpowiedz na API ProcessReceipt z wiadomością potwierdzającą otrzymanie i potwierdzającą, że zakupione przedmioty zostały przyznane.

Możesz sprzedawać produkty dla programistów na dwa sposoby:

W twoim doświadczeniu

Aby wdrożyć i sprzedać produkt dla programisty wewnątrz doświadczenia, wezwij funkcje MarketplaceService.

Użyj GetProductInfo, aby odzyskać informacje o produkcie dla programisty, takie jak nazwa i cena, a następnie wyświetlić ten produkt użytkownikom.Możesz sprzedawać produkt na rynku swojego doświadczenia, na przykład.Dla produktów dla programistów drugi parametr musi być Enum.InfoType.Product.


local MarketplaceService = game:GetService("MarketplaceService")
-- Zastąp ID miejsceholdera ID swoim produktem dla programistów
local productId = 000000
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.Product)
end)
if success and productInfo then
-- Wyświetl informacje o produkcie
-- Zastąp oświadczenia drukowane kodem UI, aby wyświetlić produkt
print("Developer Product Name: " .. productInfo.Name)
print("Price in Robux: " .. productInfo.PriceInRobux)
print("Description: " .. productInfo.Description)
end

Użyj GetDeveloperProductsAsync, aby odzyskać wszystkie produkty dla programistów powiązane z twoim doświadczeniem.Funkcja ta zwraca obiekt Pages, który możesz sprawdzić i przefiltrować, aby zbudować rzeczy takie jak sklep w doświadczeniu lub lista produktów 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
-- Zastąp oświadczenie drukowane kodem UI, aby wyświetlić produkt
print(field .. ": " .. value)
end
end

Użyj PromptProductPurchase, aby poprosić o zakup produktów w ramach swojego doświadczenia.Możesz wezwać tę funkcję, gdy użytkownik wykonuje działania takie jak naciśnięcie przycisku lub rozmowa z dostawcą NPC.


local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
-- Zastąp ID miejsceholdera ID swoim produktem dla programistów
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

Możesz również połączyć funkcje wewnątrz LocalScript .Na przykład możesz utworzyć element interfejsu użytkownika, tak jak przycisk lub sprzedawca NPC, a następnie użyj GetProductInfo(), aby połączyć istniejący produkt dla programistów z tym elementem, sprawdź, czy produkt jest na sprzedaż, i użyj PromptProductPurchase(), aby zażądać zakupu za każdym razem, gdy użytkownik na niego kliknie.


local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local button = script.Parent
-- Zastąp ID miejsceholdera ID swoim produktem dla programistów
local productId = 000000
-- Zdobywa informacje o produkcie, gdy użytkownik kliknie przycisk interfejsu
button.MouseButton1Click:Connect(function()
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.Product)
end)
if success and productInfo then
-- Sprawdza, czy produkt jest na sprzedaż
if productInfo.IsForSale then
print("This is for sale")
-- Powiadomienia o kupowaćproduktu
MarketplaceService:PromptProductPurchase(player, productId)
else
-- Informuje, że produkt nie jest na sprzedaż
print("This product is not currently for sale.")
end
else
print("Error retrieving product info: " .. tostring(productInfo))
end
end)

Poza twoim doświadczeniem

Aby włączyć zakupy produktów dla programistów poza twoim doświadczeniem, musisz pracować z API ProcessReceipt.Po dokonaniu zakupu przez użytkownika na zakładce Sklep szczegółów twojego doświadczenia musisz użyć ProcessReceipt, aby potwierdzić jego zakup i przyznać mu przedmioty, gdy wkroczy do twojego doświadczenia.

Tryb testowy

Funkcja trybu testowego pomaga ci zweryfikować przepływ zakupów poprzez symulację zakupu produktu dla programisty poza twoim doświadczeniem.Powinieneś używać trybu testowego, aby upewnić się, że wdrożyłeś poprawnie ProcessReceipt przed włączeniem sprzedaży produktów zewnętrznych programistów.

Produkty dla programistów, które umieszczasz na sprzedaż w trybie testowym, widzą tylko ty i członkowie twojej grupa. Nie są one widoczne dla użytkowników.

Aby przetestować swoją implementację:

  1. W Centrum twórców , przejdź do Monetyzacja > Produkty dla programistów .
  2. Kliknij menu i wybierz Ustawienia zewnętrznych zakupów .
  3. Na stronie Ustawienia zakupów zewnętrznych kliknij Włącz tryb testowy .
  4. Gdy tryb testowy jest aktywny, powróć na stronę Produkty dla programistów i wybierz produkt do testowania.
  5. Na stronie Podstawowe ustawienia , wybierz Pozwolenie na zewnętrzne zakupy checkbox i zapisz swoje zmiany.
  6. Przejdź do zakładki Sklep na stronie szczegółów doświadczenia i kup produkt, który udostępniasz na sprzedaż.
  7. Wejdź do doświadczenia i potwierdź, że otrzymałeś produkt, który kupiłeś.Status otrzymania API ProcessReceipt powinien zostać zaktualizowany do Zamknięty .

Po przetestowaniu wdrożenia Roblox sprawdza, że test został pomyślnie zakończony, i pozwala w pełni aktywować funkcję, aby sprzedawać produkty dla programistów poza swoimi doświadczeniami.

Aby uzyskać więcej informacji o API ProcessReceipt i jego implementacji, zobacz stronę ProcessReceipt.

Włącz zewnętrzne sprzedaże

Aby włączyć zewnętrzne sprzedaże:

  1. Przejdź do strony Ustawienia zakupów zewnętrznych .
  2. Włącz Zakupy zewnętrzne .
  3. Wróć na stronę Produkty dla programistów i wybierz produkty, które chcesz sprzedawać poza swoim doświadczeniem.
  4. Na stronie Podstawowe ustawienia , wybierz Pozwolenie na zewnętrzne zakupy checkbox i zapisz swoje zmiany.
  5. Potwierdź, że produkty są teraz dostępne do zakupu na zakładce Sklep strony szczegółów doświadczenia.

Aby wyłączyć zewnętrzną sprzedaż produktu dla programisty, wybierz produkt na stronie Produkty dla programistów i wyczyść okno Zezwalaj na zewnętrzne zakupy .

Ograniczenia

  • Przedmioty na sprzedaż w trybie testowym kosztują rzeczywiste Robux. Polecamy testowanie niskokosztowych produktów dla programistów.
  • Przedmioty na sprzedaż w trybie testowym widoczne są tylko dla ciebie lub członków twojej grupa.
  • Aby być sprzedawane zewnętrznie, produkty twórcze twojego developera muszą mieć miniatura.
  • Nie powinieneś sprzedawać następującego poza swoim doświadczeniem:
    • Zapłacone przedmioty losowe
    • Przedmioty ograniczone do określonych ilości, czasu, miejscelub ustawień i roli użytkownika

Poradź sobie z zakupem produktu dla kupować

Po zakupie produktu rozwojowego przez użytkownika musisz obsługiwać i rejestrować transakcję.Aby to zrobić, użyj Script w ciągu ServerScriptService korzystając z funkcji ProcessReceipt.

Aby uzyskać więcej informacji o API ProcessReceipt i jego implementacji, zobacz stronę ProcessReceipt.


local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local productFunctions = {}
-- Przykład: ID produktu 123123 przywraca użytkownikowi pełne zdrowie
productFunctions[123123] = function(receipt, player)
local character = player.Character
local humanoid = character and character:FindFirstChildWhichIsA("Humanoid")
if humanoid then
humanoid.Health = humanoid.MaxHealth
-- Wskazuje na udany kupować
return true
end
end
-- Przykład: ID produktu 456456 przyznaje użytkownikowi 100 monet złota
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
-- Zdobywa funkcję obsługującą powiązaną z ID produktu dewelopera i próbuje ją uruchomić
local handler = productFunctions[productId]
local success, result = pcall(handler, receiptInfo, player)
if success then
-- Użytkownik otrzymał swoje przedmioty
-- Zwraca "PurchaseGranted", aby potwierdzić transakcję
return Enum.ProductPurchaseDecision.PurchaseGranted
else
warn("Failed to process receipt:", receiptInfo, result)
end
end
-- Przedmioty użytkownika nie mogły zostać przyznane
-- Zwraca "NotProcessedYet" i próbuje ponownie za następnym razem, gdy użytkownik dołączy do doświadczenia
return Enum.ProductPurchaseDecision.NotProcessedYet
end
-- Ustawia powrót do wezwania
-- Można to zrobić tylko raz przez jeden skrypt stronny
MarketplaceService.ProcessReceipt = processReceipt

Analiza produktów dla programistów

Użyj analizy produktów dla programistów, aby przeanalizować sukces poszczególnych produktów, zidentyfikować trendy i przewidzieć potencjalne przyszłe zarobki.

Dzięki analizie możesz:

  • Zobacz najlepsze produkty dewelopera w określonym okresie czasu.
  • Pokaż do ośmiu najlepiej sprzedających się przedmiotów na wykresie serii czasowej, aby przeanalizować ogólne sprzedaże i przychody netto.
  • Śledź swój katalog i sortuj przedmioty według przychodów ze sprzedaży i przychodów netto.

Aby uzyskać dostęp do analizy produktów dla programistów:

  1. Idź do tworów i wybierz doświadczenie.
  2. Idź do Monetyzacja > Produkty dla programistów .
  3. Wybierz zakładkę Analityka .