Langganan dalam pengalaman memungkinkan Anda menawarkan pengguna manfaat berlangsung untuk biaya bulanan. Mirip dengan Pass , perbedaan utama antara langganan dan pas adalah bahwa manfaat pengguna diberikan dalam kebesaran, sementara manfaat langganan bergantung pada pengguna membayar biaya bulanan. Langganan di Roblox memiliki karakteristik berikut:
- Penggulir otomatis:: Langganan diperbarui secara otomatis, bukan pembelian satu kali, dan dihargai dalam mata uang lokal.
- Pembayaran Robux: Anda menerima pendapatan langganan dalam Robux. Untuk lebih banyak rincian, lihat Menghasilkan dengan Langganan.
- Tingkat tunggal: Semua subscripsi dalam pengalaman dapat dimiliki oleh pengguna secara bersamaan. Subscripsi bersama-sama eksklusif tidak didukung.
Pengguna dapat membeli langganan di aplikasi desktop atau situs web menggunakan kredit kartu hadiah Roblox atau kartu kredit atau debit, dan melalui metode pembayaran di toko Apple dan Google dalam kualifikasi wilayah. Pengguna dapat melihat dan mengelola pembelian langganan mereka di tab Langganan di pengaturan akun Roblox mereka.
Langganan akan diperluas ke lebih banyak wilayah di masa depan. Wilayah yang tidak tersedia termasuk: Argentina, Kolombia, India, Indonesia, Jepang, Rusia, Taiwan, Türkiye (Turki), UAE, Ukraina, dan Vietnam.
Petunjuk Langganan
Sebelum membuat langganan Anda, pastikan mereka berisi Syarat Penggunaan Roblox dan mematuhi lokasi undang-undang. Setiap pengalaman yang melibatkan penipuan, upaya menipu pengguna dengan tawaran palsu, atau melanggar standar komunitas kami , akan dihapus. Selain itu, pastikan langganan Anda mematuhi lokasi berikut:
- Berikan pilihan sublangganan yang hapus, terpisah, dan mudah diidentifikasi: Gunakan nama pendek, jelas, dan mudah diartikulasi yang masing-masing membedakan pilihan sublangganan satu sama lain. Spesifikasi harga dan durasi untuk setiap pilihan saat berbelanja dalam pengalaman.
- Tawarkan manfaat yang sama di semua platform dan perangkat: Terlepas dari di mana langganan dibeli, pastikan pengguna menerima manfaat yang sama untuk setiap rencana langganan yang diberikan.
- Desain subscripsi untuk menyesuaikan satu sama lain dan penawaran total: Tingkatan dari setiap tingkatan manfaat, seperti menawarkan "Perunggu," "Perak," dan "Emas" tingkat yang saling eksklusif, tidak tersedia saat ini. Pastikan subscripsi mewakili set berbagai manfaat.
- Tawarkan manfaat selama masa berlangganan penuh: Setelah penawaranlangganan hidup, honor manfaat yang dijelaskan dan jangan revoke manfaat di belakang layar.
- Jangan mengarahkan pengguna untuk membeli di platform lain (seperti ponsel, web, dll) dalam pengalaman: Meskipun Anda bebas berkomunikasi dengan pengguna off-platform, menggunakan aplikasi Roblox untuk mengarahkan pengguna untuk membeli di tempat lain dilarang.
- Jangan mencegah keuntungan subscripsi dengan persyaratan tambahan setelah pengguna telah berbayar:: Mengharuskan pengguna untuk melakukan tugas tambahan, seperti menyetor ke media sosial, untuk mendapatkan akses ke manfaat yang mereka telah dibayar untuk. Panduan ini tidak berpengaruh pada battle passes, yang dapat Anda buat dan pasarkan sebagai pembelian langganan.
Membuat Langganan
Sebelum Anda dapat membuat langganan, Anda harus menjadi telepon atau verifikasi ID . Untuk membuat langganan:
Navigate to your experience in the Creator Dashboard and select Produk Monetisasi > Langganan . Kemudian klik 1> Buat Langganan1> .
Mungkin gambar dekung untuk langganan Anda. Gambar ini akan terlihat oleh orang lain setelah moderasi.
Buat nama pengguna yang unik Subscription Name . Tidak ada dua subscriber dalam sebuah pengalaman dapat menggunakan nama pengguna yang sama. Nama pengguna subscriber ini muncul bersama dengan versi singkat dari nama pengalaman Anda dalam pernyataan pembayaran. Karakter yang diizinkan adalah a-z, A-Z, 0-9, spasi, dan .,:/!?@#&'
Tulis Deskripsi dari langganan Anda. Ini adalah apa yang dilihat pengguna saat memutuskan untuk membeli langganan Anda. Deskripsi Anda harus menjelaskan dengan jelas manfaat langganan Anda. Deskripsi dibatasi 1.000 karakter dan mendukung emoji. Setelah Anda mengaktifkan langganan, Anda tidak dapat mengurangi manfaatnya.
Pilih subscripsi Jenis Produk . Ada tiga jenis produk:
- Kuat: Item permanen yang bertahan setelah penggunaan atau Akuisisi, seperti barang-barang fisik seperti senjata. Jika langganan mencakup bundel berbagai jenis barang, dengan salah satu atau lebih dari mereka bertahan, seperti paket nilai dengan pedang dan ramuan, pilih Kuat sebagai ketikproduknya.
- Dikonsumsi: Barang-barang yang dapat dibeli sementara yang kedaluwarsa setelah penggunaan atau Akuisisi, seperti ramuan yang dapat memberikan dorongan sementara yang kedaluwarsa setelah waktu.
- Mata uang: Setiap media pertukaran yang dapat digunakan pengguna untuk membeli item dalam pengalaman Anda.
Pilih Harga langganan Anda (dalam USD). Anda mendapatkan Robux berdasarkan harga web. Pengguna aplikasi seluler dikenakan biaya lebih tinggi. Pelanggan dikenakan biaya dalam mata uang lokal mereka.
Cadence Recurring adalah seberapa sering pengguna dikenakan biaya untuk langganan. Saat ini, nilai ini selalu bulanan. Klik Buat Langganan .
Periksa dua kali detail dan klik Buat .
Mengaktifkan Langganan
Setelah sebuah langganan siap untuk dijual, klik ⋯ di sudut kanan atas subtitle langganan dan pilih Aktifkan . Langganan yang aktif tersedia untuk dijual di halaman Detail Pengalaman dan dalam pengalaman itu sendiri.
Sebelum mengaktifkan langganan Anda untuk pertama kalinya, Anda harus mengkonfirmasi versi singkat dari nama pengalaman Anda. Nama pengalaman singkat ini ditampilkan kepada pengguna saat mereka subscribe, muncul bersama dengan nama langganan yang Anda buat di Pembuatan Langganan . Ini juga tersedia untuk mengelola langganan di Roblox dan App Store Settings.
Mengedit Langganan
Anda dapat memiliki hingga 50 subscripsi per pengalaman di antara subscripsi aktif dan tidak aktif. Untuk mengedit subscripsi, navigasikan ke pengalaman Anda di Dashboard Pembuat dan pilih Produk Monetisasi > Subscribe .
Anda dapat mengedit gambar, deskripsi, atau negara sublangganan. Jika Anda ingin mengedit lebih dari kepribadian ini, Anda perlu menghapus dan menciptakan kembali sublangganan dengan perubahan yang diinginkan.
Mengubah Gambar
Untuk menyetel ulang gambar langganan:
Dengan langganan yang dipilih, klik tombol Ganti .
Pilih gambar baru dan klik Simpan, lalu Simpan Perubahan. Gambar baru akan aktif setelah berhasil melewati moderasi.
Mengubah Deskripsi
Untuk mengubah deskripsi sublangganan:
- Dengan langganan yang dipilih, klik lapangan Deskripsi .
- Edit deskripsi, lalu klik Simpan Perubahan . Deskripsi dibatasi 1.000 karakter dan dapat mendukung emoji.
- Konfirmasi perubahan dengan mengklik Ya, Konfirmasi di jendela konfirmasi. Pembaruan deskripsi segera dibayar.
Mengubah Negara
Langganan memiliki dua status yang mungkin:
- Aktif — Langganan aktif tersedia untuk penjualan, dengan subscriber dapat menyubscribe ulang langganan mereka di awal periode berikutnya.
- Tidak aktif — Langganan tidak tersedia untuk penjualan.
Untuk mengubah status sublangganan:
- Pada halaman Langganan, klik ⋯ di sudut kanan atas langganan's tile. Either Aktifkan or Hapus dari penjualan displays, depending on the current state of the subscription, alongside some other options.
- Pilih Aktifkan atau Angkat Penjualan untuk mengubah status langganan.
- Jika Anda memilih Take Off Sale , Anda akan diberikan opsi untuk mengizinkan subscriber yang ada untuk memperpanjang, atau menyediakan pembaruan masa depan untuk subscriber saat ini. umum, disarankan untuk mengizinkan subscriber yang ada untuk menyuburkan kecuali jika Anda berencana untuk secara permanen menghapus manfaat subscripsi dari pengalaman Anda.
Mengintegrasi Langganan ke Pengalaman
Sampel kode ini adalah contoh sederhana tentang cara menerapkan deteksi langganan dalam pengalaman Anda:
-- Jalankan kode ini di server
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local SUBSCRIPTION_ID = "EXP-11111111" -- Ganti dengan ID langganan Anda
local function grantAward(player: Player)
-- Anda harus menghadiahkan penghargaan yang terkait dengan langganan di sini
end
local function revokeAwardIfGranted(player: Player)
-- Metode ini dianggap untuk setiap pemain yang melakukan _tidak_ memiliki langganan
-- Jika kode Anda menyimpan subscripsi ke Data Stores atau memberikan beberapa manfaat yang perlu 'dibatalkan'
-- anda harus menggunakan metode ini untuk menangani revokasi
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)
Mengganti Game Pass dengan Langganan
Satu opsi untuk mengeluarkan subscripsi dalam pengalaman Anda adalah mengganti Game Pass yang ada dengan subscripsi. Ini adalah pilihan yang bagus jika Anda ingin dengan cepat mengimplementasi subscripsi dalam pengalaman Anda tanpa menambahkan fitur atau penghargaan baru.
Ada dua pertimbangan penting saat mengganti Game Pass dengan langganan:
- Pemegang Game Pass apa pun yang ada harus terus menerima manfaat yang mereka bayar.
- Game Pass harus dihapus dari penjualan sehingga pengguna baru dapat membeli langganan sebagai gantinya.
- Langganan dapat dihapus, yang berarti jika Game Pass sebelumnya menyimpan manfaatnya ke toko data, Anda perlu "batalkan" manfaat ini. Pertimbangan ini tidak berlaku untuk semua implementasi Game Pass, tetapi mungkin berlaku untuk yang lebih kompleks.
Sampel kode berikut menunjukkan cara mengganti Game Pass dengan langganan:
-- Jalankan kode ini di server
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local LEGACY_GAME_PASS_ID = 1234 -- Ganti dengan ID gamepass yang diganti oleh langganan
local SUBSCRIPTION_ID = "EXP-11111111" -- Ganti dengan ID langganan Anda
local function awardBenefit(player: Player)
-- Anda harus menghadiahkan langganan di sini
end
local function revokeBenefitIfGranted(player: Player)
-- Metode ini dianggap untuk setiap pemain yang melakukan _tidak_ memiliki langganan
-- Jika kode Anda menyimpan subscripsi ke Data Stores atau memberikan beberapa manfaat yang perlu 'dibatalkan'
-- anda harus menggunakan metode ini untuk menangani revokasi
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
-- Jika pemain telah membeli game legendaris, kami tidak perlu melihat status langganan mereka
-- karena mereka memiliki manfaat yang diberikan untuk kehidupan
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)
-- Kami akan terus mendengarkan pembelian gamepass dalam game jika gamepass masih penjualan
MarketplaceService.PromptGamePassPurchaseFinished:Connect(onPromptGamePassPurchaseFinished)
Mendesak Pembelian Langganan
Meskipun pengguna dapat membeli langganan langsung dari halaman Game Detail pengalaman, Anda juga harus menambahkan cara untuk membeli langganan dalam game.
Ketika Anda mengaktifkan pembelian langganan, Players.UserSubscriptionStatusChanged mengeksekusi jika pemain sudah memiliki langganan, yang membantu menangkap skenario di mana pemain membeli langganan dari halaman Detail Permainan saat mereka sudah dalam game.
Meskipun Anda dapat mengundang pembelian langganan dari klien, memeriksa apakah seorang pengguna sudah memiliki langganan melalui MarketplaceService.GetUserSubscriptionStatusAsync harus dilakukan dari server.
Contoh ini menciptakan RemoteFunction yang dapat dikonsumsi klien untuk meminta status sublangganan:
--Kode ini harus dijalankan di server
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Buat RemoteFunction yang dapat digunakan klien untuk meminta status langganan
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
-- Kode ini harus dijalankan di klien
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local SUBSCRIPTION_ID = "EXP-11111111" -- Ganti dengan ID langganan Anda
local getSubscriptionStatusRemote = ReplicatedStorage:WaitForChild("GetSubscriptionStatus")
local purchaseSubscriptionButton = script.Parent.PromptPurchaseSubscription -- Ganti dengan tombol Anda
local function playerHasSubscription()
-- Periksa jika langganan Anda mengganti gamepass, Anda juga harus memeriksa apakah gamepass dimiliki di sini
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
-- Menyembunyikan tombol jika pemain sudah memiliki langganan
local function hideButtonIfPlayerHasSubscription()
if playerHasSubscription() then
purchaseSubscriptionButton.Visible = false
end
end
local function onPromptSubscriptionPurchaseFinished(player: Player, subscriptionId: string, didTryPurchasing: boolean)
if didTryPurchasing then
-- Mungkin memakan waktu beberapa minggu untuk berlangganan, jadi kami akan memeriksa apakah pembelian itu berhasil dalam 10 detik
-- dan menyembunyikan tombol jika itu memiliki
task.delay(10, hideButtonIfPlayerHasSubscription)
end
end
-- Jika pemain sudah memiliki langganan, kami tidak ingin menunjukkan tombol sama semua
hideButtonIfPlayerHasSubscription()
purchaseSubscriptionButton.Activated:Connect(function()
MarketplaceService:PromptSubscriptionPurchase(Players.LocalPlayer, SUBSCRIPTION_ID)
-- Jika pemain sudah memiliki langganan, sembunyikan tombol
hideButtonIfPlayerHasSubscription()
end)
MarketplaceService.PromptSubscriptionPurchaseFinished:Connect(onPromptSubscriptionPurchaseFinished)
Fungsi lain yang relevan
Fungsi yang relevan lainnya tersedia di MarketplaceService :
Mendapatkan dengan Langganan
Langganan dihargai dalam mata uang lokal, tetapi Anda mendapatkan Robux dengan tingkat US $ 0,01 hingga 1 Robux menurut harga platform yang Anda pilih untuk langganan setelah biaya platform. Roblox mengambil 30% biaya platform hanya untuk bulan pertama, yang berarti bahwa Anda menerima pendapatan langganan penuh dari bulan kedua setelah itu. Ini adalah pembagian pendapatan
Misalnya, jika seorang pengguna berlangganan di harga dasar US$ 9,99 (desktop) atau $ 12,99 (мобильный):
- Bulan pertama: Pencipta langganan menerima 999 * .7 = 699 ( desktop) atau 1299 * .7 = 909 (mobile).
- Bulan kedua setelah: Pencipta langganan menerima 999 = 999 ( desktop) atau 1299 = 1299 (mobile).
Penghasilan dikenakan pada 30 hari penahanan dan akan ditambahkan ke saldo Robux Anda setelah keseluruhan jangka waktu langganan telah dikirim. Jika seorang pengguna meminta pengembalian dana untuk langganan melalui bank atau toko aplikasi mereka dalam periode penahanan sepanjang bulan, penahanan akan dibatalkan dan Anda tidak akan menerima pembayaran untuk transaksi itu.
Pengembalian dana yang diterima di luar jendela penahanan akan mengakibatkan jumlah pembayaran untuk transaksi yang dikembalikan ditambahkan dari saldo Robux Anda. Jika pengalaman Anda dimiliki oleh Grup dan saldo Grup kurang dari jumlah yang akan dikurangkan, sisa akan dikurangkan dari saldo Pemilik Robux.
Pengguna dapat membatalkan langganan aktif dan gagal menyimpannya tidak secara otomatis menyebabkan pengembalian dana. Pengguna harus meminta pengembalian dana secara manual, yang ditangani pada dasar kasus per kasus. Untuk informasi lebih lanjut tentang proses pengembalian dana pengguna, lihat pusat bantuan.
Pembayaran Langganan
Pembayaran ditemukan di Robux Balance > My Transactions :
Langganan dan Langganan Grup pembayaran muncul di bawah Incoming Robux, sementara pengembalian dana dikumpulkan di bawah 0> Keluar0> Robux sebagai 3>Pengembalian Rewards 3> . Halaman sublangganan dan sublangganan grup menyediakan informasi tambahan untuk kategori masing-masing mereka.
Untuk melihat informasi pengembalian dana pengguna individu, gunakan MarketplaceService:GetUserSubscriptionPaymentHistoryAsync() .
Analitik Langganan
Analitik subscripsi membantu Anda mengevaluasi kesuksesan subscripsi individu, mengidentifikasi tren, dan memprediksi potensi pendapatan masa depan. Subscripsi ditambahkan ke halaman analitik subscripsi setelah pertama kali mereka aktif dan tidak dihapus ketika mereka diaktifkan atau dihapus. Anda dapat mengakses analitik siap melalui Dasbor Kreatorpembuat, atau Anda dapat men
Dasbor Kreator
Untuk mengakses analitik sublangganan di Dashboard Pencipta:
Navigate to your Karya page on Dashboard Pencipta and select your experience.
Navigate to the Monetization tab and select Langganan .
Subscription analytics melacak metrik berikut:
- Langganan: Jumlah total langganan aktif di pengalaman Anda.
- Penghasilan Diperkirakan: Penghasilan jumlah total yang diperoleh dari pengalaman setelah biaya. Tidak termasuk informasi pengembalian dana.
- Pemecahan Subscriber: Berbagai jenis subscriber.
- Baru : Jumlah pembelian langganan oleh pelanggan baru.
- Diperbarui : Jumlah subscripsi yang diperbarui di periode sebelumnya.
- Dibangkitkan : Jumlah subscripsi baru yang dibeli oleh pengguna yang sebelumnya telah membatalkan.
- Pembatalan : Jumlah subscripsi yang tidak diperbarui. Ini termasuk semua pembatalan terlepas dari kreator, deaktivasi subscripsi oleh pembuat, atau dengan cara lain.
- Pembatalan berbeda dari pengembalian dana. Pengembalian subscripsi adalah subscripsi yang tidak akan lagi diperbarui tetapi dibayar penuh untuk sisa siklus pembelian, sementara pengembalian dana mengembalikan jumlah langganan yang dibayar ke pengguna.
- Langganan oleh Platform : Jumlah langganan yang dibeli di setiap platform.
- Pendapatan Platform : Pendapatan net yang diperoleh melalui langganan yang dibeli di setiap platform.
Informasi ini terlihat dalam bentuk grafik berdasarkan rentang tanggal di bawah tab Trends dan daftar lengkap subscripsi total yang ditawarkan di tab History.
Melalui Webhook
Fitur Cloud API Webhook termasuk pemicu untuk empat acara berlangganan: dibatalkan, dibeli, dikembalikan, dan diperbarui. Pemberitahuan ini berlaku segera, sehingga Anda dapat merespon dalam waktu nyata atau membuat Analitikkhusus Anda. Untuk informasi lebih lanjut tentang cara menyiapkan webhook, lihat Peringatan Webhook.