Subscriptions trong các trải nghiệm cho phép bạn cung cấp lợi ích cho người dùng theo một khoản phí hàng tháng. Tương tự như Pass, sự khác biệt chính giữa subscriptions và passes là lợi ích của một pass được cấp cho mãi mãi, trong khi lợi ích của một subscription
- Tự động gia hạn:: Các khoản subscribe tự động gia hạn, không phải là một lần mua, và được giá trị bằng tiền tệ địa phương.
- Robux Payout: Bạn nhận doanh thu theo chuỗi bằng Robux. Để biết thêm chi tiết, hãy xem Kiếm tiền với subscriptions .
- Một cấp: Tất cả các subscriptions trong một trải nghiệm có thể được sở hữu bởi người dùng cùng một lúc. Các subscriptions riêng biệt không được hỗ trợ.
Người dùng có thể mua subscriptions trên ứng dụng desktop hoặc trên trang web bằng tiền thưởng Roblox hoặc một thẻ tín dụng hoặc thẻ ghi nợ, và thông qua các phương thức thanh toán trên Apple và Google Store ở các khu vực đủ điều kiện. Người dùng có thể xem và quản lý mua subscriptions của họ trong trang Subscriptions trong cài đặt tà
Các khu vực sẽ được mở rộng thêm trong tương lai.
Vùng không có sẵn bao gồm: Argentina, Colombia, India, Indonesia, Japan, Russia, Taiwan, Türkiye (Turkey), UAE, Ukraine và Vietnam.
Hướng dẫn subscribe
Trước khi tạo các khoản subscribe của bạn, hãy đảm bảo chúng đồng nhất với Cộng đồng Roblox và tuân theo luật pháp địa phương. Bất kỳ trải nghiệm nào liên quan đến lừa đảo, cố gắng lừa dối người dùng bằng các
- Cung cấp các lựa chọn subscribe rõ dọn sạch, dễ dàng phân biệt:: Sử dụng các tên ngắn, thẳng thắn và tự giải thích tên subscribe từ nhau. Định giá và thời gian cho mỗi lựa chọn khi bán hàng trong kinh nghiệm.
- Cung cấp cùng một lợi ích trên các nền tảng và thiết bị: Bất kể nơi mà kế hoạch subscriptions được mua, hãy đảm bảo người dùng nhận được cùng một lợi ích cho bất kỳ kế hoạch subscriptions nào.
- Thiết kế các kế hoạch subscriptions để phù hợp với nhau và tổng quát các trải nghiệm của mình: Tiering các lớp cung cấp cùng một loạt các lợi ích, như cung cấp "Bronze", "Bạc" và "Vàng" các lớp mà là tương tự nhau, hiện đang không có sẵn. Đảm bả
- Cung cấp lợi ích cho toàn bộ thời gian của kỳ hạn sub: Sau khi một kỳ hạn sub được cung cấp, hãy tôn trọng lợi ích được mô tả và không huỷ ký kết hợp đồng khi nó đang diễn ra.
- Đừng khuyến khích người dùng mua trên một nền tảng khác ( ví dụ như di động, web, v.v..) trong kinh nghiệm: Mặc dù bạn có thể miễn phí giao tiếp với người dùng ngoài nền tảng, sử dụng ứng dụng Roblox để hướng dẫn người dùng mua ở nơi khác là bị cấm.
- Không cổng lợi ích subscribe bằng các yêu cầu bổ sung một lần người dùng đã mất phítiền:: Yêu cầu một người thực hiện các nhiệm vụ thêm, chẳng hạn như đăng nhập trên mạng xã hội, để có quyền truy cập các lợi ích họ đã trả tiền cho là bị cấ
Tạo subscrip션
Trước khi bạn có thể tạo một subscrip션, bạn phải là một số điện thoại hoặc đã được xác minh ID . Để tạo một subcrip션:
Navigate to your experience in the Creator Dashboard and select Sản phẩm Monetization > Subscriptions . Then click 1> Create A Subscription1> .
Tải một hình ảnh bao cho subscribtion của bạn. Hình ảnh này sẽ được hiển thị cho người khác sau khi được kiểm duyệt.
Tạo một tên đăng ký độc nhất Tên subscrip션 . Không có hai subcripción trong một trải nghiệm có thể chia sẻ cùng một tên. Tên subcripción này xuất hiện bên cạnh một phiên bản ngắn của tên trải nghiệm của bạn trong các tài sản hóa đơ
Viết một Mô tả của giao dịch của bạn. Đây là những gì người dùng thấy khi quyết định mua giao dịch của bạn. Mô tả của bạn phải rõ ràng mô tả những lợi ích mà kết hợp của bạn cung cấp. Mô tả được giới hạn ở 1.000 ký tự và hỗ trợ
Chọn loại sub Product Type . Có ba loại sản phẩm:
- Có thể sử dụng lâu dài: Các mặt hàng vĩnh viễn mà vẫn tồn tại sau khi sử dụng hoặc mua, chẳng hạn như vật phẩm thể chất, chẳng hạn như vũ khí. Nếu một subscribe bao gồm một loạt các loại hàng hóa khác đánh máy, với một ho
- Có thể sử dụng: Vật phẩm tạm thời mà bạn có thể mua lại sau khi sử dụng hoặc mua, chẳng hạn như potion tiêu thụ thời gian thấp dần mà thời gian tăng dần.
- Tiền tệ: Bất kỳ đơn vị trung gian nào mà người dùng có thể sử dụng để mua các mặt hàng trong trải nghiệm của bạn.
Chọn Giá tiền của giao dịch của bạn (bằng USD). Bạn kiếm tiền bằng giá trị trên trang web. Các kẻ sub đăng nhập ứng dụng di động được yêu cầu trả giá cao hơn. Các kẻ sub đăng nhập ứng dụng địa tiền tệđược yêu cầu trả giá cao hơn.
Tần suất lặp lại là bao nhiêu lần người dùng được xác nhận phải trả tiền cho subscrip션. Hiện tại, giá trị này luôn là hàng tháng. Click Tạo subcrip션 .
Xem lại chi tiết và nhấp vào Tạo mục .
Kích hoạt Subscriptions
Khi một subscribe đã sẵn sàng để bán, hãy nhấp vào ⋯ ở góc trên phải của subscribe tile và chọn Kích hoạt . Các subscribe đã kích hoạt được hiển thị trên trang Thông tin chi tiết kinh nghiệm và trong trải nghiệm.
Trước khi kích hoạt subscribe của bạn lần đầu tiên, bạn phải xác nhận một phiên bản ngắn của tên kinh nghiệm của bạn. Tên ngắn này của kinh nghiệm được hiển thị cho người dùng khi họ đăng ký, hiển thị bên cạnh tên subscribe bạn tạo trong Tạo subscribe .
Chỉnh sửa subscriptions
Bạn có thể có tối đa 50 subscriptions per experience between active and inactive subscriptions. Để chỉnh sửa subscriptions, hãy truy cập vào trải nghiệm của bạn trong Creator Dashboard và chọn Sản phẩm Monetization > Subscriptions .
Bạn có thể chỉnh sửa hình ảnh, miêu tảtả hoặc trạng thái của một sub. Nếu bạn muốn chỉnh sửa nhiều hơn những thuộc tính này, bạn cần phải xóa và tạo lại sub với những thay đổi mong muốn.
Thay đổi hình ảnh
Để cập nhật hình ảnh của một subscribe:
Với phần subscribe được chọn, hãy nhấn vào nút Thay đổi .
Chọn một hình ảnh mới và nhấp vào Lưu , sau đó Lưu Thay đổi . Hình ảnh mới sẽ được phát sóng sau khi thành công kiểm tra.
Thay đổi mô tả
Để thay đổi miêu tảtả của một chứng chỉ sub:
- Với phần subscribe được chọn, hãy nhấp vào trường Mô tả .
- Chỉnh sửa mô miêu tả, sau đó nhấp vào Lưu thay đổi . Mô tả được giới hạn ở 1,000 ký tự và có thể hỗ trợ các ký tự đặc biệt.
- Xác nhận thay đổi bằng cách nhấp vào Vâng, Xác nhận trên cửa sổ xác nhận. Cập nhật mô tả được tức thời hiển thị.
Thay đổi trạng thái
Các kết quả subscribe có hai trạng thái có thể xảy ra:
- Chủ động — Các chủ đề đã đăng ký được đang bán, với các subscriber có thể gia hạn subscriptions của họ tại kỳ đầu tiên của kỳ tiếp theo.
- Không hoạt động — Các subscribe không hoạt động không có sẵn đang mua bán.
Để thay đổi trạng thái của một chứng chỉ:
- Ở trang subscriptions, nhấp ⋯ ở góc trên cùng bên phải của thẻ subscriptions. Hoặc ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ �
- Chọn Bật hoạt hóa hoặc Huỷ bán hàng để đổi trạng thái của cuộc ký kết.
- Nếu bạn chọn Huỷ bán hàng , bạn sẽ được cung cấp tùy chọn cho phép người sub đang tồn tại nhận lại, hoặc huỷ gia hạn tương lai cho người sub đang tồn tại. Nói phổ quát, nên cho phép người sub đang tồn tại để nhận lại lợi ích sub không thể bị xóa k
Tích hợp Subscriptions vào một kinh nghiệm
Các ví dụ mã này là những ví dụ đơn giản về cách thực hiện phát hiện subscribe trong trải nghiệm của bạn:
-- Chạy mã này trên máy chủ
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local SUBSCRIPTION_ID = "EXP-11111111" -- Thay thế bằng ID subscribe của bạn
local function grantAward(player: Player)
-- Bạn nên cho phép phần thưởng được liên kết với kết quả cuộc thi ở đây
end
local function revokeAwardIfGranted(player: Player)
-- Phương thức này được gọi cho mọi người chơi _không có kết quả
-- Nếu mã của bạn lưu các khoản subscribe vào Data Stores hoặc cung cấp một số lợi ích cần phải "bị huỷ"
-- bạn nên sử dụng phương pháp này để xử lý sự thu hồi
end
local function checkSubStatus(player)
local success, response = pcall(function()
return MarketplaceService:GetUserSubscriptionStatusAsync(player, SUBSCRIPTION_ID)
end)
if not success then
warn(`Error while checking if player has subscription: {response}`)
return
end
if response.IsSubscribed then
grantAward(player)
else
revokeAwardIfGranted(player)
end
end
local function onUserSubscriptionStatusChanged(player: Player, subscriptionId: string)
if subscriptionId == SUBSCRIPTION_ID then
checkSubStatus(player)
end
end
Players.PlayerAdded:Connect(checkSubStatus)
Players.UserSubscriptionStatusChanged:Connect(onUserSubscriptionStatusChanged)
Thay thế một Game Pass bằng một Subscription
Một lựa chọn khác để bán hàng sub đã có trong kinh nghiệm của bạn là thay thế một Game Pass hiện tại bằng một sub. Đây là một lựa chọn tuyệt vời nếu bạn muốn nhanh chóng triển khai sub trong kinh nghiệm của bạn mà không cần thêm các tính năng hoặc phần thưởng mới.
Có hai yếu tố quan trọng khi thay thế Game Pass bằng một khoản subscribe:
- Bất kỳ người sở hữu Game Pass hiện tại nào cũng nên tiếp tục nhận lợi ích mà họ đã trả tiền.
- Game Pass nên được bán chạy để người dùng mới có thể mua gói subscribe thay vào đó.
- Các khoản subscribe có thể bị huỷ, có nghĩa là nếu Game Pass trước đó giữ lại lợi ích của nó vào một kho lưu dữ cửa hàng, bạn cần phải "hủy" những lợi ích này. Điều này không áp dụng cho tất cả các implementations Game Pass, nhưng có thể áp dụng cho những cái phức tạp hơn.
Các ví dụ mã sau đây cho thấy cách thay thế Game Pass bằng một khoản subscribe:
-- Chạy mã này trên máy chủ
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local LEGACY_GAME_PASS_ID = 1234 -- Thay thế bằng ID của game pass đang được thay thế bằng một subscribe
local SUBSCRIPTION_ID = "EXP-11111111" -- Thay thế bằng ID subscribe của bạn
local function awardBenefit(player: Player)
-- Bạn nên trao tặng subscribe ở đây
end
local function revokeBenefitIfGranted(player: Player)
-- Phương thức này được gọi cho mọi người chơi _không có kết quả
-- Nếu mã của bạn lưu các khoản subscribe vào Data Stores hoặc cung cấp một số lợi ích cần phải "bị huỷ"
-- bạn nên sử dụng phương pháp này để xử lý sự thu hồi
end
local function checkSubscriptionStatus(player: Player)
local success, result = pcall(function()
return MarketplaceService:GetUserSubscriptionStatusAsync(player, SUBSCRIPTION_ID)
end)
if not success then
print(`Error fetching subscription status: {result}`)
return
end
if result.IsSubscribed then
awardBenefit(player)
else
revokeBenefitIfGranted(player)
end
end
local function onPlayerAdded(player: Player)
local success, result = pcall(function()
return MarketplaceService:UserOwnsGamePassAsync(player.UserId, LEGACY_GAME_PASS_ID)
end)
if not success then
print(`Error fetching game pass status: {result}`)
return
end
if result then
-- Nếu người chơi đã mua game cổ điển, chúng tôi không cần phải xem trạng tháivécủa họ
-- vì họ có lợi ích được cấp cho cuộc sống
awardBenefit(player)
return
end
checkSubscriptionStatus(player)
end
local function onUserSubscriptionStatusChanged(player: Player, subscriptionId: string)
if subscriptionId == SUBSCRIPTION_ID then
checkSubscriptionStatus(player)
end
end
local function onPromptGamePassPurchaseFinished(player: Player, purchasedPassID: number, purchaseSuccess: boolean)
if purchaseSuccess and purchasedPassID == LEGACY_GAME_PASS_ID then
awardBenefit(player)
end
end
Players.PlayerAdded:Connect(onPlayerAdded)
Players.UserSubscriptionStatusChanged:Connect(onUserSubscriptionStatusChanged)
-- Chúng tôi sẽ tiếp tục lắng nghe mua gamepass trong trò chơi trong trường hợp gamepass vẫn đang mua bán
MarketplaceService.PromptGamePassPurchaseFinished:Connect(onPromptGamePassPurchaseFinished)
Yêu cầu mua subscrip션
Mặc dù người dùng có thể mua subscriptions trực tiếp từ trang Game Details của một trải nghiệm, bạn cũng nên thêm cách mua subscriptions trong trò chơi.
Khi bạn yêu cầu một giao dịch subscribe, Players.UserSubscriptionStatusChanged sẽ bắt đầu nếu người chơi đã có subscribe, which giúp bắt các tình huống nơi mà một người mua subscribe từ trang Thông tin trò chơi trong khi họ đang ở trong trò chơi.
Mặc dù bạn có thể yêu cầu một mua sắm subscribe từ khách hàng, kiểm tra có phải người dùng đã có một subscribe qua MarketplaceService.GetUserSubscriptionStatusAsync phải được thực hiện từ máy chủ.
Cú mẫu này tạo ra một RemoteFunction mà khách hàng có thể sử dụng để yêu cầu tình trạng của một subscripion:
--Mã này nên chạy trên máy chủ
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Tạo một RemoteFunction mà khách hàng có thể sử dụng để yêu cầu tình trạng trạng thái
local getSubscriptionStatusRemote = Instance.new("RemoteFunction")
getSubscriptionStatusRemote.Name = "GetSubscriptionStatus"
getSubscriptionStatusRemote.Parent = ReplicatedStorage
getSubscriptionStatusRemote.OnServerInvoke = function(player: Player, subscriptionId: string)
assert(typeof(subscriptionId) == "string")
return MarketplaceService:GetUserSubscriptionStatusAsync(player, subscriptionId)
end
-- Mã này nên chạy trên client
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local SUBSCRIPTION_ID = "EXP-11111111" -- Thay thế bằng ID subscribe của bạn
local getSubscriptionStatusRemote = ReplicatedStorage:WaitForChild("GetSubscriptionStatus")
local purchaseSubscriptionButton = script.Parent.PromptPurchaseSubscription -- Thay thế bằng nút của bạn
local function playerHasSubscription()
-- Lưu ý nếu cuộc subscribe của bạn đang thay thế một game vé, bạn sẽ cần kiểm tra xem game pass có được sở hữu ở đây hay không
local success, result = pcall(function()
return getSubscriptionStatusRemote:InvokeServer(SUBSCRIPTION_ID)
end)
if not success then
print(`Error fetching subscription status: {result}`)
return
end
return result.IsSubscribed
end
-- Ẩn nút nếu người chơi đã có subscrip션
local function hideButtonIfPlayerHasSubscription()
if playerHasSubscription() then
purchaseSubscriptionButton.Visible = false
end
end
local function onPromptSubscriptionPurchaseFinished(player: Player, subscriptionId: string, didTryPurchasing: boolean)
if didTryPurchasing then
-- Việc đăng ký subđăng ký có thể mất một vài thời gian, vì vậy chúng tôi sẽ kiểm tra để xem mua hàng đã đi qua trong 10 giây
-- và ẩn nút nếu nó có
task.delay(10, hideButtonIfPlayerHasSubscription)
end
end
-- Nếu người chơi đã có chứng chỉ, chúng tôi không muốn hiển thị nút nào tất cả
hideButtonIfPlayerHasSubscription()
purchaseSubscriptionButton.Activated:Connect(function()
MarketplaceService:PromptSubscriptionPurchase(Players.LocalPlayer, SUBSCRIPTION_ID)
-- Nếu người chơi đã có subscrip션, hide the button
hideButtonIfPlayerHasSubscription()
end)
MarketplaceService.PromptSubscriptionPurchaseFinished:Connect(onPromptSubscriptionPurchaseFinished)
Các chức năng liên quan khác
Các chức năng liên quan khác có sẵn trong MarketplaceService :
Kiếm tiền với Subscriptions
Các khoản thanh toán được xử lý bằng tiền tệ địa phương, nhưng bạn kiếm được Robux theo tỷ lệ US $ 0,01 mỗi Robux tùy theo giá của nền tảng bạn đã chọn cho khu vực sau các khoản phí. Roblox thu một khoản phí 30% cho người dùng mớ
Ví dụ, nếu một người subscribe với giá cơ bản là $ 9.99 (để bàn) hoặc $ 12.99 (điện thoại):
- Tháng đầu tiên:: Người sáng tạo của subscrip션 nhận 999 * .7 = 699 (máy tính) hoặc 1299 * .7 = 909 (di động).
- Thứ hai trở đi:: Người sáng tạo của chất béo nhận 999 = 999 (máy tính) hoặc 1299 = 1299 (di động).
Lợi nhuận được tính 30 ngày giữ và sẽ được thêm vào tài khoản Robux của bạn sau khi kết thúc thời gian giữ trong kỳ. Nếu một người yêu cầu hoàn trả cho một khoản subscribe thông qua ngân hàng hoặc cửa hàng ứng dụng của họ trong thời gian giữ dài hạn tháng, lợi n
Các khoản hoàn trả được nhận ngoài cửa sổ giữ sẽ dẫn đến số tiền hoàn trả được trả cho cuộc giao dịch đã được hoàn trả được dự số dưtừ Robux của bạn. Nếu trải nghiệm của bạn thuộc sở hữu của một Nhóm và số tiền trong tài số dưcủa
Người dùng có thể huỷ một kế hoạch subscribe đang hoạt động và không thể tái tạo nó không tự động dẫn đến một khoản hoàn tiền. Người dùng phải yêu cầu hoàn trả thủ công, which is handled on a case-by-case basis. Để biết thêm thông tin về quy trình hoàn trả subscribe của người dùng, hãy xem trung
Phần thưởng subscribe
Payouts được tìm thấy trong Robux Balance > My Transactions :
Subscriptions và Group Subscription lượng trả tiền xuất hiện dưới Incoming Robux, trong khi lượng hoàn trả được tập hợp dưới 0> Outgoing 0> Robux như một 3> Payout Reversal 3> . Các trang subsubissions và group subitations cung cấp thêm thông tin cho c
Để xem thông tin hoàn trả của các người dùng cụ thể, hãy sử dụng MarketplaceService:GetUserSubscriptionPaymentHistoryAsync() .
Phân tích subscribe
Phân tích subscriptions giúp bạn đo lường thành công của các subscriptions cụ thể, xác định xu hướng và dự đoán tiềm năng lợi nhuận tương lai. Các subscriptions được thêm vào trang phân tích subscriptions sau khi chúng được kích hoạt lần đầu tiên và khô
Thông qua Creator Dashboard
Để truy cập vào phân tích subscribe trên Bảng điều khiển của người sáng tạo:
Chuyển đến trang Tạo vật của bạn trên Bảng điều khiển của người dạy dỗ và chọn trải nghiệm của bạn.
Navigate to the Tài chính hóa tab and select Subscriptions .
Phân tích subscribe theo dõi các chỉ số sau đây:
- Subscriptions: Tổng số số subscriptions đang hoạt động trong trải nghiệm của bạn.
- Doanh thu ước tính: Doanh thu từ kinh nghiệm sau phí. Không bao gồm thông tin hoàn trả.
- Phân tích Subscriber: Các loại khác nhau của subscriber.
- Mới : Số lượng ký kết hợp đồng mua bản quyền lần đầu tiên.
- Đã gia hạn : Số lượng subscriptions đã mua trong một khoảng thời gian trước đó.
- Đã Hồi Sinh : Số lượng subscribe mới đã được mua bởi người dùng đã có trước đó.
- Hủy chấp nhận hàng loạt : Số lượng subscribe không được gia hạn. Điều này bao gồm tất cả các hủy chấp nhận, ngay cả khi đó là hủy chấp nhận của người nhà sáng tạo, deactivation subscriptions bởi người tạo, hoặc bằng cách khác.
- Huỷ subscriptions là khác với refound. Các subscriptions đã huỷ là subscriptions sẽ không còn được gia hạn nhưng được trả tiền đầy đủ cho phần còn lại của chu kỳ thanh toán, trong khi refound trả lại số tiền đã mua cho người dùng.
- Subscriptions by Platform : Số lượng subscriptions đã mua trên mỗi nền tảng.
- Doanh thu từ các khoản subscribe mỗi nền tảng : Doanh thu từ các khoản subscribe đã mua trên mỗi nền tảng.
Thông tin này được hiển thị dưới dạng biểu đồ dựa trên một loạt các ngày trong tầng dữ liệu Trends , và là một danh sách tổng quát các khoản subscribe tổng cộng được cung cấp dưới lịch sử tab.
Thông qua Webhook
Tính năng Cloud API Webhook bao gồm các trình phát cho bốn sự kiện subscribe: bị huỷ, mua, hoàn lại và gia hạn. Các thông báo này ngay lập tức bắt lửa, so you can respond in real-time or create your own custom analytics. For more information on how to set up a webhook, see Notifications Webhook .