Is the Unity IAP Store package 1.16.0 broken for IL2CPP Android builds?

Building for Android using IL2CPP on .NET 4.6, the initialization line (StandardPurchasingModule.Instance()) throws an exception:

with stack trace:

System.Diagnostics.DefaultTraceListener.WriteImpl (System.String message)
System.Diagnostics.DefaultTraceListener.WriteLine (System.String message)
System.Diagnostics.TraceInternal.WriteLine (System.String message)
UnityEngine.Purchasing.StandardPurchasingModule.Instance (UnityEngine.Purchasing.AppStore androidStore)

The same code had no problem in 1.15.0.
Using version 1.16.0, there is no problem in the Editor nor at building, the problem arises only at runtime.

The issue seems to be related to this entry in the 1.16.0 release note :

Is this by design and IAP will no longer support Il2CPP on Android, or simply a bug?

Similar issue also happens in WSA build using ILCPP. Working fine with version 1.15

I ran into this problem as well with v1.16.0 and submitted a bug report (case 1002547).

Unity’s response was:

This is a ship stopping bug for us so we’ve had to roll back to v1.15.0 until they fix the issue.

@BZH314 , @Imre , @ScottyB

Thanks for reporting this issue. We are hoping to have this fixed an upcoming version.

@ap-unity @nicholasr
Is it fixed in 1.17.0?
There is no mention of it in the 1.17.0 release note .
Thanks.

@ap-unity @nicholasr @JeffDUnity3D @laurenfr
Is it fixed in 1.18.0?
Thanks.

This was indeed addressed in IAP 1.17 and should no longer be occurring.

Thanks @JeffDUnity3D , your help in the forums is really appreciated.

In order to roughly gauge the reliability of future IAP releases (at least between two extremes: “Can install fairly confidently” and “Run your own regression tests at every upgrade”), is Unity running an automated regression test harness?

  • If no, is there any plan to? In what time frame?
  • If yes, was this test added?

It seems this bug might be a perfect example that can be avoided by automated regression testing:

  • install the new version
  • initialize it with StandardPurchasingModule.Instance()
  • check for crashes, exceptions, failure to initialize, …

This bug has shaken our confidence in IAP releases, and a little insight in your process could help either restore it, or help guide our own process.

Thank you.

Yes, we do regression and QA testing to the degree that our current resources and priorities allow. We hope to add additional resources in the near future.