Do you have Steam's video tutorial?



  • I changed appid from my appid to AppId_t.Invalid

    //steammanager.cs
    if (SteamAPI.RestartAppIfNecessary(AppId_t.Invalid))

    The program will not quit at this time

    But the display value of the store is still $0.01, and the description is still 'FAKE DESCRIPTION'.



  • You can find the crash log in the application folder, where the executable is. It should contain a subfolder with the date and time the crash occured, as well as a output_log.txt file that contains Unity debug messages.

    • did you login with Steam using your Steam developer account (not private account), added your build to the library and run it from there?
    • if the game starts, are you able to open the Steam overlay (shift+tab)?
    • is the correct game name displayed there?
    • did you create products in the Steamworks backend?
    • did you then add these product identifiers in our IAP Settings editor, under platform overrides for Steam?

    If a connection cannot be made to Steam for whatever reason, or if you have any issues with your setup, Unity IAP will still display fake data.



  • I've gone through the whole process of steam and downloaded my uploaded game from steam using the developer's account, and run it from steam, but the problem still exists.

    The corresponding ID is also set in SteamManager. cs. All the settings are done according to your instructions.

    What to do next?



  • I found an error in SimpleIAP. In the login scenario you provided, there is a prefabrication of IAPManager. At the bottom of the prefabrication, there is a script error of Receipt Validator Service that cannot be loaded. The prompt message is "no monobehaviour scripts in the file or their names do not match the file name".
    I don't know if it's because of this problem?



  • Your import seems to be faulty. Try selecting the ReceiptValidatorService script in the project and right click > Reimport. It should get loaded correctly then, please check.

    Have you debugged the application yet? What is the log showing on app launch? What happens when trying to buy a product?



  • My game has been tested in Steam. Its name is "新巨商". Just wait for this payment function.



  • UnityIAP: Promo interface is available for 3 items
    UnityEngine.SetupCoroutine:InvokeMoveNext(IEnumerator, IntPtr)

    Got PlayFabID: xxxx(existing account)
    UnityEngine.Debug:Log(Object)



  • @Baroni said in Do you have Steam's video tutorial?:

    What happens when trying to buy a product
    Click on the purchase to get the gold coin directly without any payment prompt, but there is no actual payment.



  • I'm working on the video, please have a little bit more patience. I expect to upload it tomorrow night.



  • I have finished uploading the video. Please take a look at the full process:

    https://youtu.be/HcRbyO0yGCU

    I didn't go into every detail on how to create groups, builds etc. on Steam as that is out of scope, but you will see how it needs to be set up in order to function. Hopefully this is sufficient.

    When creating the video, I noticed that product identifiers under "Platform Overrides" do not work correctly for Steam. The product identifiers actually need to be global, as seen in the video, not under platform overrides. This is something I am investigating and fixing for the next update.

    Thanks again for your patience on this. Please let me know if the video is of any help.



  • Do you need to set up the definition of items in step by yourself? Simple IAP does not support exporting to Steam format?



  • I upgraded SIS to 4.3, and there were still JSON errors before, and three more after fixing them.

    Assets\SimpleIAPSystem\Scripts\IAPManager.cs(125,53): error CS0246: The type or namespace name 'ReceiptValidatorService' could not be found (are you missing a using directive or an assembly reference?)

    Assets\SimpleIAPSystem\Scripts\IAPManager.cs(189,17): error CS0246: The type or namespace name 'PlayfabStore' could not be found (are you missing a using directive or an assembly reference?)

    Assets\SimpleIAPSystem\Scripts\IAPManager.cs(394,21): error CS0246: The type or namespace name 'PlayfabStore' could not be found (are you missing a using directive or an assembly reference?)

    my project can not build now....



  • SIS can export to PlayFab JSON format only. Steam uses a completely different product format so our format cannot be used there.

    The classes mentioned in your errors are included in the base package - they should be there. Have you searched for them in your project, maybe you've deleted them by accident? If they do exist, try a reimport/recompile or check why they otherwise do not compile.



  • I went back to 4.2.1 and the three errors disappeared.



  • All script files exist, but are blocked by #IF SIS



  • You didn't do the Plugin Setup again then as required and mentioned in the upgrade notes.



    1. I use SIS 4.2.1

    2. The latest developments, the name, price and description of the goods in the game show normal, but the "payment declined" is displayed after clicking the button.

    3. The value of "steam store" cannot be set in "IAP set - > platform override". Once set, an error will be reported. "IAPManager. cs" 183 lines "Unity Purchasing. Initialize (this, builder);"

    Error Content: "xxx" has been set, no value can be filled in, only blank.



    1. and 3. are caused by the same issue. I mentioned above that you should not use Platform Overrides currently.


  • okay!
    I'll do it again according to your tutorial! Thank you!



  • Sure! Let me know the end result.


Log in to reply