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:
01-08 11:37:34.480 16710 16728 I Unity : Initializing UnityPurchasing via Codeless IAP
01-08 11:37:34.480 16710 16728 I Unity : UnityEngine.Logger:Log(LogType, Object)
01-08 11:37:34.480 16710 16728 I Unity : UnityEngine.Purchasing.CodelessIAPStoreListener:CreateCodelessIAPStoreListenerInstance()
01-08 11:37:34.480 16710 16728 I Unity : UnityEngine.Purchasing.CodelessIAPStoreListener:get_Instance()
01-08 11:37:34.480 16710 16728 I Unity : UnityEngine.Purchasing.IAPListener:OnEnable()
01-08 11:37:34.480 16710 16728 I Unity :
01-08 11:37:34.480 16710 16728 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-08 11:37:34.480 16710 16728 I Unity :
01-08 11:37:34.514 16710 16728 I Unity : UnityIAP Version: 2.2.5
01-08 11:37:34.514 16710 16728 I Unity : UnityEngine.Logger:Log(Object)
01-08 11:37:34.514 16710 16728 I Unity : UnityEngine.Purchasing.StandardPurchasingModule:Instance(AppStore)
01-08 11:37:34.514 16710 16728 I Unity : UnityEngine.Purchasing.CodelessIAPStoreListener:InitializePurchasing()
01-08 11:37:34.514 16710 16728 I Unity : UnityEngine.Purchasing.CodelessIAPStoreListener:get_Instance()
01-08 11:37:34.514 16710 16728 I Unity : UnityEngine.Purchasing.IAPListener:OnEnable()
01-08 11:37:34.514 16710 16728 I Unity :
01-08 11:37:34.514 16710 16728 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-08 11:37:34.514 16710 16728 I Unity :
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
01-08 11:37:36.865 16710 16728 W Unity : Unavailable product get_premium -get_premium
01-08 11:37:36.865 16710 16728 W Unity : UnityEngine.Logger:LogFormat(LogType, String, Object[])
01-08 11:37:36.865 16710 16728 W Unity : UnityEngine.Purchasing.PurchasingManager:CheckForInitialization()
01-08 11:37:36.865 16710 16728 W Unity : UnityEngine.Purchasing.PurchasingManager:OnProductsRetrieved(List`1)
01-08 11:37:36.865 16710 16728 W Unity : System.Action:Invoke()
01-08 11:37:36.865 16710 16728 W Unity : UnityEngine.Purchasing.Extension.UnityUtil:Update()
01-08 11:37:36.865 16710 16728 W Unity :
01-08 11:37:36.865 16710 16728 W Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-08 11:37:36.865 16710 16728 W Unity :
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
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
01-08 11:37:39.009 16710 16728 I Unity : IAPButton.PurchaseProduct() with product ID: cheep_premium
01-08 11:37:39.009 16710 16728 I Unity : UnityEngine.Logger:Log(LogType, Object)
01-08 11:37:39.009 16710 16728 I Unity : UnityEngine.Purchasing.IAPButton:PurchaseProduct()
01-08 11:37:39.009 16710 16728 I Unity : UnityEngine.Events.UnityAction:Invoke()
01-08 11:37:39.009 16710 16728 I Unity : UnityEngine.Events.UnityEvent:Invoke()
01-08 11:37:39.009 16710 16728 I Unity : UnityEngine.EventSystems.EventFunction`1:Invoke(T1, BaseEventData)
01-08 11:37:39.009 16710 16728 I Unity : UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
01-08 11:37:39.009 16710 16728 I Unity : UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchPress(PointerEventData, Boolean, Boolean)
01-08 11:37:39.009 16710 16728 I Unity : UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchEvents()
01-08 11:37:39.009 16710 16728 I Unity : UnityEngine.EventSystems.StandaloneInputModule:Process()
01-08 11:37:39.009 16710 16728 I Unity :
01-08 11:37:39.009 16710 16728 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-08 11:37:39.009 16710 16728 I Unity :
01-08 11:37:39.019 16710 16728 I Unity : purchase({0}): cheep_premium
01-08 11:37:39.019 16710 16728 I Unity : UnityEngine.Logger:Log(String, Object)
01-08 11:37:39.019 16710 16728 I Unity : UnityEngine.Purchasing.CodelessIAPStoreListener:InitiatePurchase(String)
01-08 11:37:39.019 16710 16728 I Unity : UnityEngine.Events.UnityAction:Invoke()
01-08 11:37:39.019 16710 16728 I Unity : UnityEngine.Events.UnityEvent:Invoke()
01-08 11:37:39.019 16710 16728 I Unity : UnityEngine.EventSystems.EventFunction`1:Invoke(T1, BaseEventData)
01-08 11:37:39.019 16710 16728 I Unity : UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
01-08 11:37:39.019 16710 16728 I Unity : UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchPress(PointerEventData, Boolean, Boolean)
01-08 11:37:39.019 16710 16728 I Unity : UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchEvents()
01-08 11:37:39.019 16710 16728 I Unity : UnityEngine.EventSystems.StandaloneInputModule:Process()
01-08 11:37:39.019 16710 16728 I Unity :
01-08 11:37:39.019 16710 16728 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-08 11:37:39.019 16710 16728 I Unity :
01-08 11:37:46.638 16710 16728 I Unity : onPurchaseFailedEvent({0}): cheep_premium
01-08 11:37:46.638 16710 16728 I Unity : UnityEngine.Logger:Log(String, Object)
01-08 11:37:46.638 16710 16728 I Unity : UnityEngine.Purchasing.PurchasingManager:OnPurchaseFailed(PurchaseFailureDescription)
01-08 11:37:46.638 16710 16728 I Unity : System.Action:Invoke()
01-08 11:37:46.638 16710 16728 I Unity : UnityEngine.Purchasing.Extension.UnityUtil:Update()
01-08 11:37:46.638 16710 16728 I Unity :
01-08 11:37:46.638 16710 16728 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-08 11:37:46.638 16710 16728 I Unity :
01-08 11:37:46.650 16710 16728 I Unity : IAPButton.OnPurchaseFailed(Product UnityEngine.Purchasing.Product, PurchaseFailureReason Unknown)
01-08 11:37:46.650 16710 16728 I Unity : UnityEngine.Logger:Log(LogType, Object)
01-08 11:37:46.650 16710 16728 I Unity : UnityEngine.Purchasing.IAPButton:OnPurchaseFailed(Product, PurchaseFailureReason)
01-08 11:37:46.650 16710 16728 I Unity : UnityEngine.Purchasing.CodelessIAPStoreListener:OnPurchaseFailed(Product, PurchaseFailureReason)
01-08 11:37:46.650 16710 16728 I Unity : System.Action:Invoke()
01-08 11:37:46.650 16710 16728 I Unity : UnityEngine.Purchasing.Extension.UnityUtil:Update()
01-08 11:37:46.650 16710 16728 I Unity :
01-08 11:37:46.650 16710 16728 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-08 11:37:46.650 16710 16728 I Unity :
01-08 11:37:46.656 16710 16728 I Unity : IAPListener.OnPurchaseFailed(Product UnityEngine.Purchasing.Product, PurchaseFailureReason Unknown)
01-08 11:37:46.656 16710 16728 I Unity : UnityEngine.Logger:Log(LogType, Object)
01-08 11:37:46.656 16710 16728 I Unity : UnityEngine.Purchasing.IAPListener:OnPurchaseFailed(Product, PurchaseFailureReason)
01-08 11:37:46.656 16710 16728 I Unity : UnityEngine.Purchasing.CodelessIAPStoreListener:OnPurchaseFailed(Product, PurchaseFailureReason)
01-08 11:37:46.656 16710 16728 I Unity : System.Action:Invoke()
01-08 11:37:46.656 16710 16728 I Unity : UnityEngine.Purchasing.Extension.UnityUtil:Update()
Did you publish to a test track on Google, then download the game as a tester via Google Play? You’ll want to follow the directions here Unity - Manual: Configuring for Google Play Store Once you download via Google Play the first time, then you can update your app locally via USB
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!
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.
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?
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:
If I disable product in GP console, PurchaseFailureReason change to UnavailableProduct.
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.
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.
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:
I turn off automatic initialization in IAP catalog:
I write a IAPManager script based on MonoBehaviour and IStoreListener classes similar to example:
using UnityEngine.Purchasing;
using UnityEngine;
public class IAPManager : MonoBehaviour, IStoreListener
{
private IStoreController m_StoreController;
private IExtensionProvider m_StoreExtensionProvider;
public Menu Menu;
void Start()
{
if (m_StoreController == null)
{
var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
// Let's add some products:
builder.AddProduct("cheep_premium", ProductType.NonConsumable);
UnityPurchasing.Initialize(this, builder);
}
}
private bool IsInitialized()
{
return m_StoreController != null && m_StoreExtensionProvider != null;
}
public void BuyConsumable()
{
}
public void BuyNonConsumable()
{
// Only noe product for now:
BuyProductID("cheep_premium");
}
public void BuySubscription()
{
//BuyProductID("");
}
public void BuyProductID(string productID)
{
if (IsInitialized())
{
Product product = m_StoreController.products.WithID(productID);
if(product != null && product.availableToPurchase)
{
Debug.Log(string.Format("Purchasing product asychronously: '{0}'", product.definition.id));
m_StoreController.InitiatePurchase(product);
}
else
{
Debug.Log("BuyProductID: FAIL. Not purchasing product, either is not found or is not available for purchase");
}
}
}
public void OnInitialized(IStoreController controller, IExtensionProvider extensions)
{
m_StoreController = controller;
m_StoreExtensionProvider = extensions;
Menu.LogPrint("IAP Manager: IAP was Initialized");
Debug.Log("IAP Manager: IAP was Initialized");
}
public void OnInitializeFailed(InitializationFailureReason error)
{
Debug.LogError(error.ToString());
Menu.LogPrint("IAP Manager: IAP Initialize failed: " + error.ToString());
}
public void OnPurchaseFailed(Product product, PurchaseFailureReason reason)
{
Debug.LogError("IAP Manager: Purchase was failed with reason: " + reason.ToString());
Menu.LogPrint("IAP Manager: Purchase was failed with reason: " + reason.ToString());
}
public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs product)
{
// Only one product for this game for now.
Menu.BuyPremium(product.purchasedProduct);
Menu.LogPrint("IAP Manager: Purchasing complete. Product: \n" + product.ToString());
Debug.Log("IAP Manager: Purchasing complete. Product: \n" + product.purchasedProduct.metadata.localizedTitle);
return PurchaseProcessingResult.Complete;
}
// Restore purchases previously made by this customer. Some platforms automatically restore purchases, like Google.
// Apple currently requires explicit purchase restoration for IAP, conditionally displaying a password prompt.
public void RestorePurchases()
{
// If Purchasing has not yet been set up ...
if (!IsInitialized())
{
// ... report the situation and stop restoring. Consider either waiting longer, or retrying initialization.
Debug.Log("RestorePurchases FAIL. Not initialized.");
return;
}
// If we are running on an Apple device ...
if (Application.platform == RuntimePlatform.IPhonePlayer ||
Application.platform == RuntimePlatform.OSXPlayer)
{
// ... begin restoring purchases
Debug.Log("RestorePurchases started ...");
// Fetch the Apple store-specific subsystem.
var apple = m_StoreExtensionProvider.GetExtension<IAppleExtensions>();
// Begin the asynchronous process of restoring purchases. Expect a confirmation response in
// the Action<bool> below, and ProcessPurchase if there are previously purchased products to restore.
apple.RestoreTransactions((result) => {
// The first phase of restoration. If no more responses are received on ProcessPurchase then
// no purchases are available to be restored.
Debug.Log("RestorePurchases continuing: " + result + ". If no further messages, no purchases available to restore.");
});
}
// Otherwise ...
else
{
// We are not running on an Apple device. No work is necessary to restore purchases.
Debug.Log("RestorePurchases FAIL. Not supported on this platform. Current = " + Application.platform);
}
}
}
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):
01-09 23:36:53.030 4685 4703 I Unity : UnityIAP Version: 2.2.5
01-09 23:36:53.030 4685 4703 I Unity : UnityEngine.Logger:Log(Object)
01-09 23:36:53.030 4685 4703 I Unity : UnityEngine.Purchasing.StandardPurchasingModule:Instance(AppStore)
01-09 23:36:53.030 4685 4703 I Unity : IAPManager:Start()
01-09 23:36:53.030 4685 4703 I Unity :
01-09 23:36:53.030 4685 4703 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-09 23:36:53.030 4685 4703 I Unity :
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
01-09 23:36:54.571 4685 4703 I Unity : IAP Manager: IAP was Initialized
01-09 23:36:54.571 4685 4703 I Unity : UnityEngine.Logger:Log(LogType, Object)
01-09 23:36:54.571 4685 4703 I Unity : UnityEngine.Purchasing.PurchasingManager:CheckForInitialization()
01-09 23:36:54.571 4685 4703 I Unity : UnityEngine.Purchasing.PurchasingManager:OnProductsRetrieved(List`1)
01-09 23:36:54.571 4685 4703 I Unity : System.Action:Invoke()
01-09 23:36:54.571 4685 4703 I Unity : UnityEngine.Purchasing.Extension.UnityUtil:Update()
01-09 23:36:54.571 4685 4703 I Unity :
01-09 23:36:54.571 4685 4703 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-09 23:36:54.571 4685 4703 I Unity :
01-09 23:37:13.390 4685 4703 I Unity : Purchasing product asychronously: 'cheep_premium'
01-09 23:37:13.390 4685 4703 I Unity : UnityEngine.Logger:Log(LogType, Object)
01-09 23:37:13.390 4685 4703 I Unity : IAPManager:BuyProductID(String)
01-09 23:37:13.390 4685 4703 I Unity : UnityEngine.Events.UnityAction:Invoke()
01-09 23:37:13.390 4685 4703 I Unity : UnityEngine.Events.UnityEvent:Invoke()
01-09 23:37:13.390 4685 4703 I Unity : UnityEngine.EventSystems.EventFunction`1:Invoke(T1, BaseEventData)
01-09 23:37:13.390 4685 4703 I Unity : UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
01-09 23:37:13.390 4685 4703 I Unity : UnityEngine.EventSystems.StandaloneInputModule:processTouchPress(PointerEventData, Boolean, Boolean)
01-09 23:37:13.390 4685 4703 I Unity : UnityEngine.EventSystems.StandaloneInputModule:processTouchEvents()
01-09 23:37:13.390 4685 4703 I Unity : UnityEngine.EventSystems.StandaloneInputModule:process()
01-09 23:37:13.390 4685 4703 I Unity :
01-09 23:37:13.390 4685 4703 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-09 23:37:13.390 4685 4703 I Unity :
01-09 23:37:13.399 4685 4703 I Unity : purchase({0}): cheep_premium
01-09 23:37:13.399 4685 4703 I Unity : UnityEngine.Logger:Log(String, Object)
01-09 23:37:13.399 4685 4703 I Unity : UnityEngine.Events.UnityAction:Invoke()
01-09 23:37:13.399 4685 4703 I Unity : UnityEngine.Events.UnityEvent:Invoke()
01-09 23:37:13.399 4685 4703 I Unity : UnityEngine.EventSystems.EventFunction`1:Invoke(T1, BaseEventData)
01-09 23:37:13.399 4685 4703 I Unity : UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
01-09 23:37:13.399 4685 4703 I Unity : UnityEngine.EventSystems.StandaloneInputModule:processTouchPress(PointerEventData, Boolean, Boolean)
01-09 23:37:13.399 4685 4703 I Unity : UnityEngine.EventSystems.StandaloneInputModule:processTouchEvents()
01-09 23:37:13.399 4685 4703 I Unity : UnityEngine.EventSystems.StandaloneInputModule:process()
01-09 23:37:13.399 4685 4703 I Unity :
01-09 23:37:13.399 4685 4703 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-09 23:37:13.399 4685 4703 I Unity :
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
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
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
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}
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
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}
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
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}
01-09 23:37:21.498 4685 4703 I Unity : UnityEngine.Logger:Log(String, Object)
01-09 23:37:21.498 4685 4703 I Unity : UnityEngine.Purchasing.PurchasingManager:OnPurchaseFailed(PurchaseFailureDescription)
01-09 23:37:21.498 4685 4703 I Unity : System.Action:Invoke()
01-09 23:37:21.498 4685 4703 I Unity : UnityEngine.Purchasing.Extension.UnityUtil:Update()
01-09 23:37:21.498 4685 4703 I Unity :
01-09 23:37:21.498 4685 4703 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-09 23:37:21.498 4685 4703 I Unity :
01-09 23:37:21.509 4685 4703 E Unity : Unknown
01-09 23:37:21.509 4685 4703 E Unity : UnityEngine.Logger:Log(LogType, Object)
01-09 23:37:21.509 4685 4703 E Unity : IAPManager:OnPurchaseFailed(Product, PurchaseFailureReason)
01-09 23:37:21.509 4685 4703 E Unity : System.Action:Invoke()
01-09 23:37:21.509 4685 4703 E Unity : UnityEngine.Purchasing.Extension.UnityUtil:Update()
01-09 23:37:21.509 4685 4703 E Unity :
01-09 23:37:21.509 4685 4703 E Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-09 23:37:21.509 4685 4703 E Unity :
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
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
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
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
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
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
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
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
01-09 23:37:29.110 4685 4703 I Unity : Purchasing product asychronously: 'cheep_premium'
01-09 23:37:29.110 4685 4703 I Unity : UnityEngine.Logger:Log(LogType, Object)
01-09 23:37:29.110 4685 4703 I Unity : IAPManager:BuyProductID(String)
01-09 23:37:29.110 4685 4703 I Unity : UnityEngine.Events.UnityAction:Invoke()
01-09 23:37:29.110 4685 4703 I Unity : UnityEngine.Events.UnityEvent:Invoke()
01-09 23:37:29.110 4685 4703 I Unity : UnityEngine.EventSystems.EventFunction`1:Invoke(T1, BaseEventData)
01-09 23:37:29.110 4685 4703 I Unity : UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
01-09 23:37:29.110 4685 4703 I Unity : UnityEngine.EventSystems.StandaloneInputModule:processTouchPress(PointerEventData, Boolean, Boolean)
01-09 23:37:29.110 4685 4703 I Unity : UnityEngine.EventSystems.StandaloneInputModule:processTouchEvents()
01-09 23:37:29.110 4685 4703 I Unity : UnityEngine.EventSystems.StandaloneInputModule:process()
01-09 23:37:29.110 4685 4703 I Unity :
01-09 23:37:29.110 4685 4703 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-09 23:37:29.110 4685 4703 I Unity :
01-09 23:37:29.117 4685 4703 I Unity : purchase({0}): cheep_premium
01-09 23:37:29.117 4685 4703 I Unity : UnityEngine.Logger:Log(String, Object)
01-09 23:37:29.117 4685 4703 I Unity : UnityEngine.Events.UnityAction:Invoke()
01-09 23:37:29.117 4685 4703 I Unity : UnityEngine.Events.UnityEvent:Invoke()
01-09 23:37:29.117 4685 4703 I Unity : UnityEngine.EventSystems.EventFunction`1:Invoke(T1, BaseEventData)
01-09 23:37:29.117 4685 4703 I Unity : UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
01-09 23:37:29.117 4685 4703 I Unity : UnityEngine.EventSystems.StandaloneInputModule:processTouchPress(PointerEventData, Boolean, Boolean)
01-09 23:37:29.117 4685 4703 I Unity : UnityEngine.EventSystems.StandaloneInputModule:processTouchEvents()
01-09 23:37:29.117 4685 4703 I Unity : UnityEngine.EventSystems.StandaloneInputModule:process()
01-09 23:37:29.117 4685 4703 I Unity :
01-09 23:37:29.117 4685 4703 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-09 23:37:29.117 4685 4703 I Unity :
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
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
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
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}
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
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}
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
01-09 23:37:31.827 4685 4703 I Unity : onPurchaseFailedEvent({0}): productId:cheep_premium message: {M: GPUL.HEC}
01-09 23:37:31.827 4685 4703 I Unity : UnityEngine.Logger:Log(String, Object)
01-09 23:37:31.827 4685 4703 I Unity : UnityEngine.Purchasing.PurchasingManager:OnPurchaseFailed(PurchaseFailureDescription)
01-09 23:37:31.827 4685 4703 I Unity : System.Action:Invoke()
01-09 23:37:31.827 4685 4703 I Unity : UnityEngine.Purchasing.Extension.UnityUtil:Update()
01-09 23:37:31.827 4685 4703 I Unity :
01-09 23:37:31.827 4685 4703 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-09 23:37:31.827 4685 4703 I Unity :
01-09 23:37:31.832 4685 4703 E Unity : Unknown
01-09 23:37:31.832 4685 4703 E Unity : UnityEngine.Logger:Log(LogType, Object)
01-09 23:37:31.832 4685 4703 E Unity : IAPManager:OnPurchaseFailed(Product, PurchaseFailureReason)
01-09 23:37:31.832 4685 4703 E Unity : System.Action:Invoke()
01-09 23:37:31.832 4685 4703 E Unity : UnityEngine.Purchasing.Extension.UnityUtil:Update()
01-09 23:37:31.832 4685 4703 E Unity :
01-09 23:37:31.832 4685 4703 E Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-09 23:37:31.832 4685 4703 E Unity :
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
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
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
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
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
01-09 23:37:36.000 4685 4703 I Unity : Purchasing product asychronously: 'cheep_premium'
01-09 23:37:36.000 4685 4703 I Unity : UnityEngine.Logger:Log(LogType, Object)
01-09 23:37:36.000 4685 4703 I Unity : IAPManager:BuyProductID(String)
01-09 23:37:36.000 4685 4703 I Unity : UnityEngine.Events.UnityAction:Invoke()
01-09 23:37:36.000 4685 4703 I Unity : UnityEngine.Events.UnityEvent:Invoke()
01-09 23:37:36.000 4685 4703 I Unity : UnityEngine.EventSystems.EventFunction`1:Invoke(T1, BaseEventData)
01-09 23:37:36.000 4685 4703 I Unity : UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
01-09 23:37:36.000 4685 4703 I Unity : UnityEngine.EventSystems.StandaloneInputModule:processTouchPress(PointerEventData, Boolean, Boolean)
01-09 23:37:36.000 4685 4703 I Unity : UnityEngine.EventSystems.StandaloneInputModule:processTouchEvents()
01-09 23:37:36.000 4685 4703 I Unity : UnityEngine.EventSystems.StandaloneInputModule:process()
01-09 23:37:36.000 4685 4703 I Unity :
01-09 23:37:36.000 4685 4703 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-09 23:37:36.000 4685 4703 I Unity :
01-09 23:37:36.005 4685 4703 I Unity : purchase({0}): cheep_premium
01-09 23:37:36.005 4685 4703 I Unity : UnityEngine.Logger:Log(String, Object)
01-09 23:37:36.005 4685 4703 I Unity : UnityEngine.Events.UnityAction:Invoke()
01-09 23:37:36.005 4685 4703 I Unity : UnityEngine.Events.UnityEvent:Invoke()
01-09 23:37:36.005 4685 4703 I Unity : UnityEngine.EventSystems.EventFunction`1:Invoke(T1, BaseEventData)
01-09 23:37:36.005 4685 4703 I Unity : UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
01-09 23:37:36.005 4685 4703 I Unity : UnityEngine.EventSystems.StandaloneInputModule:processTouchPress(PointerEventData, Boolean, Boolean)
01-09 23:37:36.005 4685 4703 I Unity : UnityEngine.EventSystems.StandaloneInputModule:processTouchEvents()
01-09 23:37:36.005 4685 4703 I Unity : UnityEngine.EventSystems.StandaloneInputModule:process()
01-09 23:37:36.005 4685 4703 I Unity :
01-09 23:37:36.005 4685 4703 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-09 23:37:36.005 4685 4703 I Unity :
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
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
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
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}
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
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}
01-09 23:37:37.970 4685 4703 I Unity : onPurchaseFailedEvent({0}): productId:cheep_premium message: {M: GPUL.HEC}
01-09 23:37:37.970 4685 4703 I Unity : UnityEngine.Logger:Log(String, Object)
01-09 23:37:37.970 4685 4703 I Unity : UnityEngine.Purchasing.PurchasingManager:OnPurchaseFailed(PurchaseFailureDescription)
01-09 23:37:37.970 4685 4703 I Unity : System.Action:Invoke()
01-09 23:37:37.970 4685 4703 I Unity : UnityEngine.Purchasing.Extension.UnityUtil:Update()
01-09 23:37:37.970 4685 4703 I Unity :
01-09 23:37:37.970 4685 4703 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-09 23:37:37.970 4685 4703 I Unity :
01-09 23:37:37.973 4685 4703 E Unity : Unknown
01-09 23:37:37.973 4685 4703 E Unity : UnityEngine.Logger:Log(LogType, Object)
01-09 23:37:37.973 4685 4703 E Unity : IAPManager:OnPurchaseFailed(Product, PurchaseFailureReason)
01-09 23:37:37.973 4685 4703 E Unity : System.Action:Invoke()
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!
Same problem:(
“cheep_premium” → “my_test_premium” New logcat:
01-11 20:51:50.681 20614 20631 I Unity : UnityIAP Version: 2.2.5
01-11 20:51:50.681 20614 20631 I Unity : UnityEngine.Logger:Log(Object)
01-11 20:51:50.681 20614 20631 I Unity : UnityEngine.Purchasing.StandardPurchasingModule:Instance(AppStore)
01-11 20:51:50.681 20614 20631 I Unity : IAPManager:Start()
01-11 20:51:50.681 20614 20631 I Unity :
01-11 20:51:50.681 20614 20631 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-11 20:51:50.681 20614 20631 I Unity :
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
01-11 20:51:52.197 20614 20631 I Unity : IAP Manager: IAP was Initialized
01-11 20:51:52.197 20614 20631 I Unity : UnityEngine.Logger:Log(LogType, Object)
01-11 20:51:52.197 20614 20631 I Unity : UnityEngine.Purchasing.PurchasingManager:CheckForInitialization()
01-11 20:51:52.197 20614 20631 I Unity : UnityEngine.Purchasing.PurchasingManager:OnProductsRetrieved(List`1)
01-11 20:51:52.197 20614 20631 I Unity : System.Action:Invoke()
01-11 20:51:52.197 20614 20631 I Unity : UnityEngine.Purchasing.Extension.UnityUtil:Update()
01-11 20:51:52.197 20614 20631 I Unity :
01-11 20:51:52.197 20614 20631 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-11 20:51:52.197 20614 20631 I Unity :
01-11 20:52:17.606 20614 20631 I Unity : Purchasing product asychronously: 'my_test_premium'
01-11 20:52:17.606 20614 20631 I Unity : UnityEngine.Logger:Log(LogType, Object)
01-11 20:52:17.606 20614 20631 I Unity : IAPManager:BuyProductID(String)
01-11 20:52:17.606 20614 20631 I Unity : UnityEngine.Events.UnityAction:Invoke()
01-11 20:52:17.606 20614 20631 I Unity : UnityEngine.Events.UnityEvent:Invoke()
01-11 20:52:17.606 20614 20631 I Unity : UnityEngine.EventSystems.EventFunction`1:Invoke(T1, BaseEventData)
01-11 20:52:17.606 20614 20631 I Unity : UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
01-11 20:52:17.606 20614 20631 I Unity : UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchPress(PointerEventData, Boolean, Boolean)
01-11 20:52:17.606 20614 20631 I Unity : UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchEvents()
01-11 20:52:17.606 20614 20631 I Unity : UnityEngine.EventSystems.StandaloneInputModule:Process()
01-11 20:52:17.606 20614 20631 I Unity :
01-11 20:52:17.606 20614 20631 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-11 20:52:17.606 20614 20631 I Unity :
01-11 20:52:17.617 20614 20631 I Unity : purchase({0}): my_test_premium
01-11 20:52:17.617 20614 20631 I Unity : UnityEngine.Logger:Log(String, Object)
01-11 20:52:17.617 20614 20631 I Unity : UnityEngine.Events.UnityAction:Invoke()
01-11 20:52:17.617 20614 20631 I Unity : UnityEngine.Events.UnityEvent:Invoke()
01-11 20:52:17.617 20614 20631 I Unity : UnityEngine.EventSystems.EventFunction`1:Invoke(T1, BaseEventData)
01-11 20:52:17.617 20614 20631 I Unity : UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
01-11 20:52:17.617 20614 20631 I Unity : UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchPress(PointerEventData, Boolean, Boolean)
01-11 20:52:17.617 20614 20631 I Unity : UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchEvents()
01-11 20:52:17.617 20614 20631 I Unity : UnityEngine.EventSystems.StandaloneInputModule:Process()
01-11 20:52:17.617 20614 20631 I Unity :
01-11 20:52:17.617 20614 20631 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-11 20:52:17.617 20614 20631 I Unity :
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
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
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
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
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}
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
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}
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
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
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}
01-11 20:52:26.268 20614 20631 I Unity : UnityEngine.Logger:Log(String, Object)
01-11 20:52:26.268 20614 20631 I Unity : UnityEngine.Purchasing.PurchasingManager:OnPurchaseFailed(PurchaseFailureDescription)
01-11 20:52:26.268 20614 20631 I Unity : System.Action:Invoke()
01-11 20:52:26.268 20614 20631 I Unity : UnityEngine.Purchasing.Extension.UnityUtil:Update()
01-11 20:52:26.268 20614 20631 I Unity :
01-11 20:52:26.268 20614 20631 I Unity : (Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
01-11 20:52:26.268 20614 20631 I Unity :
01-11 20:52:26.278 20614 20631 E Unity : IAP Manager: Purchase was failed with reason: Unknown
01-11 20:52:26.278 20614 20631 E Unity : UnityEngine.Logger:Log(LogType, Object)
01-11 20:52:26.278 20614 20631 E Unity : IAPManager:OnPurchaseFailed(Product, PurchaseFailureReason)
01-11 20:52:26.278 20614 20631 E Unity : System.Action:Invoke()
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?
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
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.
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:
Making fresh backup of my game**(necesserily)**.
Downloading newest Unity version in Unity Hub.
Solving several critical errors.
Building new app.
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: