How do we track sales if the player wasn’t in-game while making the purchase? Does it just fire the backend PurchaseComplete callback or does it call something else similar when the player joins the game after they’ve purchased a DeveloperProduct on the website?
Is there any way to reorder the devproducts?
I think so, that’s the whole point of a DeveloperProduct is to have unlimited sales per-player on it.
Love the surprise, going to try this out and see if the increased recognition has any impact on sales, thanks for releasing it!
minor nitpick: spotted a typo on the settings page underneath Test Mode:
Reorder as in change the order in which they’re shown.
I know badges don’t have this so that’s why I doubt this has it.
There’s typos everywhere on their documentation pages, I’ve seen mistakes in their code on the official documentation as well. I am honestly surprised roblox doesn’t double check their documentation pages before releasing them.
Is there/will there be a way to test this without having any Robux?
(yes I have 0 Robux)
When will AdReward
be implemented? That will definitely be… very controversial to say the least, but I’d be interested in that.
ProcessReceipt
works like this:
- You purchase the product
- ProcessReceipt tries to run its code
- Either…
a. The code is successful
b. The code is not successful, and it tries again when the player joins/rejoins
So, when you purchase on the site, it probably skips to 3b, which means it will try again when the player joins.
so processreceipt will fire when the player joins if the player bought the product outside the experience or from the experience details page ?
You can just check if your game fired a promptpurchase in game. I have it where the prompts get fired server sided so I’m tracking all active prompts. This way you know who cancels with no purchase or in your case, who purchased the product in game!
This is a very cool update, I think it will be easier for players to interact with products now that they can buy outside the game.
There’s two different things at play here: Blocking loading and async loading.
If your game just has a lot raw lines of code worth of execution to run through at init, that’s fine, because the server isn’t doing anything else while it’s blocked churning through script execution. That’s the blocking load.
There’s also the async loading. Making web requests, doing InsertAsset on dynamically loaded parts of the hierarchy, etc. Once you start doing that stuff the engine is not going to be able to tell the difference between that and normal gameplay, and it’s going to start doing stuff, like processing receipts.
If you do your loading like this:
(System A blocking + System A async) then (System B blocking + system B async) ...
You will inevitably run into issues (this, long load time, etc). Vs if you do things like this:
(System A + system B + ... blocking) then (System A + System B + ... async)
You will not have any issue. For example, because you can put your ProcessReceipt
callback setup into the blocking part before the server starts doing other work.
Thank god for the test mode, because my code actually did not work when purchased from the website. That resulted in the product being awarded, but PurchaseGranted was not returned, so you could duplicate the product by rejoining.
Having to buy your own product is kinda silly though.
Currently I think I broke something, since the option to enable the feature is not greyed out, but the products are not visible in the store:
I enabled test mode, purchased a product, saw it didnt work, disabled test mode, fixed it, enabled it again, actually got the product, and that happened.
Pretty convoluted, I know. Will just have to do the test again I suppose?
An update that somebody asked for!? Thank you Roblox!
Can you make it possible to view previously purchased products in your inventory and the amount of times that you’ve purchased them? (1x, 2x, etc.)
Can we also have the ability to only sell gamepasses in-game, if possible?
If that’s the case, please send feedback or edit these pages yourself to fix the typo, that way you can improve the documentation for everyone!
Just to confirm, enabling test mode won’t cause any issues for players who join while test mode is enabled, right? Main concern is purchases falsely being granted to players that join while test mode is active?
Is there a reason “Test Mode” doesn’t made the products free, like they would if you were buying a product in run mode in roblox studio?
Edit: Sorry I didn’t mean to reply to the message above.
Retook the test like 3 times and the products still dont appear for other people. Weird.