@ina Please check out the Sample IAP Project v2 Sample IAP Project
public void OnInitialized(IStoreController controller, IExtensionProvider extensions)
{
MyDebug("OnInitialized: PASS");
m_StoreController = controller;
m_StoreExtensionProvider = extensions;
m_AppleExtensions = extensions.GetExtension<IAppleExtensions>();
m_GoogleExtensions = extensions.GetExtension<IGooglePlayStoreExtensions>();
Dictionary<string, string> dict = m_AppleExtensions.GetIntroductoryPriceDictionary();
foreach (UnityEngine.Purchasing.Product item in controller.products.all)
{
if (item.receipt != null)
{
string intro_json = (dict == null || !dict.ContainsKey(item.definition.storeSpecificId)) ? null : dict[item.definition.storeSpecificId];
if (item.definition.type == ProductType.Subscription)
{
SubscriptionManager p = new SubscriptionManager(item, intro_json); //or just pass null for intro_json on Google
SubscriptionInfo info = p.getSubscriptionInfo();
MyDebug("SubInfo: " + info.getProductId().ToString());
//Debug.Log(info.getPurchaseDate());
MyDebug("getExpireDate: " + info.getExpireDate().ToString());
MyDebug("isSubscribed: " + info.isSubscribed().ToString());
//Debug.Log(info.isExpired());
//Debug.Log(info.isCancelled());
//Debug.Log(info.isFreeTrial());
//Debug.Log(info.isAutoRenewing());
//Debug.Log(info.getRemainingTime());
//Debug.Log(info.isIntroductoryPricePeriod());
//Debug.Log(info.getIntroductoryPrice());
//Debug.Log(info.getIntroductoryPricePeriod());
//Debug.Log(info.getIntroductoryPricePeriodCycles());
}
}
}
}