Missing IAP items



  • Hi,

    I added SIS to my new game, the game has 2 products and the 3rd is the 'restore' button. When I try the shop on the Unity editor everything is ok. I have added the products on the Google Play Console/App Store and the fetch is enabled. Unity IAP status is Service Enabled OK, Plugin Imported OK and Package Imported OK.

    But when I uploaded the game to Google Play the game only shows 1 product and the Restore button. Right now I'm making iOS version and when I build the game on the device it has the same issue.

    I noticed that the Unity console reads:

    UnityIAP Version: 1.22.0
    Using configuration builder objects
    UnityIAP: Promo interface is available for 2 items

    I have no idea what this means, but could that have something to do with the problem?

    I tried downloading the latest version of SIS on the Asset Store and I'm not really sure what is causing this. Do you have any clue?



  • Thanks for registering.

    • Are there any suspicious logs showing up in the device log (with development build enabled)?
    • If the item is not getting instantiated in the shop at all, could you put at Debug.Log in the instantiation method in the ShopManager?

    UnityIAP Version: 1.22.0
    Using configuration builder objects
    UnityIAP: Promo interface is available for 2 items

    This means that your app is receiving information from the App Store for 2 products, which would be fine - the restore product is not requested. However, in the Unity editor this log doesn't really tell anything.



  • Hi Baroni,

    I added new UI text field on the layout and added this line to the ShopManager and then build it:

    newItem.name = "IAPItem " + string.Format("{0:000}", index + j);
    Debug.text += "Instantiated " + newItem.name + "\n";

    When I run the game on Unity editor it reads:

    Instantiated IAPItem 000
    Instantiated IAPItem 001
    Instantiated IAPItem 002

    But on my device it says:

    Instantiated IAPItem 000
    Instantiated IAPItem 001

    I also send the build to App Store and they had to reject the game because they didn't find the other IAP item.

    I haven't used the development build before and not sure how it works. I know there are some assets available that can show the Console Debug Log when you run the game on the device.

    Next, I'm thinking of adding a 3rd IAP product and see if it shows.



  • This is strange. I added a 3rd IAP item. And it shows on the device. But the one IAP item is still missing.

    I added the same item with different name and identifier and now it shows on the device.

    I try to delete the item that is not working and replace it with the new one.



  • I would definitely recommend looking into how to debug a device - you will not come far without doing that. If any errors occur on the device, you need to check them.



  • @Baroni said in Missing IAP items:

    I would definitely recommend looking into how to debug a device - you will not come far without doing that. If any errors occur on the device, you need to check them.

    Yes, you're right. When you debug a device do you connect it to the PC with USB and see messages on your device? Or do you read some log afterward?

    I got the game working on Google Play now and one customer just bought first IAP from the game.

    Now I'm trying the same for the iOS version. I have deleted the original IAP item and replaced it with a new one, with new identifier. It already shows on my iPad as I build it, so I think it works. Only Apple can tell.

    My theory is that when I imported SIS, I have just renamed the first existing IAP Settings field instead of tapping the "Create Product" button. Maybe I renamed "Coins" to "Werewolf" etc. I'm not sure but could that make any sense? Maybe in the SIS database, the field was still "Coins" or something and that broke the system.



  • Renaming product identifiers while testing, without clearing the internal database Simple IAP System creates (e.g. by uninstalling+reinstalling the app, or deleting all PlayerPrefs via a button) could cause initialization issues. Not sure what exactly happened in your case though.

    Regarding debugging - yes, usually you connect the device to the PC via USB (there are wifi apps too) for reading the logs at runtime as they happen. In our Google Play and App Store guides on this forum, there is a post at the very end of them explaining this.

    Glad you got it working in the end!



  • Hi,

    I don't know how I got this so broken this time. I have used SIS for years, but it's been a while since I installed it to a game. It works on Google but not yet on Apple.

    Apple sent this message to me:

    *Your app failed to complete an in-app purchase.

    When validating receipts on your server, your server needs to be able to handle a production-signed app getting its receipts from Apple’s test environment. The recommended approach is for your production server to always validate receipts against the production App Store first. If validation fails with the error code "Sandbox receipt used in production," you should validate against the test environment instead.*

    I made account sandbox test account before this, but for some reason when I entered it to my iPad ( https://www.rebound-games.com/forum/topic/1744/guide-ios-app-store/2 > Testing IAPs on your device ) it said that the account is not accepted. I need to get that working, maybe try to make another test account.

    Maybe xCode log also will give some answers.


Log in to reply