After updating to the newest IAP we are starting to see an issue with initializing IAP.
When we build for Gameroom it fails at StandardPurchasingModule.Instance() with the following print out:
UnityIAP FB: Facebook already Initialized, checking…
UnityIAP FB: Init OK
UnityIAP FB: AppId [ID]
UnityIAP FB: already logged in
UnityIAP FB: token UserId [ID]
UnityIAP FB: token ExpirationTime 8/28/2017 4:31:05 PM
Unable to Initalize IAP Object reference not set to an instance of an object
at UnityEngine.Purchasing.FacebookStoreBindings.RetrieveProducts (System.String json) [0x00000] in :0
at UnityEngine.Purchasing.FacebookStoreBindings.InitComplete () [0x00000] in :0
at UnityEngine.Purchasing.FacebookStoreBindings.Init () [0x00000] in :0
at UnityEngine.Purchasing.FacebookStoreImpl.SetNativeStore (INativeFacebookStore facebook) [0x00000] in :0
at UnityEngine.Purchasing.StandardPurchasingModule.InstantiateFacebook () [0x00000] in :0
at UnityEngine.Purchasing.StandardPurchasingModule.InstantiateStore () [0x00000] in :0
at UnityEngine.Purchasing.StandardPurchasingModule.Configure () [0x00000] in :0
at UnityEngine.Purchasing.Extension.AbstractPurchasingModule.Configure (IPurchasingBinder binder) [0x00009] in C:\buildslave\unity\build\Extensions\UnityPurchasing\Runtime\Purchasing\Extension\AbstractPurchasingModule.cs:17
at UnityEngine.Purchasing.PurchasingFactory…ctor (IPurchasingModule first, UnityEngine.Purchasing.Extension.IPurchasingModule[ ] remainingModules) [0x0001f] in C:\buildslave\unity\build\Extensions\UnityPurchasing\Runtime\Purchasing\PurchasingFactory.cs:18
at UnityEngine.Purchasing.ConfigurationBuilder.Instance (IPurchasingModule first, UnityEngine.Purchasing.Extension.IPurchasingModule[ ] rest) [0x00003] in C:\buildslave\unity\build\Extensions\UnityPurchasing\Runtime\Purchasing\ConfigurationBuilder.cs:89
We thought we would give just a regular standalone build a try and it got past StandardPurchasingModule.Instance() and was able to print out one of the Products ID set:
Adding Product : default1
|MacAppStore → default1
|MoolahAppStore → default1
|SamsungApps → default1
|WinRT → default1
|TizenStore → default1
|AppleAppStore → default1
|GooglePlay → default1
|AmazonApps → default1
|FacebookStore → default1
But then it fails when trying to add the Ids to the builder:
Argument cannot be null.
Parameter name: key
at System.Collections.Generic.Dictionary`2[System.String,System.String].ContainsKey (System.String key) [0x00099] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:474
at UnityEngine.Purchasing.IDs.SpecificIDForStore (System.String store, System.String defaultValue) [0x00008] in C:\buildslave\unity\build\Extensions\UnityPurchasing\Runtime\Purchasing\ConfigurationBuilder.cs:41
at UnityEngine.Purchasing.ConfigurationBuilder.AddProduct (System.String id, ProductType type, UnityEngine.Purchasing.IDs storeIDs) [0x00016] in C:\buildslave\unity\build\Extensions\UnityPurchasing\Runtime\Purchasing\ConfigurationBuilder.cs:103
Any Ideas what could be the issue?