Frequently Asked Questions
Baroni last edited by Baroni
#1 The debug log or popup on the device says that billing is not supported/item could not be found/authentication is required.
One reason could be that your bundle identifier in Unity does not match with the one on the App Store. For Google Play, your developer key must be entered in the IAPManager prefab and your app has to be published as alpha/beta build (takes up to 24 hours). Also you must be logged in as a test user on the device (test account added in Google Play/iTunes). Please see our dedicated platform guides for more information.
#2 I’m getting an "This version of the application is not configured for billing" error.
In addition to #1, on Google Play your AndroidManifest file in Unity must contain the permissions and activities needed for your billing plugin to work. Please refer to your billing plugin manual about which activities are required. If you are using Unity IAP, this is done automatically. After that, you have to upload your build APK with the correct bundle version/code to Google Play.
#3 The Shop Manager says that it could not find the IAPManager prefab.
Please start from the very first scene of your game, where the IAP Manager prefab is located.
#4 Can I have both IAPManager and ShopManager in the same scene?
If there is only scene in your project - yes. Otherwise the IAPManager prefab should go into the first (e.g. loading) scene, and the ShopManager prefab in your shop (e.g. main) scene.
#5 Where do I set up the IAPItem prefabs and parent containers in my shop?
The connection between IAPItem prefabs and where they get instantiated - as childs of the containers - is saved in the ShopManager prefab on a per-scene basis. If you open the IAP Settings editor without ShopManager prefab in your current scene, you won't be able to see these properties. Add a ShopManager prefab to your scene and reopen the IAP Settings editor to reveal them.
#6 My shop items do not show up.
Make sure that your prefabs and parents are assigned in the IAP Settings editor (Window > Simple IAP System > IAP Settings). Also, SIS can't receive the product list if there are errors in your billing setup. See #1 and #2 for reference.
#7 My shop items are duplicated.
Make sure that the IAPManager prefab is only placed in the first scene of your app and that you start your game from there.
#8 I want to reset my non-consumable purchases, so I can start testing the same products again.
You can use the "Clear Database" button (or its code) from the „AllSelection‟ sample scene to wipe the product database. If you repurchase the product now, a "product already owned" message will show up - this is totally fine and will behave like a new purchase! Optionally on Google Play, you can cancel the purchase in the Order Management section as described in this thread and wait for a refresh (few hours) or clear both the cache of your Google Play app and Google Play services on the device manually.
#9 How do I customize and modify visual elements of an IAPItem UI prefab?
IAPItem prefabs consist of various Unity UI elements. You can find manuals and tutorials on the official site. Drag the prefab under a Canvas gameobject in the scene (create one if necessary), make your changes and apply them.
#10 I want to have the same size for shop items on all devices, regardless of the screen resolution.
In Simple IAP System, UI elements are using pixel-perfect textures for best readability. You are looking for Unity's Canvas Scaler component (Scale With Screen Size). Attach it to your canvas in the shop scene. If you're using one of the sample shop scenes, find all UIPanelStretch components on the Container gameobjects and set both "Max Cell Size X/Y" to 0.
#11 The title/description/price is different in Unity or gets overwritten when I launch the app on a device.
For in-app purchases, your offline price gets overwritten with the localized app store price after initialization. Uncheck "Fetch" in the IAP Settings editor if you don't want to use the localized price (not recommended, because players should see prices in their local currency).
#12 Can I create my own button to purchase products and not use item prefabs?
Sure. You can write a short script for your button which calls SIS.IAPManager.PurchaseProduct(string productId) directly.
#13 What's the best way to upgrade to a new version of Simple IAP System?
When you upgrade to a new version, you probably want to keep your IAPManager prefab (saves products in the IAP Settings editor) and the IAPListener script (your product callbacks). If you've used the ReceiptValidatorClient script and uncommented its contents, keep it in mind too. On the import prompt, uncheck all of them and overwrite the rest. Afterwards, double check that your settings in the plugin setup window (Window > Simple IAP System > Plugin Setup) are still valid.