Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice
  4. Dismiss Notice

IAP return PurchaseFailureReason Unknown. Android (Google Play)

Discussion in 'Unity IAP' started by MaxAskeza, Jan 8, 2021.

Thread Status:
Not open for further replies.
  1. MaxAskeza

    MaxAskeza

    Joined:
    Jul 11, 2018
    Posts:
    11
    Hello!
    I have resently release my game in Google Play and now I trying to use IAP 2.2.1 codelsess system.
    After pressing "Buy premium" button Google Play successfuly gets all the test or even real payments, and remember, that player gets this non-consumeble product...
    But, at the same time unity IAP get PurchaseFailureReason Unknown.
    Good thing - I was only one person who buy premium for real money just for test. Temporary I disable product that is used in released game in GP console. Now I use the same non-consumeble "cheep_premium" at the test build, so users can't lose they money without getting product.

    Please, help me to solve this problem!

    There is stripped adb logcat:
    Code (CSharp):
    1. 01-08 11:37:34.480 16710 16728 I Unity   : Initializing UnityPurchasing via Codeless IAP
    2. 01-08 11:37:34.480 16710 16728 I Unity   : UnityEngine.Logger:Log(LogType, Object)
    3. 01-08 11:37:34.480 16710 16728 I Unity   : UnityEngine.Purchasing.CodelessIAPStoreListener:CreateCodelessIAPStoreListenerInstance()
    4. 01-08 11:37:34.480 16710 16728 I Unity   : UnityEngine.Purchasing.CodelessIAPStoreListener:get_Instance()
    5. 01-08 11:37:34.480 16710 16728 I Unity   : UnityEngine.Purchasing.IAPListener:OnEnable()
    6. 01-08 11:37:34.480 16710 16728 I Unity   :
    7. 01-08 11:37:34.480 16710 16728 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    8. 01-08 11:37:34.480 16710 16728 I Unity   :
    9. 01-08 11:37:34.514 16710 16728 I Unity   : UnityIAP Version: 2.2.5
    10. 01-08 11:37:34.514 16710 16728 I Unity   : UnityEngine.Logger:Log(Object)
    11. 01-08 11:37:34.514 16710 16728 I Unity   : UnityEngine.Purchasing.StandardPurchasingModule:Instance(AppStore)
    12. 01-08 11:37:34.514 16710 16728 I Unity   : UnityEngine.Purchasing.CodelessIAPStoreListener:InitializePurchasing()
    13. 01-08 11:37:34.514 16710 16728 I Unity   : UnityEngine.Purchasing.CodelessIAPStoreListener:get_Instance()
    14. 01-08 11:37:34.514 16710 16728 I Unity   : UnityEngine.Purchasing.IAPListener:OnEnable()
    15. 01-08 11:37:34.514 16710 16728 I Unity   :
    16. 01-08 11:37:34.514 16710 16728 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    17. 01-08 11:37:34.514 16710 16728 I Unity   :
    18. 01-08 11:37:36.834   439   484 I BufferQueueProducer: [SurfaceView - com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xacbea000,id:1353,api:1,p:16710,c:439) queueBuffer: fps=8.83 dur=2832.20 max=2226.76 min=16.17
    19. 01-08 11:37:36.865 16710 16728 W Unity   : Unavailable product get_premium -get_premium
    20. 01-08 11:37:36.865 16710 16728 W Unity   : UnityEngine.Logger:LogFormat(LogType, String, Object[])
    21. 01-08 11:37:36.865 16710 16728 W Unity   : UnityEngine.Purchasing.PurchasingManager:CheckForInitialization()
    22. 01-08 11:37:36.865 16710 16728 W Unity   : UnityEngine.Purchasing.PurchasingManager:OnProductsRetrieved(List`1)
    23. 01-08 11:37:36.865 16710 16728 W Unity   : System.Action:Invoke()
    24. 01-08 11:37:36.865 16710 16728 W Unity   : UnityEngine.Purchasing.Extension.UnityUtil:Update()
    25. 01-08 11:37:36.865 16710 16728 W Unity   :
    26. 01-08 11:37:36.865 16710 16728 W Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    27. 01-08 11:37:36.865 16710 16728 W Unity   :
    28. 01-08 11:37:37.835   439   484 I BufferQueueProducer: [SurfaceView - com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xacbea000,id:1353,api:1,p:16710,c:439) queueBuffer: fps=60.94 dur=1000.94 max=40.48 min=5.57
    29. 01-08 11:37:38.845   439   484 I BufferQueueProducer: [SurfaceView - com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xacbea000,id:1353,api:1,p:16710,c:439) queueBuffer: fps=60.41 dur=1009.70 max=18.56 min=14.60
    30. 01-08 11:37:39.009 16710 16728 I Unity   : IAPButton.PurchaseProduct() with product ID: cheep_premium
    31. 01-08 11:37:39.009 16710 16728 I Unity   : UnityEngine.Logger:Log(LogType, Object)
    32. 01-08 11:37:39.009 16710 16728 I Unity   : UnityEngine.Purchasing.IAPButton:PurchaseProduct()
    33. 01-08 11:37:39.009 16710 16728 I Unity   : UnityEngine.Events.UnityAction:Invoke()
    34. 01-08 11:37:39.009 16710 16728 I Unity   : UnityEngine.Events.UnityEvent:Invoke()
    35. 01-08 11:37:39.009 16710 16728 I Unity   : UnityEngine.EventSystems.EventFunction`1:Invoke(T1, BaseEventData)
    36. 01-08 11:37:39.009 16710 16728 I Unity   : UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
    37. 01-08 11:37:39.009 16710 16728 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchPress(PointerEventData, Boolean, Boolean)
    38. 01-08 11:37:39.009 16710 16728 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchEvents()
    39. 01-08 11:37:39.009 16710 16728 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:Process()
    40. 01-08 11:37:39.009 16710 16728 I Unity   :
    41. 01-08 11:37:39.009 16710 16728 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    42. 01-08 11:37:39.009 16710 16728 I Unity   :
    43. 01-08 11:37:39.019 16710 16728 I Unity   : purchase({0}): cheep_premium
    44. 01-08 11:37:39.019 16710 16728 I Unity   : UnityEngine.Logger:Log(String, Object)
    45. 01-08 11:37:39.019 16710 16728 I Unity   : UnityEngine.Purchasing.CodelessIAPStoreListener:InitiatePurchase(String)
    46. 01-08 11:37:39.019 16710 16728 I Unity   : UnityEngine.Events.UnityAction:Invoke()
    47. 01-08 11:37:39.019 16710 16728 I Unity   : UnityEngine.Events.UnityEvent:Invoke()
    48. 01-08 11:37:39.019 16710 16728 I Unity   : UnityEngine.EventSystems.EventFunction`1:Invoke(T1, BaseEventData)
    49. 01-08 11:37:39.019 16710 16728 I Unity   : UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
    50. 01-08 11:37:39.019 16710 16728 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchPress(PointerEventData, Boolean, Boolean)
    51. 01-08 11:37:39.019 16710 16728 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchEvents()
    52. 01-08 11:37:39.019 16710 16728 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:Process()
    53. 01-08 11:37:39.019 16710 16728 I Unity   :
    54. 01-08 11:37:39.019 16710 16728 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    55. 01-08 11:37:39.019 16710 16728 I Unity   :
    56.  
    57.  
    58. 01-08 11:37:46.638 16710 16728 I Unity   : onPurchaseFailedEvent({0}): cheep_premium
    59. 01-08 11:37:46.638 16710 16728 I Unity   : UnityEngine.Logger:Log(String, Object)
    60. 01-08 11:37:46.638 16710 16728 I Unity   : UnityEngine.Purchasing.PurchasingManager:OnPurchaseFailed(PurchaseFailureDescription)
    61. 01-08 11:37:46.638 16710 16728 I Unity   : System.Action:Invoke()
    62. 01-08 11:37:46.638 16710 16728 I Unity   : UnityEngine.Purchasing.Extension.UnityUtil:Update()
    63. 01-08 11:37:46.638 16710 16728 I Unity   :
    64. 01-08 11:37:46.638 16710 16728 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    65. 01-08 11:37:46.638 16710 16728 I Unity   :
    66. 01-08 11:37:46.650 16710 16728 I Unity   : IAPButton.OnPurchaseFailed(Product UnityEngine.Purchasing.Product, PurchaseFailureReason Unknown)
    67. 01-08 11:37:46.650 16710 16728 I Unity   : UnityEngine.Logger:Log(LogType, Object)
    68. 01-08 11:37:46.650 16710 16728 I Unity   : UnityEngine.Purchasing.IAPButton:OnPurchaseFailed(Product, PurchaseFailureReason)
    69. 01-08 11:37:46.650 16710 16728 I Unity   : UnityEngine.Purchasing.CodelessIAPStoreListener:OnPurchaseFailed(Product, PurchaseFailureReason)
    70. 01-08 11:37:46.650 16710 16728 I Unity   : System.Action:Invoke()
    71. 01-08 11:37:46.650 16710 16728 I Unity   : UnityEngine.Purchasing.Extension.UnityUtil:Update()
    72. 01-08 11:37:46.650 16710 16728 I Unity   :
    73. 01-08 11:37:46.650 16710 16728 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    74. 01-08 11:37:46.650 16710 16728 I Unity   :
    75. 01-08 11:37:46.656 16710 16728 I Unity   : IAPListener.OnPurchaseFailed(Product UnityEngine.Purchasing.Product, PurchaseFailureReason Unknown)
    76. 01-08 11:37:46.656 16710 16728 I Unity   : UnityEngine.Logger:Log(LogType, Object)
    77. 01-08 11:37:46.656 16710 16728 I Unity   : UnityEngine.Purchasing.IAPListener:OnPurchaseFailed(Product, PurchaseFailureReason)
    78. 01-08 11:37:46.656 16710 16728 I Unity   : UnityEngine.Purchasing.CodelessIAPStoreListener:OnPurchaseFailed(Product, PurchaseFailureReason)
    79. 01-08 11:37:46.656 16710 16728 I Unity   : System.Action:Invoke()
    80. 01-08 11:37:46.656 16710 16728 I Unity   : UnityEngine.Purchasing.Extension.UnityUtil:Update()
     
  2. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    Please use IAP 2.2.5 and In App Purchasing library 2.2.1 in Package Manager.
     
    MaxAskeza likes this.
  3. MaxAskeza

    MaxAskeza

    Joined:
    Jul 11, 2018
    Posts:
    11
    Thank you, for quick answer, but, unfortunly, I already use this IAP versions:


    I try to reload and reimport both IAP, and rebuild my app, but it give the same result - PurchaseFailureReason Unknown.
     
  4. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
  5. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    Also, you would not want to use the OnPurchaseFailed callback for your On Purchase Failed method. If this is your own method, then it's probably OK, but it matches a built-in method name. I doubt it would be related to your original Unknown error though. By the way, thanks for the screenshots, a good description and the log files. It makes it much easier to troubleshoot!
     
    Last edited: Jan 8, 2021
  6. MaxAskeza

    MaxAskeza

    Joined:
    Jul 11, 2018
    Posts:
    11
    Yes. First time I'm release app as beta test, and download it as tester. Unfortunly I was focused on other things and wasn't test IAP system as well, as I should.
    Now I already make productive release and find out, that Google Play confirm both of test and real payments, but IAP return PurchaseFailureReason Unknown, so Player don't get his product "Premium".

    There is info frome GP console:


    And there is info from Unity Dashboard:


    I use same version of app, that was in productive release on my local machine (1.07), and same package name ofc. Do I realy need to create new beta release to continue testing?

    I will try to create new beta release soon, but, I think something else is wrong.
     
  7. MaxAskeza

    MaxAskeza

    Joined:
    Jul 11, 2018
    Posts:
    11
    And thanks for your time too.
    I use my own build-in log displayed in game:
    Code (CSharp):
    1.  public void OnPurchaseFailed(Product product, PurchaseFailureReason reason)
    2.     {
    3.         LogPrint("Purchase was failed! " + reason.ToString());
    4.     }
    But I also trying to run app without OnPurchaseFailed method, and problem was the same.
     
  8. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    Make sure to follow the documentation that I referred to earlier and ensure your "cheep_premium" product is available for purchase on your Google dashboard (and spelled the same way!) and there are no other warnings in your dashboard. What Android device are you testing on?
     
    Last edited: Jan 8, 2021
  9. MaxAskeza

    MaxAskeza

    Joined:
    Jul 11, 2018
    Posts:
    11
    The product name is the same in Google play console and IAP - it was copyed and google play recognise it:

    Also, when I was disable this product in GP Console the PurchaseFailureReason was changed to UnavailableProduct what is correct, I gues. Now I activeated pruduct and the failuere reason Unknown againe.
    I test it on few devices:
    - Samsung P600 Galaxy Note 10.1 2014 Edition
    - zte blade a7 2020
    - Huawei P Smart Plus
    Also, I test it on "NoxPlayer" - Android Emulator.

    Everywhere problem is the same.

    Interesting observation:
    1. If I disable product in GP console, PurchaseFailureReason change to UnavailableProduct.
    2. When I was recently buy premium - Google say: 'Ok', and game say: PurchaseFailureReason Unknown.
    After that I try to buy it againe - Google say: 'You already have this product', and game say: PurchaseFailureReason Unknown.
    Hmm, while writing last part, I was sure there is a special failure reason for the case of already purchased product. But, it seems I was wrong and "Unknown" is Ok.
    Code (CSharp):
    1.  public enum PurchaseFailureReason
    2.     {
    3.         PurchasingUnavailable = 0,
    4.         ExistingPurchasePending = 1,
    5.         ProductUnavailable = 2,
    6.         SignatureInvalid = 3,
    7.         UserCancelled = 4,
    8.         PaymentDeclined = 5,
    9.         DuplicateTransaction = 6,
    10.         Unknown = 7
    11.     }
    Don't know if somthing of that can be useful to troubleshoot...

    Also, I created new test release in GP Console to check it on it, but it still on review.
    If nothing of this wouldn't help, then I probably should try to make my own script to initialization and buying products, or just wait for new IAP version.

    Sorry, for my english, bytheway...:)
     
  10. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    We are looking into this
     
  11. MaxAskeza

    MaxAskeza

    Joined:
    Jul 11, 2018
    Posts:
    11
    After another test release was confirmed and I was install new beta-app, there is no changes.

    So, I diside to stop using codeles IAP:
    1. I turn off automatic initialization in IAP catalog:

    2. I write a IAPManager script based on MonoBehaviour and IStoreListener classes similar to example:
    Code (CSharp):
    1. using UnityEngine.Purchasing;
    2. using UnityEngine;
    3.  
    4. public class IAPManager : MonoBehaviour, IStoreListener
    5. {
    6.     private IStoreController m_StoreController;
    7.     private IExtensionProvider m_StoreExtensionProvider;
    8.     public Menu Menu;
    9.  
    10.     void Start()
    11.     {
    12.         if (m_StoreController == null)
    13.         {
    14.             var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
    15.             // Let's add some products:
    16.             builder.AddProduct("cheep_premium", ProductType.NonConsumable);
    17.  
    18.             UnityPurchasing.Initialize(this, builder);
    19.         }
    20.     }
    21.  
    22.     private bool IsInitialized()
    23.     {
    24.         return m_StoreController != null && m_StoreExtensionProvider != null;
    25.     }
    26.  
    27.     public void BuyConsumable()
    28.     {
    29.     }
    30.  
    31.     public void BuyNonConsumable()
    32.     {
    33.         // Only noe product for now:
    34.         BuyProductID("cheep_premium");
    35.     }
    36.  
    37.     public void BuySubscription()
    38.     {
    39.         //BuyProductID("");
    40.     }
    41.  
    42.     public void BuyProductID(string productID)
    43.     {
    44.         if (IsInitialized())
    45.         {
    46.             Product product = m_StoreController.products.WithID(productID);
    47.             if(product != null && product.availableToPurchase)
    48.             {
    49.                 Debug.Log(string.Format("Purchasing product asychronously: '{0}'", product.definition.id));
    50.                 m_StoreController.InitiatePurchase(product);
    51.             }
    52.             else
    53.             {
    54.                 Debug.Log("BuyProductID: FAIL. Not purchasing product, either is not found or is not available for purchase");
    55.             }
    56.         }
    57.     }
    58.  
    59.     public void OnInitialized(IStoreController controller, IExtensionProvider extensions)
    60.     {
    61.         m_StoreController = controller;
    62.         m_StoreExtensionProvider = extensions;
    63.         Menu.LogPrint("IAP Manager: IAP was Initialized");
    64.         Debug.Log("IAP Manager: IAP was Initialized");
    65.     }
    66.  
    67.     public void OnInitializeFailed(InitializationFailureReason error)
    68.     {
    69.         Debug.LogError(error.ToString());
    70.         Menu.LogPrint("IAP Manager: IAP Initialize failed: " + error.ToString());
    71.     }
    72.  
    73.     public void OnPurchaseFailed(Product product, PurchaseFailureReason reason)
    74.     {
    75.         Debug.LogError("IAP Manager: Purchase was failed with reason: " + reason.ToString());
    76.         Menu.LogPrint("IAP Manager: Purchase was failed with reason: " + reason.ToString());
    77.     }
    78.  
    79.     public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs product)
    80.     {
    81.         // Only one product for this game for now.
    82.         Menu.BuyPremium(product.purchasedProduct);
    83.         Menu.LogPrint("IAP Manager: Purchasing complete. Product: \n" + product.ToString());
    84.         Debug.Log("IAP Manager: Purchasing complete. Product: \n" + product.purchasedProduct.metadata.localizedTitle);
    85.  
    86.         return PurchaseProcessingResult.Complete;
    87.     }
    88.  
    89.  
    90.     // Restore purchases previously made by this customer. Some platforms automatically restore purchases, like Google.
    91.     // Apple currently requires explicit purchase restoration for IAP, conditionally displaying a password prompt.
    92.     public void RestorePurchases()
    93.     {
    94.         // If Purchasing has not yet been set up ...
    95.         if (!IsInitialized())
    96.         {
    97.             // ... report the situation and stop restoring. Consider either waiting longer, or retrying initialization.
    98.             Debug.Log("RestorePurchases FAIL. Not initialized.");
    99.             return;
    100.         }
    101.  
    102.         // If we are running on an Apple device ...
    103.         if (Application.platform == RuntimePlatform.IPhonePlayer ||
    104.             Application.platform == RuntimePlatform.OSXPlayer)
    105.         {
    106.             // ... begin restoring purchases
    107.             Debug.Log("RestorePurchases started ...");
    108.  
    109.             // Fetch the Apple store-specific subsystem.
    110.             var apple = m_StoreExtensionProvider.GetExtension<IAppleExtensions>();
    111.             // Begin the asynchronous process of restoring purchases. Expect a confirmation response in
    112.             // the Action<bool> below, and ProcessPurchase if there are previously purchased products to restore.
    113.             apple.RestoreTransactions((result) => {
    114.                 // The first phase of restoration. If no more responses are received on ProcessPurchase then
    115.                 // no purchases are available to be restored.
    116.                 Debug.Log("RestorePurchases continuing: " + result + ". If no further messages, no purchases available to restore.");
    117.             });
    118.         }
    119.         // Otherwise ...
    120.         else
    121.         {
    122.             // We are not running on an Apple device. No work is necessary to restore purchases.
    123.             Debug.Log("RestorePurchases FAIL. Not supported on this platform. Current = " + Application.platform);
    124.         }
    125.     }
    126.  
    127. }
    128.  
    3. I remove IAP Button script from my "Get premium" button and add my function to OnClick listener:


    And... there is still no changes... PurchaseFailureReason Unknown.

    There is updated adb logcat (I was trying to buy premium about 3 times here):
    Code (CSharp):
    1. 01-09 23:36:53.030  4685  4703 I Unity   : UnityIAP Version: 2.2.5
    2. 01-09 23:36:53.030  4685  4703 I Unity   : UnityEngine.Logger:Log(Object)
    3. 01-09 23:36:53.030  4685  4703 I Unity   : UnityEngine.Purchasing.StandardPurchasingModule:Instance(AppStore)
    4. 01-09 23:36:53.030  4685  4703 I Unity   : IAPManager:Start()
    5. 01-09 23:36:53.030  4685  4703 I Unity   :
    6. 01-09 23:36:53.030  4685  4703 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    7. 01-09 23:36:53.030  4685  4703 I Unity   :
    8. 01-09 23:36:54.565   439   484 I BufferQueueProducer: [SurfaceView - com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xaf046000,id:2172,api:1,p:4685,c:439) queueBuffer: fps=6.58 dur=4560.92 max=4017.27 min=16.05
    9. 01-09 23:36:54.571  4685  4703 I Unity   : IAP Manager: IAP was Initialized
    10. 01-09 23:36:54.571  4685  4703 I Unity   : UnityEngine.Logger:Log(LogType, Object)
    11. 01-09 23:36:54.571  4685  4703 I Unity   : UnityEngine.Purchasing.PurchasingManager:CheckForInitialization()
    12. 01-09 23:36:54.571  4685  4703 I Unity   : UnityEngine.Purchasing.PurchasingManager:OnProductsRetrieved(List`1)
    13. 01-09 23:36:54.571  4685  4703 I Unity   : System.Action:Invoke()
    14. 01-09 23:36:54.571  4685  4703 I Unity   : UnityEngine.Purchasing.Extension.UnityUtil:Update()
    15. 01-09 23:36:54.571  4685  4703 I Unity   :
    16. 01-09 23:36:54.571  4685  4703 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    17. 01-09 23:36:54.571  4685  4703 I Unity   :
    18. 01-09 23:37:13.390  4685  4703 I Unity   : Purchasing product asychronously: 'cheep_premium'
    19. 01-09 23:37:13.390  4685  4703 I Unity   : UnityEngine.Logger:Log(LogType, Object)
    20. 01-09 23:37:13.390  4685  4703 I Unity   : IAPManager:BuyProductID(String)
    21. 01-09 23:37:13.390  4685  4703 I Unity   : UnityEngine.Events.UnityAction:Invoke()
    22. 01-09 23:37:13.390  4685  4703 I Unity   : UnityEngine.Events.UnityEvent:Invoke()
    23. 01-09 23:37:13.390  4685  4703 I Unity   : UnityEngine.EventSystems.EventFunction`1:Invoke(T1, BaseEventData)
    24. 01-09 23:37:13.390  4685  4703 I Unity   : UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
    25. 01-09 23:37:13.390  4685  4703 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:processTouchPress(PointerEventData, Boolean, Boolean)
    26. 01-09 23:37:13.390  4685  4703 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:processTouchEvents()
    27. 01-09 23:37:13.390  4685  4703 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:process()
    28. 01-09 23:37:13.390  4685  4703 I Unity   :
    29. 01-09 23:37:13.390  4685  4703 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    30. 01-09 23:37:13.390  4685  4703 I Unity   :
    31. 01-09 23:37:13.399  4685  4703 I Unity   : purchase({0}): cheep_premium
    32. 01-09 23:37:13.399  4685  4703 I Unity   : UnityEngine.Logger:Log(String, Object)
    33. 01-09 23:37:13.399  4685  4703 I Unity   : UnityEngine.Events.UnityAction:Invoke()
    34. 01-09 23:37:13.399  4685  4703 I Unity   : UnityEngine.Events.UnityEvent:Invoke()
    35. 01-09 23:37:13.399  4685  4703 I Unity   : UnityEngine.EventSystems.EventFunction`1:Invoke(T1, BaseEventData)
    36. 01-09 23:37:13.399  4685  4703 I Unity   : UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
    37. 01-09 23:37:13.399  4685  4703 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:processTouchPress(PointerEventData, Boolean, Boolean)
    38. 01-09 23:37:13.399  4685  4703 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:processTouchEvents()
    39. 01-09 23:37:13.399  4685  4703 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:process()
    40. 01-09 23:37:13.399  4685  4703 I Unity   :
    41. 01-09 23:37:13.399  4685  4703 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    42. 01-09 23:37:13.399  4685  4703 I Unity   :
    43. 01-09 23:37:13.608  1004  1028 I WindowManager: Focus moving from Window{9495e07 u0 com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity} to null
    44. 01-09 23:37:13.990   439   663 I BufferQueueProducer: [com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xac77c000,id:2171,api:2,p:4685,c:439) queueBuffer: fps=0.04 dur=27951.01 max=27951.01 min=27951.01
    45. 01-09 23:37:14.996   439   484 I BufferQueueProducer: [com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xac77c000,id:2171,api:2,p:4685,c:439) queueBuffer: fps=16.90 dur=1005.99 max=601.93 min=13.42
    46. 01-09 23:37:21.402  1004  8272 D WindowManager: Input focus has changed to Window{9495e07 u0 com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity}
    47. 01-09 23:37:21.404   433   466 I vendor.mediatek.hardware.power@2.0-impl: notifyAppState pack:com.MaxAskeza.PuzzleEduBoard, act:com.unity3d.player.UnityPlayerActivity, pid:4685, state:1
    48. 01-09 23:37:21.405  1004  1028 I WindowManager: Focus moving from null to Window{9495e07 u0 com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity}
    49. 01-09 23:37:21.436   439  1081 I BufferQueueProducer: [com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xac77c000,id:2171,api:2,p:4685,c:439) queueBuffer: fps=2.79 dur=6440.43 max=6168.64 min=9.14
    50. 01-09 23:37:21.498  4685  4703 I Unity   : onPurchaseFailedEvent({0}): productId:cheep_premium message:purchaseState is UNSPECIFIED_STATE, no more details exists {M: GPUL.OPO}
    51. 01-09 23:37:21.498  4685  4703 I Unity   : UnityEngine.Logger:Log(String, Object)
    52. 01-09 23:37:21.498  4685  4703 I Unity   : UnityEngine.Purchasing.PurchasingManager:OnPurchaseFailed(PurchaseFailureDescription)
    53. 01-09 23:37:21.498  4685  4703 I Unity   : System.Action:Invoke()
    54. 01-09 23:37:21.498  4685  4703 I Unity   : UnityEngine.Purchasing.Extension.UnityUtil:Update()
    55. 01-09 23:37:21.498  4685  4703 I Unity   :
    56. 01-09 23:37:21.498  4685  4703 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    57. 01-09 23:37:21.498  4685  4703 I Unity   :
    58. 01-09 23:37:21.509  4685  4703 E Unity   : Unknown
    59. 01-09 23:37:21.509  4685  4703 E Unity   : UnityEngine.Logger:Log(LogType, Object)
    60. 01-09 23:37:21.509  4685  4703 E Unity   : IAPManager:OnPurchaseFailed(Product, PurchaseFailureReason)
    61. 01-09 23:37:21.509  4685  4703 E Unity   : System.Action:Invoke()
    62. 01-09 23:37:21.509  4685  4703 E Unity   : UnityEngine.Purchasing.Extension.UnityUtil:Update()
    63. 01-09 23:37:21.509  4685  4703 E Unity   :
    64. 01-09 23:37:21.509  4685  4703 E Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    65. 01-09 23:37:21.509  4685  4703 E Unity   :
    66. 01-09 23:37:21.534   439  1600 I BufferQueueProducer: [SurfaceView - com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xaf046000,id:2172,api:1,p:4685,c:439) queueBuffer: fps=5.91 dur=8803.76 max=7962.48 min=11.02
    67. 01-09 23:37:22.546   439  1081 I BufferQueueProducer: [SurfaceView - com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xaf046000,id:2172,api:1,p:4685,c:439) queueBuffer: fps=61.26 dur=1012.12 max=21.21 min=7.73
    68. 01-09 23:37:23.554   439  1081 I BufferQueueProducer: [SurfaceView - com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xaf046000,id:2172,api:1,p:4685,c:439) queueBuffer: fps=60.57 dur=1007.12 max=18.08 min=14.78
    69. 01-09 23:37:24.562   439   483 I BufferQueueProducer: [SurfaceView - com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xaf046000,id:2172,api:1,p:4685,c:439) queueBuffer: fps=60.46 dur=1008.88 max=17.71 min=15.47
    70. 01-09 23:37:25.575   439   483 I BufferQueueProducer: [SurfaceView - com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xaf046000,id:2172,api:1,p:4685,c:439) queueBuffer: fps=60.23 dur=1012.75 max=18.44 min=14.25
    71. 01-09 23:37:26.584   439   483 I BufferQueueProducer: [SurfaceView - com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xaf046000,id:2172,api:1,p:4685,c:439) queueBuffer: fps=60.45 dur=1009.15 max=24.00 min=10.56
    72. 01-09 23:37:27.593   439  1600 I BufferQueueProducer: [SurfaceView - com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xaf046000,id:2172,api:1,p:4685,c:439) queueBuffer: fps=60.46 dur=1008.85 max=18.28 min=14.18
    73. 01-09 23:37:28.599   439   663 I BufferQueueProducer: [SurfaceView - com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xaf046000,id:2172,api:1,p:4685,c:439) queueBuffer: fps=60.67 dur=1005.39 max=22.42 min=10.66
    74. 01-09 23:37:29.110  4685  4703 I Unity   : Purchasing product asychronously: 'cheep_premium'
    75. 01-09 23:37:29.110  4685  4703 I Unity   : UnityEngine.Logger:Log(LogType, Object)
    76. 01-09 23:37:29.110  4685  4703 I Unity   : IAPManager:BuyProductID(String)
    77. 01-09 23:37:29.110  4685  4703 I Unity   : UnityEngine.Events.UnityAction:Invoke()
    78. 01-09 23:37:29.110  4685  4703 I Unity   : UnityEngine.Events.UnityEvent:Invoke()
    79. 01-09 23:37:29.110  4685  4703 I Unity   : UnityEngine.EventSystems.EventFunction`1:Invoke(T1, BaseEventData)
    80. 01-09 23:37:29.110  4685  4703 I Unity   : UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
    81. 01-09 23:37:29.110  4685  4703 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:processTouchPress(PointerEventData, Boolean, Boolean)
    82. 01-09 23:37:29.110  4685  4703 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:processTouchEvents()
    83. 01-09 23:37:29.110  4685  4703 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:process()
    84. 01-09 23:37:29.110  4685  4703 I Unity   :
    85. 01-09 23:37:29.110  4685  4703 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    86. 01-09 23:37:29.110  4685  4703 I Unity   :
    87. 01-09 23:37:29.117  4685  4703 I Unity   : purchase({0}): cheep_premium
    88. 01-09 23:37:29.117  4685  4703 I Unity   : UnityEngine.Logger:Log(String, Object)
    89. 01-09 23:37:29.117  4685  4703 I Unity   : UnityEngine.Events.UnityAction:Invoke()
    90. 01-09 23:37:29.117  4685  4703 I Unity   : UnityEngine.Events.UnityEvent:Invoke()
    91. 01-09 23:37:29.117  4685  4703 I Unity   : UnityEngine.EventSystems.EventFunction`1:Invoke(T1, BaseEventData)
    92. 01-09 23:37:29.117  4685  4703 I Unity   : UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
    93. 01-09 23:37:29.117  4685  4703 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:processTouchPress(PointerEventData, Boolean, Boolean)
    94. 01-09 23:37:29.117  4685  4703 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:processTouchEvents()
    95. 01-09 23:37:29.117  4685  4703 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:process()
    96. 01-09 23:37:29.117  4685  4703 I Unity   :
    97. 01-09 23:37:29.117  4685  4703 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    98. 01-09 23:37:29.117  4685  4703 I Unity   :
    99. 01-09 23:37:29.245  1004  1028 I WindowManager: Focus moving from Window{9495e07 u0 com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity} to null
    100. 01-09 23:37:29.439   439  1081 I BufferQueueProducer: [com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xac77c000,id:2171,api:2,p:4685,c:439) queueBuffer: fps=0.12 dur=8002.77 max=8002.77 min=8002.77
    101. 01-09 23:37:30.461   439  1600 I BufferQueueProducer: [com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xac77c000,id:2171,api:2,p:4685,c:439) queueBuffer: fps=16.63 dur=1022.33 max=701.92 min=8.35
    102. 01-09 23:37:31.716  1004  8272 D WindowManager: Input focus has changed to Window{9495e07 u0 com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity}
    103. 01-09 23:37:31.718   433   466 I vendor.mediatek.hardware.power@2.0-impl: notifyAppState pack:com.MaxAskeza.PuzzleEduBoard, act:com.unity3d.player.UnityPlayerActivity, pid:4685, state:1
    104. 01-09 23:37:31.720  1004  1028 I WindowManager: Focus moving from null to Window{9495e07 u0 com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity}
    105. 01-09 23:37:31.778   439   663 I BufferQueueProducer: [com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xac77c000,id:2171,api:2,p:4685,c:439) queueBuffer: fps=13.67 dur=1316.72 max=1036.81 min=11.86
    106. 01-09 23:37:31.827  4685  4703 I Unity   : onPurchaseFailedEvent({0}): productId:cheep_premium message: {M: GPUL.HEC}
    107. 01-09 23:37:31.827  4685  4703 I Unity   : UnityEngine.Logger:Log(String, Object)
    108. 01-09 23:37:31.827  4685  4703 I Unity   : UnityEngine.Purchasing.PurchasingManager:OnPurchaseFailed(PurchaseFailureDescription)
    109. 01-09 23:37:31.827  4685  4703 I Unity   : System.Action:Invoke()
    110. 01-09 23:37:31.827  4685  4703 I Unity   : UnityEngine.Purchasing.Extension.UnityUtil:Update()
    111. 01-09 23:37:31.827  4685  4703 I Unity   :
    112. 01-09 23:37:31.827  4685  4703 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    113. 01-09 23:37:31.827  4685  4703 I Unity   :
    114. 01-09 23:37:31.832  4685  4703 E Unity   : Unknown
    115. 01-09 23:37:31.832  4685  4703 E Unity   : UnityEngine.Logger:Log(LogType, Object)
    116. 01-09 23:37:31.832  4685  4703 E Unity   : IAPManager:OnPurchaseFailed(Product, PurchaseFailureReason)
    117. 01-09 23:37:31.832  4685  4703 E Unity   : System.Action:Invoke()
    118. 01-09 23:37:31.832  4685  4703 E Unity   : UnityEngine.Purchasing.Extension.UnityUtil:Update()
    119. 01-09 23:37:31.832  4685  4703 E Unity   :
    120. 01-09 23:37:31.832  4685  4703 E Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    121. 01-09 23:37:31.832  4685  4703 E Unity   :
    122. 01-09 23:37:31.865   439   663 I BufferQueueProducer: [SurfaceView - com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xaf046000,id:2172,api:1,p:4685,c:439) queueBuffer: fps=11.63 dur=3266.29 max=2655.23 min=11.57
    123. 01-09 23:37:32.881   439  1081 I BufferQueueProducer: [SurfaceView - com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xaf046000,id:2172,api:1,p:4685,c:439) queueBuffer: fps=60.99 dur=1016.57 max=19.91 min=7.13
    124. 01-09 23:37:33.889   439  1600 I BufferQueueProducer: [SurfaceView - com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xaf046000,id:2172,api:1,p:4685,c:439) queueBuffer: fps=60.52 dur=1007.99 max=19.48 min=12.51
    125. 01-09 23:37:34.899   439  1600 I BufferQueueProducer: [SurfaceView - com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xaf046000,id:2172,api:1,p:4685,c:439) queueBuffer: fps=60.40 dur=1009.90 max=20.50 min=14.01
    126. 01-09 23:37:35.908   439  1600 I BufferQueueProducer: [SurfaceView - com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xaf046000,id:2172,api:1,p:4685,c:439) queueBuffer: fps=60.45 dur=1009.17 max=18.36 min=14.18
    127. 01-09 23:37:36.000  4685  4703 I Unity   : Purchasing product asychronously: 'cheep_premium'
    128. 01-09 23:37:36.000  4685  4703 I Unity   : UnityEngine.Logger:Log(LogType, Object)
    129. 01-09 23:37:36.000  4685  4703 I Unity   : IAPManager:BuyProductID(String)
    130. 01-09 23:37:36.000  4685  4703 I Unity   : UnityEngine.Events.UnityAction:Invoke()
    131. 01-09 23:37:36.000  4685  4703 I Unity   : UnityEngine.Events.UnityEvent:Invoke()
    132. 01-09 23:37:36.000  4685  4703 I Unity   : UnityEngine.EventSystems.EventFunction`1:Invoke(T1, BaseEventData)
    133. 01-09 23:37:36.000  4685  4703 I Unity   : UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
    134. 01-09 23:37:36.000  4685  4703 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:processTouchPress(PointerEventData, Boolean, Boolean)
    135. 01-09 23:37:36.000  4685  4703 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:processTouchEvents()
    136. 01-09 23:37:36.000  4685  4703 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:process()
    137. 01-09 23:37:36.000  4685  4703 I Unity   :
    138. 01-09 23:37:36.000  4685  4703 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    139. 01-09 23:37:36.000  4685  4703 I Unity   :
    140. 01-09 23:37:36.005  4685  4703 I Unity   : purchase({0}): cheep_premium
    141. 01-09 23:37:36.005  4685  4703 I Unity   : UnityEngine.Logger:Log(String, Object)
    142. 01-09 23:37:36.005  4685  4703 I Unity   : UnityEngine.Events.UnityAction:Invoke()
    143. 01-09 23:37:36.005  4685  4703 I Unity   : UnityEngine.Events.UnityEvent:Invoke()
    144. 01-09 23:37:36.005  4685  4703 I Unity   : UnityEngine.EventSystems.EventFunction`1:Invoke(T1, BaseEventData)
    145. 01-09 23:37:36.005  4685  4703 I Unity   : UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
    146. 01-09 23:37:36.005  4685  4703 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:processTouchPress(PointerEventData, Boolean, Boolean)
    147. 01-09 23:37:36.005  4685  4703 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:processTouchEvents()
    148. 01-09 23:37:36.005  4685  4703 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:process()
    149. 01-09 23:37:36.005  4685  4703 I Unity   :
    150. 01-09 23:37:36.005  4685  4703 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    151. 01-09 23:37:36.005  4685  4703 I Unity   :
    152. 01-09 23:37:36.119  1004  1028 I WindowManager: Focus moving from Window{9495e07 u0 com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity} to null
    153. 01-09 23:37:36.295   439   484 I BufferQueueProducer: [com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xac77c000,id:2171,api:2,p:4685,c:439) queueBuffer: fps=0.22 dur=4516.50 max=4516.50 min=4516.50
    154. 01-09 23:37:37.323   439   483 I BufferQueueProducer: [com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xac77c000,id:2171,api:2,p:4685,c:439) queueBuffer: fps=18.47 dur=1028.92 max=691.94 min=11.27
    155. 01-09 23:37:37.874  1004  1015 D WindowManager: Input focus has changed to Window{9495e07 u0 com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity}
    156. 01-09 23:37:37.875   433   466 I vendor.mediatek.hardware.power@2.0-impl: notifyAppState pack:com.MaxAskeza.PuzzleEduBoard, act:com.unity3d.player.UnityPlayerActivity, pid:4685, state:1
    157. 01-09 23:37:37.877  1004  1028 I WindowManager: Focus moving from Window{aa755b3 u0 com.MaxAskeza.PuzzleEduBoard/com.android.billingclient.api.ProxyBillingActivity} to Window{9495e07 u0 com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity}
    158. 01-09 23:37:37.970  4685  4703 I Unity   : onPurchaseFailedEvent({0}): productId:cheep_premium message: {M: GPUL.HEC}
    159. 01-09 23:37:37.970  4685  4703 I Unity   : UnityEngine.Logger:Log(String, Object)
    160. 01-09 23:37:37.970  4685  4703 I Unity   : UnityEngine.Purchasing.PurchasingManager:OnPurchaseFailed(PurchaseFailureDescription)
    161. 01-09 23:37:37.970  4685  4703 I Unity   : System.Action:Invoke()
    162. 01-09 23:37:37.970  4685  4703 I Unity   : UnityEngine.Purchasing.Extension.UnityUtil:Update()
    163. 01-09 23:37:37.970  4685  4703 I Unity   :
    164. 01-09 23:37:37.970  4685  4703 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    165. 01-09 23:37:37.970  4685  4703 I Unity   :
    166. 01-09 23:37:37.973  4685  4703 E Unity   : Unknown
    167. 01-09 23:37:37.973  4685  4703 E Unity   : UnityEngine.Logger:Log(LogType, Object)
    168. 01-09 23:37:37.973  4685  4703 E Unity   : IAPManager:OnPurchaseFailed(Product, PurchaseFailureReason)
    169. 01-09 23:37:37.973  4685  4703 E Unity   : System.Action:Invoke()
    170. 01-09 23:37:37.973  4685  4703 E Unity   : UnityEngine.Purchasing.Extension.UnityUtil:Update()
    Is this line below something special, or it say nothing about my problem?
    onPurchaseFailedEvent({0}): productId:cheep_premium message:PurchaseState is UNSPECIFIED_STATE, no more details exists {M: GPUL.OPO}


    Thank you for all of your help and any advices you will give to me in future ;-)
    I realy want to beat this problem!;)
     
    Last edited: Jan 9, 2021
  12. MaxAskeza

    MaxAskeza

    Joined:
    Jul 11, 2018
    Posts:
    11
    Hello! Is there ara any news? Or I should wait to new update?
     
  13. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    Please test with a new product and try a purchase, this will help us troubleshoot.
     
  14. MaxAskeza

    MaxAskeza

    Joined:
    Jul 11, 2018
    Posts:
    11
    Same problem:(
    "cheep_premium" -> "my_test_premium"
    New logcat:
    Code (CSharp):
    1. 01-11 20:51:50.681 20614 20631 I Unity   : UnityIAP Version: 2.2.5
    2. 01-11 20:51:50.681 20614 20631 I Unity   : UnityEngine.Logger:Log(Object)
    3. 01-11 20:51:50.681 20614 20631 I Unity   : UnityEngine.Purchasing.StandardPurchasingModule:Instance(AppStore)
    4. 01-11 20:51:50.681 20614 20631 I Unity   : IAPManager:Start()
    5. 01-11 20:51:50.681 20614 20631 I Unity   :
    6. 01-11 20:51:50.681 20614 20631 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    7. 01-11 20:51:50.681 20614 20631 I Unity   :
    8. 01-11 20:51:52.185   439  1081 I BufferQueueProducer: [SurfaceView - com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xab07b000,id:3240,api:1,p:20614,c:439) queueBuffer: fps=11.49 dur=2611.63 max=2080.65 min=15.71
    9. 01-11 20:51:52.197 20614 20631 I Unity   : IAP Manager: IAP was Initialized
    10. 01-11 20:51:52.197 20614 20631 I Unity   : UnityEngine.Logger:Log(LogType, Object)
    11. 01-11 20:51:52.197 20614 20631 I Unity   : UnityEngine.Purchasing.PurchasingManager:CheckForInitialization()
    12. 01-11 20:51:52.197 20614 20631 I Unity   : UnityEngine.Purchasing.PurchasingManager:OnProductsRetrieved(List`1)
    13. 01-11 20:51:52.197 20614 20631 I Unity   : System.Action:Invoke()
    14. 01-11 20:51:52.197 20614 20631 I Unity   : UnityEngine.Purchasing.Extension.UnityUtil:Update()
    15. 01-11 20:51:52.197 20614 20631 I Unity   :
    16. 01-11 20:51:52.197 20614 20631 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    17. 01-11 20:51:52.197 20614 20631 I Unity   :
    18. 01-11 20:52:17.606 20614 20631 I Unity   : Purchasing product asychronously: 'my_test_premium'
    19. 01-11 20:52:17.606 20614 20631 I Unity   : UnityEngine.Logger:Log(LogType, Object)
    20. 01-11 20:52:17.606 20614 20631 I Unity   : IAPManager:BuyProductID(String)
    21. 01-11 20:52:17.606 20614 20631 I Unity   : UnityEngine.Events.UnityAction:Invoke()
    22. 01-11 20:52:17.606 20614 20631 I Unity   : UnityEngine.Events.UnityEvent:Invoke()
    23. 01-11 20:52:17.606 20614 20631 I Unity   : UnityEngine.EventSystems.EventFunction`1:Invoke(T1, BaseEventData)
    24. 01-11 20:52:17.606 20614 20631 I Unity   : UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
    25. 01-11 20:52:17.606 20614 20631 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchPress(PointerEventData, Boolean, Boolean)
    26. 01-11 20:52:17.606 20614 20631 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchEvents()
    27. 01-11 20:52:17.606 20614 20631 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:Process()
    28. 01-11 20:52:17.606 20614 20631 I Unity   :
    29. 01-11 20:52:17.606 20614 20631 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    30. 01-11 20:52:17.606 20614 20631 I Unity   :
    31. 01-11 20:52:17.617 20614 20631 I Unity   : purchase({0}): my_test_premium
    32. 01-11 20:52:17.617 20614 20631 I Unity   : UnityEngine.Logger:Log(String, Object)
    33. 01-11 20:52:17.617 20614 20631 I Unity   : UnityEngine.Events.UnityAction:Invoke()
    34. 01-11 20:52:17.617 20614 20631 I Unity   : UnityEngine.Events.UnityEvent:Invoke()
    35. 01-11 20:52:17.617 20614 20631 I Unity   : UnityEngine.EventSystems.EventFunction`1:Invoke(T1, BaseEventData)
    36. 01-11 20:52:17.617 20614 20631 I Unity   : UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
    37. 01-11 20:52:17.617 20614 20631 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchPress(PointerEventData, Boolean, Boolean)
    38. 01-11 20:52:17.617 20614 20631 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchEvents()
    39. 01-11 20:52:17.617 20614 20631 I Unity   : UnityEngine.EventSystems.StandaloneInputModule:Process()
    40. 01-11 20:52:17.617 20614 20631 I Unity   :
    41. 01-11 20:52:17.617 20614 20631 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    42. 01-11 20:52:17.617 20614 20631 I Unity   :
    43. 01-11 20:52:17.634   439   484 I BufferQueueProducer: [SurfaceView - com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xab07b000,id:3240,api:1,p:20614,c:439) queueBuffer: fps=60.17 dur=1013.71 max=23.18 min=14.59
    44. 01-11 20:52:17.845  1004  1028 I WindowManager: Focus moving from Window{cd492bb u0 com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity} to null
    45. 01-11 20:52:17.989   439   663 I BufferQueueProducer: [com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xac76b000,id:3239,api:2,p:20614,c:439) queueBuffer: fps=0.03 dur=32415.86 max=32415.86 min=32415.86
    46. 01-11 20:52:19.019   439   483 I BufferQueueProducer: [com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xac76b000,id:3239,api:2,p:20614,c:439) queueBuffer: fps=18.43 dur=1030.83 max=700.27 min=13.91
    47. 01-11 20:52:26.161  1004  1430 D WindowManager: Input focus has changed to Window{cd492bb u0 com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity}
    48. 01-11 20:52:26.162   433   466 I vendor.mediatek.hardware.power@2.0-impl: notifyAppState pack:com.MaxAskeza.PuzzleEduBoard, act:com.unity3d.player.UnityPlayerActivity, pid:20614, state:1
    49. 01-11 20:52:26.164  1004  1028 I WindowManager: Focus moving from Window{979899b u0 com.MaxAskeza.PuzzleEduBoard/com.android.billingclient.api.ProxyBillingActivity} to Window{cd492bb u0 com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity}
    50. 01-11 20:52:26.197   439  1600 I BufferQueueProducer: [com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xac76b000,id:3239,api:2,p:20614,c:439) queueBuffer: fps=2.09 dur=7177.56 max=6899.24 min=8.67
    51. 01-11 20:52:26.246   439   663 I BufferQueueProducer: [SurfaceView - com.MaxAskeza.PuzzleEduBoard/com.unity3d.player.UnityPlayerActivity#0](this:0xab07b000,id:3240,api:1,p:20614,c:439) queueBuffer: fps=1.28 dur=8612.09 max=8455.69 min=9.67
    52. 01-11 20:52:26.268 20614 20631 I Unity   : onPurchaseFailedEvent({0}): productId:my_test_premium message:PurchaseState is UNSPECIFIED_STATE, no more details exists {M: GPUL.OPO}
    53. 01-11 20:52:26.268 20614 20631 I Unity   : UnityEngine.Logger:Log(String, Object)
    54. 01-11 20:52:26.268 20614 20631 I Unity   : UnityEngine.Purchasing.PurchasingManager:OnPurchaseFailed(PurchaseFailureDescription)
    55. 01-11 20:52:26.268 20614 20631 I Unity   : System.Action:Invoke()
    56. 01-11 20:52:26.268 20614 20631 I Unity   : UnityEngine.Purchasing.Extension.UnityUtil:Update()
    57. 01-11 20:52:26.268 20614 20631 I Unity   :
    58. 01-11 20:52:26.268 20614 20631 I Unity   : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
    59. 01-11 20:52:26.268 20614 20631 I Unity   :
    60. 01-11 20:52:26.278 20614 20631 E Unity   : IAP Manager: Purchase was failed with reason: Unknown
    61. 01-11 20:52:26.278 20614 20631 E Unity   : UnityEngine.Logger:Log(LogType, Object)
    62. 01-11 20:52:26.278 20614 20631 E Unity   : IAPManager:OnPurchaseFailed(Product, PurchaseFailureReason)
    63. 01-11 20:52:26.278 20614 20631 E Unity   : System.Action:Invoke()
    64. 01-11 20:52:26.278 20614 20631 E Unity   : UnityEngine.Purchasing.Extension.UnityUtil:Update()
    Bytheway, is there some special way to mark product like a non-consumable in Google Play Console?
    Or consumable and non-consumable are same in GPC and there is only differece at API level?
     
  15. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    @MaxAskeza You already are doing this with this code builder.AddProduct("cheep_premium", ProductType.NonConsumable); There isn't a Dashboard option.

    Can you add me as a tester so I can download the game via Google Play? Send me a direct message here and I'll give you the tester email.
     
  16. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    I received your testing invite. However, I'm still being prompted to pay with a credit card, I believe you need to add the email here in the Google dashboard also

    LicenseTesters.png
     
  17. MaxAskeza

    MaxAskeza

    Joined:
    Jul 11, 2018
    Posts:
    11
    Oh, sorry. It done now.
    Try again, please.
     
  18. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    Not yet, I'll wait a bit longer. So do you get the Google purchase dialog? It's prompting me for a credit card. When I touch the background to cancel the dialog, I too get the Unknown error, I would have expected User Cancelled as the failure reason.
     
  19. MaxAskeza

    MaxAskeza

    Joined:
    Jul 11, 2018
    Posts:
    11
    Jeff, thanks a lot for all of your time! And, man, sorry, that I stole so much time from you...
    I finally got it!

    Once I was update Unity to newest version and it's crash my old game, so I was waste a few days to repair it. And then I was diside, that I don't want to update it before my game will be completed.
    That was a problem - I had an ancient Unity version. After updating it work perfectly!

    So my steps was:
    1. Making fresh backup of my game(necesserily).
    2. Downloading newest Unity version in Unity Hub.
    3. Solving several critical errors.
    4. Building new app.
    5. Profit!

    So in addiatational to your message below you can surely ask people to update they Unity version:
    It was dumb enough from my side to keep on working with an old version so long. I hope my mistake and answer will help some one to save their time:



    Thanks for all of your help again!
     
  20. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    So Unity 2019.2.18f1 was not working for you, but Unity 2020.2.1f1 now works? Interesting, Unity version shouldn't matter.
     
  21. MaxAskeza

    MaxAskeza

    Joined:
    Jul 11, 2018
    Posts:
    11
    Yes, exactly.
    Bytheway, while I solving some problems after update, I was add iOs Builder module to newest version of Unity, but I don't realy think it have any metter.
     
    JeffDUnity3D likes this.
  22. BigRedGames

    BigRedGames

    Joined:
    Jun 25, 2016
    Posts:
    48
    Same issue here, Purchase Failure and worst when it has success it is sending a wrong transaction id to our anlytics tools. It was working well some days ago now it is broken. The problem is happening only on Android.
     
  23. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    Keep in mind that we now use purchaseToken and not TransactionID as explained in the Release Notes. We will need more information in your particular situation.
     
  24. BigRedGames

    BigRedGames

    Joined:
    Jun 25, 2016
    Posts:
    48
    What do you mean? Did you change the value of Product.TransactionId to purchaseToken?
     
  25. BigRedGames

    BigRedGames

    Joined:
    Jun 25, 2016
    Posts:
    48
  26. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
  27. BigRedGames

    BigRedGames

    Joined:
    Jun 25, 2016
    Posts:
    48
    If I understood what you said on the release notes, the necessary changes replaced the order id by the purchase token. So what we have to do now is communicate it to our analytic tools for them adjust their code to accept the purchaseToken as the transaction id like they used to do with the order id, right?
     
  28. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    Correct, but as mentioned, you might want to hold off until 2.2.6 is released.
     
  29. BigRedGames

    BigRedGames

    Joined:
    Jun 25, 2016
    Posts:
    48
    No guys we can't wait, because our data is being corrupted because of this change, so if you could tell us what will be changed on the 2.2.6 will be great, that way we can make the necessary adjusts to be prepared for that and won't be on the same situation as now.
     
  30. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    You will need to wait, we are still working out the details. If you need to make changes now, use the information presented so far.
     
  31. BigRedGames

    BigRedGames

    Joined:
    Jun 25, 2016
    Posts:
    48
  32. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
  33. BigRedGames

    BigRedGames

    Joined:
    Jun 25, 2016
    Posts:
    48
    Anything we have to be awareness, the release notes is very short.
     
  34. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    You mean bugs that we know about but are not sharing? Such issues would be in the release notes. Otherwise you'll need to be more specific. You'll want to test with this version, it looks quite stable so far.
     
    BigRedGames likes this.
  35. BigRedGames

    BigRedGames

    Joined:
    Jun 25, 2016
    Posts:
    48
    @JeffDUnity3D I wasn't saying that you were hiding something man, sorry about it. Anyway, the problem of PurchaseFailureReason Unknown, did you find anything about it? I updated the Unity IAP to the latest version and the problem persists. I don't want to move from LTS version and I'm still having this issue on Android devices.
    The purchases is being validated, and everything seems fine, then after some seconds we receive this error message. I reviewed our implementation and everything looks fine and was working fine two weeks ago.
     
  36. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    Can you confirm what Unity version you are using? We have heard of similar reports from other users and I believe they are using Unity 2019, but I'm unable to reproduce. I'm using IAP 2020.1
     
  37. BigRedGames

    BigRedGames

    Joined:
    Jun 25, 2016
    Posts:
    48
    2019.4.18f1
     
  38. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    Please try with Unity 2020.1 if possible. As always before upgrading, make a full project backup first.
     
  39. BigRedGames

    BigRedGames

    Joined:
    Jun 25, 2016
    Posts:
    48
    Sorry, but move from LTS version isn't an option. We will have to wait for the fix on the LTS track.
     
    Darktemplar1 likes this.
  40. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    It was suggested as a test. We haven't reproduced and this information would be helpful. Without the information, any update will likely be delayed
     
  41. ABerlemont

    ABerlemont

    Joined:
    Sep 27, 2012
    Posts:
    67
    Hey @JeffDUnity3D !

    I'm currently trying to integrate IAP on a project under unity 2019.4.26f1 and I'm having that "unkown" answer issue.

    I saw that you provided some sample project over : https://forum.unity.com/threads/sample-iap-project.529555/ but it works under 2020+

    And from everything I read in the forums it seems that this issue is linked to using 2019 versions. @MaxAskeza seems to have fixed this issue by using a more recent version.

    Reading various resources on how to implement the IAP (like https://learn.unity.com/tutorial/unity-iap#5c7f8528edbc2a002053b46e) brings confusion between 2 options :

    - Simply importing the IAP package 3.0.2 (or 3.1.0). This results in beeing able to build and upload an internal test version but returns the "unknown" answer. (like in this forum post)
    - Using the Services window and importing "Unity IAP" from there (that enables the 3.0.2 package) but there is an compilation error when going through that :

    Library\PackageCache\com.unity.purchasing@3.1.0\Runtime\AppleCore\INativeAppleStore.cs(5,42): error CS0122: 'UnityPurchasingCallback' is inaccessible due to its protection level​

    So un-usable.

    If you could provide a working sample project for 2019.4.X that would be incredible :D

    Like @BigRedGames I CANNOT migrate/upgrade my project on a later version than 2019.4.X. And I'm pretty sure it will work fine using a 2020+ version of unity without having to test it.

    Thanks for the support :)
     
    Darktemplar1 likes this.
  42. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    The Sample IAP Project v2 should work for Unity 2019.4 and above https://forum.unity.com/threads/sample-iap-project.529555/#post-6950270
     
  43. ABerlemont

    ABerlemont

    Joined:
    Sep 27, 2012
    Posts:
    67
    Oh, thanks for the quick answer !

    I kinda already check your project but I had a lots of errors because of the 2020 default packages.
    I removed everything generating errors and I'm now checking the difference between your MyIAPManager.cs and my code (that is mostly what you can find in the example on learn.unity)

    Few questions if you don't mind :)

    - Do you NEED to provide the public key within the services window (attached screenshot) for everything to be working properly ? Various tutorials doesn't seem to cover that part. Maybe a readme in your sample project that explain that part would be awesome.

    - What are Deferred purchases ?

    m_GoogleExtensions?.SetDeferredPurchaseListener(OnPurchaseDeferred);

    - Do you need to publish an app within Closed testing (and not Internal testing) on the google play console for everything to work ?

    On this page : https://docs.unity3d.com/Manual/UnityIAPGooglePlay.html

    It says : Before publishing your application you must test your in-app purchases on an Android device as an alpha or beta distribution.

    Thanks for the help !
     

    Attached Files:

    Last edited: May 11, 2021
  44. ABerlemont

    ABerlemont

    Joined:
    Sep 27, 2012
    Posts:
    67
    I missed some warnings in logcat that might help :

    After calling :

    Code (CSharp):
    1.  
    2. Product product = _storeController.products.WithID(productId);
    3.  
    4.       // If the look up found a product for this device's store and that product is ready to be sold ...
    5.       if (product != null && product.availableToPurchase)
    6.       {
    7.         Debug.Log($"{getStamp()}Purchasing product asychronously: '{product.definition.id}'");
    8.         _storeController.InitiatePurchase(product);
    9.       }
    10.  
    productId string content is matching whatever I setup within inapp product "Product ID" in the play console.

    logcat says :

    Code (CSharp):
    1.  
    2. 2021/05/11 12:03:12.825 12328 12328 Warn ActivityThread handleWindowVisibility: no activity for token android.os.BinderProxy@acaeb6c
    3. 2021/05/11 12:03:29.651 12328 12328 Warn ProxyBillingActivity Activity finished with resultCode 0 and billing's responseCode: 4
    4. 2021/05/11 12:03:29.685 12328 12328 Warn BillingHelper Couldn't find purchase lists, trying to find single data.
    5. 2021/05/11 12:03:29.685 12328 12328 Warn BillingHelper Received a bad purchase data.
    6. 2021/05/11 12:03:29.685 12328 12328 Warn BillingHelper Couldn't find single purchase data as well.
    and after the usual Unknown message :

    Code (CSharp):
    1.  
    2. 2021/05/11 12:03:29.776 12328 12344 Info Unity onPurchaseFailedEvent(productId:my***product message: {M: GPUL.HEC})
    3. 2021/05/11 12:03:29.777 12328 12344 Info Unity OnPurchaseFailed: KO. Product: 'my***product', PurchaseFailureReason: Unknown
    4. 2021/05/11 12:03:29.777 12328 12344 Info Unity UmzPurchaser:OnPurchaseFailed(Product, PurchaseFailureReason)
    5.  
     
  45. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    @ABerlemont What errors are you seeing with the Sample IAP Project? It opens without error. It's a standalone project, don't add it to your project. I'm not familiar with the errors that you are seeing. It does not look like you've configured a product explicitly named "Product ID", but instead see 'my***product'. Please test with gold50 (for example) directly from the Sample IAP Project v2. Please show a screenshot of your product defined on Google Play, and where you add the product in your code. The API key you mentioned is optional and not required, it's used for reporting only. Is this your error? "Received a bad purchase data." Internal testing should work, but be sure to download from Google Play to test. Deferred purchases are a new purchase option from Google where the user can purchase in-game and then has 3 days to pay at an actual physical location approved by Google. But it does not look to apply here if you can reproduce consistently. Please try to get the Sample IAP Project working separately first to rule out any changes you may have made in your game.
     
  46. ABerlemont

    ABerlemont

    Joined:
    Sep 27, 2012
    Posts:
    67
    The real id is "full_game" but I changed it in the logs for obfuscation. It actually shows the real product id setup in play console.

    I attached a screenshot of errors I have opening your project. But those errors are normal. Your project was created using 2020.X and I'm using 2019.4.X. If I open it using 2020 it's ok. This is not an issue. This was just to warn that I'm working on a previous version of unity.

    -000442.png

    Note : There wasn't much code difference between what you are using and what is provided in the tutorial example.

    Another info I forgot to mention :

    When calling for BuyProductID() the playstore overlay always says :

    Screenshot_20210511-163428.png

    And then after pressing "ok" this is when the "unkown" error in logcat shows up.

    I'm currently checking if this is not a device side issue.

    I am following a bunch of tutorial based on the error message I get from the OS. Where I need to unlink my google account from the device or clear cache / etc ... but nothing so far.

    Still investigating :)

    Thanks for the help !

    EDIT

    https://github.com/dooboolab/flutter_inapp_purchase/issues/180

    It seems to not be isolated to a Unity issue :shrug:
     
    Last edited: May 11, 2021
  47. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    Please share the requested screenshots.
     
  48. ABerlemont

    ABerlemont

    Joined:
    Sep 27, 2012
    Posts:
    67
    unobfuscated logs :

    2021/05/11 17:11:46.403 13003 13021 Info Unity purchase(full_unmaze)
    (...)
    2021/05/11 17:11:48.785 13003 13021 Info Unity onPurchaseFailedEvent(productId:full_unmaze message: {M: GPUL.HEC})
    2021/05/11 17:11:48.787 13003 13021 Info Unity OnPurchaseFailed: KO. Product: 'full_unmaze', PurchaseFailureReason: Unknown​
     

    Attached Files:

  49. JeffDUnity3D

    JeffDUnity3D

    Unity Technologies

    Joined:
    May 2, 2017
    Posts:
    14,446
    I've heard of this issue on Unity 2019, please compare to Unity 2020
     
  50. ABerlemont

    ABerlemont

    Joined:
    Sep 27, 2012
    Posts:
    67
    Yes we tried using 2020.3.7 just to be sure.
    But same result.

    That's also why I'm investigating on the device side.
     
Thread Status:
Not open for further replies.