パスを使用すると、ユーザーに対してゲーム内の特別な特権(例えば、制限されたエリアへの入場、ゲーム内アバターアイテム、または永続的なパワーアップ)にアクセスするための一度限りのRobux料金を請求できます。
パスを作成する
パスを作成するには:
- Creationsに移動し、ゲームを選択します。
- マネタイズ ⟩ パスに移動します。
- パスを作成をクリックします。
- パスアイコンとして表示する画像をアップロードします。画像は512x512ピクセルを超えず、その円形の境界の外に重要な詳細が含まれていないことを確認し、.jpg、.png、または.bmp形式である必要があります。
- パスの名前と説明を入力します。
- パスのカテゴリーを選択します。カテゴリーはゲーム内ショップでアイテムを整理するために使用されます。
- パスを作成をクリックします。


パスIDを取得する
スクリプトを使用するには、パスIDが必要です。パスIDを取得するには:
マネタイズ ⟩ パスに移動します。
パスのサムネイルにカーソルを合わせ、⋯ボタンをクリックし、コンテキストメニューからアセットIDをコピーを選択します。

パスを販売する
パスを販売する方法は2つあります:
ゲーム内で
エクスペリエンス内でパスを実装し、販売するには、MarketplaceService関数を呼び出します。
GetProductInfo()を使用して、パスに関する情報(名前や価格など)を取得し、そのパスをユーザーに表示します。たとえば、ゲームのマーケットプレイス内でパスを販売できます。パスの場合、2番目のパラメータはEnum.InfoType.GamePassでなければなりません。
local MarketplaceService = game:GetService("MarketplaceService")
-- プレースホルダーIDをあなたのパスIDに置き換えます
local productId = 000000
local success, productInfo = pcall(function()
return MarketplaceService:GetProductInfo(productId, Enum.InfoType.GamePass)
end)
if success and productInfo then
-- 商品が販売中か確認します
if productInfo.IsForSale then
-- 商品情報を表示
-- print文をUIコードに置き換えてパスを表示する
print("パス名: " .. productInfo.Name)
print("Robuxでの価格: " .. productInfo.PriceInRobux)
print("説明: " .. productInfo.Description)
else
print("この商品は販売されていません")
end
end
PromptGamePassPurchase()を使用して、ユーザーがすでに自分のインベントリにパスを持っていない場合、パスの購入を促します。この関数は、ユーザーがボタンを押したり、ベンダーNPCと話をするなどのアクションを実行したときに呼び出します。
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
-- プレースホルダーIDをあなたのパスIDに置き換えます
local passID = 0000000
-- パス購入を促す
local function promptPurchase()
local player = Players.LocalPlayer
local hasPass = false
local success, message = pcall(function()
hasPass = MarketplaceService:UserOwnsGamePassAsync(player.UserId, passID)
end)
if not success then
warn("プレイヤーがパスを持っているか確認中にエラーが発生しました: " .. tostring(message))
return
end
if hasPass then
-- ユーザーがすでにパスを所有していることを知らせるメッセージを表示します
else
-- パス購入を促します
MarketplaceService:PromptGamePassPurchase(player, passID)
end
end
PromptGamePassPurchaseFinishedを使用して、完了したパスのプロンプトと購入を処理し、ユーザーにパスに関連する特権を割り当てます。
スクリプトをServerScriptService内に配置して、サーバーがユーザーのパス特権を処理します。
local MarketplaceService = game:GetService("MarketplaceService")
-- プレースホルダーIDをあなたのパスIDに置き換えます
local passID = 0000000 -- これをあなたのパスIDに変更してください
-- 完了したプロンプトと購入を処理します
local function onPromptPurchaseFinished(player, purchasedPassID, purchaseSuccess)
if purchaseSuccess and purchasedPassID == passID then
print(player.Name .. " はパスID " .. passID を購入しました)
-- ユーザーにパスに関連する能力やボーナスを割り当てます
end
end
-- PromptGamePassPurchaseFinishedイベントを関数に接続します
MarketplaceService.PromptGamePassPurchaseFinished:Connect(onPromptPurchaseFinished)
ゲーム外で
ゲームの詳細ページのストアタブでパスを販売するには:
- マネタイズ ⟩ パスに移動します。
- パスにカーソルを合わせ、**⋯**メニューをクリックします。
- 販売したいパスを選択します。
- 販売を選択します。
- 販売中のアイテムのトグルを有効にします。
- Robuxでの価格フィールドに、ユーザーがパスのために請求されるRobuxの額を入力します。入力した価格は、販売ごとに得られるRobuxの額に影響します。最低価格は1 Robux、最大価格は10億Robuxです。
- 変更を保存をクリックします。パスはゲームの詳細ページのストアタブに表示されます。
パス特権を割り当てる
購入したパスに対してユーザーに手動で特権を割り当てる必要があります。これを行うには、ユーザーがゲームに参加したときにPlayerAddedを使用して、すでにパスを所有しているかどうかを確認し、パス特権を割り当てます。
スクリプトをServerScriptService内に配置して、サーバーがユーザーのパス特権を処理します。
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
-- プレースホルダーIDをあなたのパスIDに置き換えます
local passID = 0000000
local function onPlayerAdded(player)
local hasPass = false
-- ユーザーがすでにパスを所有しているか確認します
local success, message = pcall(function()
hasPass = MarketplaceService:UserOwnsGamePassAsync(player.UserId, passID)
end)
if not success then
-- 警告を表示して関数を終了します
warn("プレイヤーがパスを持っているか確認中にエラーが発生しました: " .. tostring(message))
return
end
if hasPass then
-- ユーザーにパスに関連する能力やボーナスを割り当てます
print(player.Name .. " はパスID " .. passID を所有しています)
end
end
-- PlayerAddedイベントを関数に接続します
Players.PlayerAdded:Connect(onPlayerAdded)
ゲーム内ストアをパーソナライズする
商品インテリジェンスAPIを使用して、ユーザーにパスを並べ替えたり、推奨したりできます。ゲーム内ストアをパーソナライズすると、各ユーザーに最も関連性の高いアイテムを表面化させ、エンゲージメントと収益を向上させることができます。ユーザーの好みに合わせてパスを調整することで、発見を改善し、コンバージョン率を上げ、新しいマネタイズ機会を開放できます。
販売用パスをランク付けする
RankProductsAsyncは、製品IDのリストを受け取り、それらの製品の個別に排序されたリストを返します。このメソッドを使用して、ゲーム内ストアでユーザーにパーソナライズされたアイテムレコメンデーションを提供できます。

