Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Question Separate sku id for UDP?

Discussion in 'Unity Distribution Portal (UDP)' started by homenetgames-jacek, Jun 2, 2021.

  1. homenetgames-jacek

    homenetgames-jacek

    Joined:
    Jun 8, 2015
    Posts:
    15
    Hello,

    We've got a game published on UDP, it is using old Unity IAP plugin 1.23.5 (it contains UDP).
    In this game we used separate sku id's for UDP (because Huawei doesn't accept underscores since some time) using following initialization (it was working properly):

    Code (CSharp):
    1. string sku = "sku_sampleinapp_01";
    2. string[] stores = new string[] { "UDP" };
    3. IDs ids = new IDs();
    4. ids.Add(sku.Replace("_", ""), stores); // -> skusampleinapp01
    5. builder.AddProduct(sku, ProductType.Consumable, ids);
    Now we've upgraded game to Unity 2020.3, used latest packages (IAP 3.2.1, UDP 2.1.6) and it seems that store ID "UDP" in the code above doesn't work anymore. Unity IAP / Android / target is set to UDP, sandbox login is displayed and "UDP initialization succeeded" popup is visible. But log shows following for all iap's and IAPListener OnInitializeFailed is called with NoProductsAvailable.

    W/Unity (31246): Unavailable product sku_sampleinapp_01-sku_sampleinapp_01
    W/Unity (31246): UnityEngine.Logger:LogFormat(LogType, String, Object[])
    W/Unity (31246): UnityEngine.Purchasing.PurchasingManager:HasAvailableProductsToPurchase(Boolean)
    W/Unity (31246): UnityEngine.Purchasing.PurchasingManager:CheckForInitialization()
    W/Unity (31246): UnityEngine.Purchasing.PurchasingManager:OnProductsRetrieved(List`1)
    W/Unity (31246): UnityEngine.Purchasing.JSONStore:OnProductsRetrieved(String)
    W/Unity (31246): System.Action`2:Invoke(T1, T2)
    W/Unity (31246): UnityEngine.Purchasing.UDPBindings:OnInventoryQueried(Boolean, Object)
    W/Unity (31246): System.Action`2:Invoke(T1, T2)
    W/Unity (31246): UnityEngine.UDP.UdpIapBridge:OnQueryInventory(Inventory)
    W/Unity (31246): System.Action:Invoke()
    W/Unity (31246): UnityEngine.UDP.MainThreadDispatcher:Update()


    So, is it now possible to define separate sku id's for UDP?

    Thanks,
    Jacek