[Closed]Why fail Initialize with NoProductsAvailable when FetchAdditionalProducts can be used later?

Why does Initialize fail with NoProductsAvailable when I should be able to use FetchAdditionalProducts to get my products later.

In order to fit it with my existing IAP code I want to do init and fetch as separate operations. This seems simple.

(1) First call Initialize without adding any products to the builder.
(2) Later call FetchAdditionalProducts to get all my products.

But no, Initialize fails with NoProductsAvailable. Why don’t you want to allow this flow?

It was just a flow we didn’t originally consider. FetchAdditionalProducts was added later, so it wasn’t possible to add products after Initialization in the first version of the IAP plugin.

Currently, at least one product is required for Initialization to be successful.

But I think it does make sense to allow for the flow you described. You should consider adding it to our Feedback Request page:
https://feedback.unity3d.com/forums/unity/suggestions?category=analytics

Done.

https://feedback.unity3d.com/suggestions/allow-iap-system-to-initialise-without-adding-products-to-builder