local MarketplaceService = game:GetService("MarketplaceService")
-- ランク付けしたい商品の配列を作成します
local productIdentifiers = {
{InfoType = Enum.InfoType.GamePass, Id = 123},
{InfoType = Enum.InfoType.Product, Id = 456},
{InfoType = Enum.InfoType.Product, Id = 789}
}
-- オプション:リクエストが遅い場合のために、非同期タスク内に呼び出しをラップします。
task.spawn(function()
-- pcallを使用してエラーを優雅に処理します
local success, result = pcall(function()
return MarketplaceService:RankProductsAsync(productIdentifiers)
end)
if not success then
-- 失敗した場合、'result'はエラーメッセージです。
warn("商品のランク付けに失敗しました:", result)
end
-- ストアに返されたアイテムをロードします。
for i, rankedItem in ipairs(rankedProducts) do
local productIdentifier = rankedItem.ProductIdentifier
local productInfo = rankedItem.ProductInfo
-- ...
-- productInfoをストアに追加するロジック
end
end)
トップパスを表示する
RecommendTopProductsAsyncは、InfoTypeの値の配列を受け取り、ユーザーが最も関与し購入する可能性のあるアイテムを最大50件返します。このメソッドを使用して、ゲーム内ストアに「トップピック」セクションを作成できます。
推奨されるアイテムが決定できない場合、RecommendTopProductsAsyncは0アイテムを返します。ユーザーがすでに所有しているパスも返されません。
まれに、ランキングモデルへの呼び出しが遅くなることがあります。ユーザーのためにこれを遅延させないようにするために、task.spawnを使用してRecommendTopProductsへの呼び出しをブロッキングしないようにすることをお勧めします。

local MarketplaceService = game:GetService("MarketplaceService")
-- 含める商品のタイプの配列を作成します。ここではゲームパスと開発者商品両方を含めます
local productTypes = {Enum.InfoType.GamePass, Enum.InfoType.Product}
-- オプション:リクエストが遅い場合のために、非同期タスク内に呼び出しをラップします。
task.spawn(function()
-- pcallを使用してエラーを優雅に処理します
local success, result = pcall(function()
return MarketplaceService:RecommendTopProductsAsync(productTypes)
end)
if not success then
-- 失敗した場合、'result'はエラーメッセージです。
warn("商品のランク付けに失敗しました:", result)
end
-- ストアに返されたアイテムをロードします。上位ランクのアイテムから、ユーザーがもはや購入できない開発者商品などの不適格なアイテムをフィルタリングすることを確認します。
for i, rankedItem in ipairs(rankedProducts) do
local productIdentifier = rankedItem.ProductIdentifier
local productInfo = rankedItem.ProductInfo
-- ...
-- productInfoをストアに追加するロジック
end
end)
パスを宣伝する
より多くのユーザーにあなたのゲームを発見してもらうために、パスをRobloxのRobux購入ページで特集表示することを選択できます。パスを宣伝することを選ぶと、ゲームでのユーザーの滞在時間とRobuxが増加するのを助けることができます。宣伝できるパスの数に制限はありません。
ユーザーには、プレイ履歴やプラットフォーム上でのエンゲージメントに関連するパスが表示され、すでに所有しているパスは表示されません。

ユーザーが対象のRobuxパッケージを購入すると、宣伝されたパスが提供され、ゲームに参加することでパスを取得するよう促されます。

パスを宣伝するオプトインをするには:
- マネタイズ ⟩ パスに移動します。
- 宣伝したいパスを選択します。
- プロモーションを選択します。
- このアイテムをボーナスプールに含めるを有効にします。
- 変更を保存をクリックします。パスはRobuxの購入ページで関連するユーザーに表示されます。
宣伝されたパスは:
- 売り切れまたは販売中である可能性があります。販売中の場合、Robuxの値は49 Robuxより大きく、801 Robuxより小さくなければなりません。
- サムネイルを含む必要があります。
- 有料ランダムアイテムを付与できません。
- コミュニティ基準に準拠する必要があります。
パス分析
パス分析を使用して、個々のパスの成功を分析し、トレンドを特定し、将来の収益を予測できます。
分析を使用すると:
- 選択した期間にわたるトップパスを表示できます。
- 上位8アイテムを時間系列のグラフで表示し、全体的な販売と純収益を分析できます。
- カタログを監視し、販売と純収益でアイテムを並べ替えられます。
- Robuxの購入ページでユーザーが取得したパスの数を確認できます。
- Robuxの購入ページを通じてパスを取得した後にゲームに参加したユーザーの数を確認できます。
パス分析にアクセスするには:
- Creationsに移動し、ゲームを選択します。
- マネタイズ ⟩ パスに移動します。
- 分析タブを選択します。
