W niektórych regionach oraz na niektórych platformach obowiązują zasady i ograniczenia dotyczące przedmiotów na wyspie, które można oferować, oraz sposobu ich oferowania. Niniejszy dokument zawiera dodatkowe informacje, które ułatwią ci rozpoczęcie pracy. Aby uzyskać więcej informacji, patrz: Zasady dla deweloperów wysp w Fortnite i sekcja FAQ.
Epic udostępnia poniższe wytyczne wyłącznie w celach informacyjnych. Epic nie udziela porad prawnych, a informacje zawarte w niniejszym dokumencie nie mają charakteru porady prawnej. Na deweloperze spoczywa obowiązek przestrzegania wszystkich obowiązujących przepisów oraz zasad Epic. Zalecamy skorzystanie z porady prawnej, aby ustalić, w jakim zakresie oraz w jakich sytuacjach przepisy mają zastosowanie do treści, które publikujesz w Fortnite.
Płatne losowe przedmioty
Ponadto do twoich obowiązków należy przestrzeganie przepisów oraz określonych ograniczeń obowiązujących przy oferowaniu graczom płatnych losowych przedmiotów. Niezastosowanie opisanych funkcji będzie uznane za naruszenie zasad Epic.
Oferty wykorzystujące interfejs API zakupów
W przypadku oferowania losowego płatnego przedmiotu za V-dolce, dla właściwości PaidRandomItem tego przedmiotu należy ustawić wartość true. Umożliwi to firmie Epic ograniczenie sprzedaży twoich płatnych losowych przedmiotów zgodnie z poniższymi ograniczeniami.
Oferty wykorzystujące Verse
W przypadku oferowania płatnych przedmiotów losowych, które można otrzymać w zamian za inne płatne przedmioty na wyspie, trzeba użyć funkcji RestrictPaidRandomItems. Wymaga to od dewelopera wprowadzenia ograniczeń w kodzie.
Zgodnie z miejscowymi przepisami, ograniczenia w zakresie płatnych losowych przedmiotów obowiązują w następujących obszarach:
Singapur
Katar
Australia
Holandia
Belgia
Wielka Brytania (osoby poniżej 18 roku życia)
Brazylia (osoby w wieku poniżej 18 lat, obowiązuje od marca 2026 r.)
Od marca 2026 r. zacznie także obowiązywać ograniczenie dotyczące oferowania graczom z Brazylii płatnych przedmiotów losowych. Będzie ono dotyczyć wysp, które są przeznaczone dla graczy w wieku poniżej 18 lat lub mogą być dla takich graczy dostępne.
Ponadto, oprócz korzystania z odpowiednich interfejsów API, musisz ujawnić rzeczywiste, wyrażone liczbowo, szanse otrzymania przez gracza poszczególnych przedmiotów, zanim dokona on zakupu. Jeśli na przykład oferujesz pakiet mikstur leczenia, gdzie gracz może losowo otrzymać 5, 10 lub 50 mikstur, musisz ujawnić liczbowe prawdopodobieństwo uzyskania każdej z nagród przed zakupem (np. 60% szans na otrzymanie 5 mikstur, 30% szans na otrzymanie 10 mikstur oraz 10% szans na otrzymanie 50 mikstur).
Bezpośrednie monity o zakup
Przygotowując oferty, musisz zadbać o to, aby język stosowany w związku z transakcjami nie wprowadzał w błąd ani nie przynaglał nadmiernie gracza do zakupu. Ponadto nie możesz wywierać nacisków ani wyświetlać bezpośrednich monitów o dokonanie zakupu lub zwrócenie się z prośbą o zakup do rodziców osobom nieletnim (w przypadku tego ograniczenia dotyczy to graczy poniżej 18 roku życia, chyba że poniżej wskazano inaczej).
Jeśli w treści oferty lub innych komunikatach w grze niezwiązanych z ofertą pojawią się sformułowania nawiązujące do zakupu – na przykład zwroty takie jak „kup” albo „zamów” na początku zdania, zwroty zapisane wielkimi literami lub zwroty z wykrzyknikiem, takie jak „KUP TERAZ!” – najprawdopodobniej ta oferta zostanie uznana za monit bezpośredni oraz może podlegać ograniczeniom wiekowym i regionalnym.
Poniżej przedstawiamy przykłady zabronionych zwrotów w odróżnieniu od alternatywnych przykładów dopuszczalnych.
| Przykłady niedopuszczalnych zwrotów | Przykłady dopuszczalnych zwrotów |
|---|---|
Kup już teraz! | Już w grze! |
Zgarnij to! | Dostępne do zakupu! |
Ulepsz!/Zagraj!/Wypróbuj!/Odblokuj! (gdy wymagany jest zakup) | Szczegóły znajdziesz w Sklepie [nazwa dewelopera]! |
Kup jeden, a drugi otrzymasz gratis! | Jeśli kupisz jeden, drugi otrzymasz gratis! |
Jeśli oferty lub komunikaty na twojej wyspie zawierają bezpośredni monit o zakup, musisz zastosować funkcję RestrictDirectPromptsToPurchase. Ta funkcja dla poszczególnych graczy wskaże, czy należy ograniczyć wyświetlanie oferty lub komunikatu dla danego gracza. RestrictDirectPromptsToPurchase zwróci wartość true dla graczy z regionów wymienionych poniżej:
Jeśli twoja oferta zawiera bezpośredni monit o zakup, musisz zastosować funkcję RestrictDirectPromptsToPurchase, która spowoduje ograniczenie wyświetlania oferty w wymienionych poniżej regionach:
Austria | Francja (osoby poniżej 17 roku życia) | Holandia |
Belgia | Niemcy | Polska |
Bułgaria | Grecja | Portugalia |
Kanada (osoby poniżej 13 roku życia) | Węgry | Rumunia |
Chorwacja | Irlandia | Słowacja |
Cypr | Włochy | Słowenia |
Czechy | Łotwa | Hiszpania |
Dania | Litwa | Szwecja |
Estonia | Luksemburg | Wielka Brytania (osoby poniżej 16 roku życia) |
Finlandia | Malta |
Poniżej prezentujemy przykład wykorzystania funkcji RestrictDirectPromptsToPurchase do ograniczenia ofert do określonych graczy:
if (RestrictDirectPromptsToPurchase[Player1]):
# Player is unable to receive direct prompts to purchase.
ShowAvailableNowMessageToPlayer(Player1)
else:
# Player is able to receive direct prompts to purchase.
ShowBuyNowMessageToPlayer(Player1)
Zestawy elementów na wyspie
Brazylia
W Brazylii obowiązują konkretne ograniczenia dotyczące oferowania zestawów. W przypadku ofert dostępnych dla graczy z Brazylii, jeśli przedmiot na wyspie jest sprzedawany w ramach zestawu, zazwyczaj musi także być dostępny do zakupu pojedynczo, chyba że nie istnieje taka komercyjna potrzeba ani konieczność.
Na przykład jest uzasadnione sprzedawanie razem (a nie pojedynczo) 10 jajek lub pary butów. Jednak wymaganie od gracza zakupu 7 różnych swetrów zamiast zaoferowania sprzedaży poszczególnych swetrów nie ma uzasadnienia i będzie zabronione. Jeśli chcesz ustalić, w jakim zakresie i w jakich sytuacjach te przepisy mają zastosowanie do treści, które publikujesz dla graczy z Brazylii, zalecamy skorzystanie z porady prawnej.
Dodatkowe opcjonalne ograniczenia zakupów
Możesz zdecydować się na wprowadzenie dodatkowych ograniczeń dotyczących tego, gdzie oferty są prezentowane i kto może je zobaczyć. Jak widać na poniższym przykładzie, możesz zabronić sprzedaży określonych przedmiotów w przypadku graczy z Antarktydy lub graczy w wieku poniżej 18 lat z Antarktydy. W tym celu możesz użyć funkcji GetMinPurchaseAge. Ta funkcja umożliwia dodawanie ograniczeń. Jednak nie jest technicznie możliwe obejście już istniejących i wbudowanych ograniczeń.
GetMinPurchaseAge jest funkcją <computes>, która umożliwia deweloperowi używanie kraju, jednostki administracyjnej i platformy gracza w celu określenia, gdzie i jak można zaprezentować ofertę. Te informacje o graczu są dostarczane deweloperowi jako dane anonimowe, a funkcja uniemożliwia deweloperowi zapisywanie informacji o poszczególnych graczach. Deweloper identyfikuje odpowiedni kraj, jednostkę administracyjną i platformę gracza, a następnie przy użyciu funkcji GetMinPurchaseAge wykonuje wywołanie Tak/Nie lub zwraca wiek minimalny dla tej kombinacji kraju, jednostki administracyjnej i platformy. To umożliwia deweloperowi podawanie w ofercie potrzebnych informacji, przy czym deweloper nie uzyskuje informacji o poszczególnych graczach.
W interfejsie API zakupu funkcje ShowOffersDialog i BuyOffer pozwalają stosować logikę do ustalania, czy oferta jest odpowiednia do sprzedaży w przypadku konkretnego gracza. Podczas tworzenia oferty możesz dodać logikę ograniczeń, aby zastąpić tę logikę przy użyciu funkcji GetMinPurchaseAge.
Poniżej znajdziesz przykład dodatkowego ograniczenia ofert przy użyciu funkcji GetMinPurchaseAge:
basic_sword_offer<public> := class(entitlement_offer):
# Offer name, description, etc...
EntitlementType<override>:concrete_subtype(entitlement) = Entitlements.basic_sword
GetMinPurchaseAge<override>(CountryCode:string, SubdivisionCode:string, PlatformFamily:string)<decides><computes>:int =
# A Hypothetical example where you only want to sell swords to people who don't live in Antarctica
CountryCode <> "AQ"
return 0