public override void RetrieveProducts(ReadOnlyCollection <ProductDefinition> products) { #if HIGH_PERMISSION_DATA if ((isManagedStoreEnabled || Application.isEditor) && m_managedStore != null && (isRefreshing || isFirstTimeRetrievingProducts)) { m_BuilderProducts = new HashSet <ProductDefinition>(products); m_managedStore.FetchProducts(ProcessManagedStoreResponse); } else // Fetch Additional Products triggered by developer with IStoreController or managedStore is unavailable { #endif store.RetrieveProducts(JSONSerializer.SerializeProductDefs(products)); #if HIGH_PERMISSION_DATA } isFirstTimeRetrievingProducts = false; #endif }
internal void ProcessManagedStoreResponse(List <ProductDefinition> storeProducts) { m_storeCatalog = storeProducts; if (isRefreshing) { isRefreshing = false; // Skip native store layer during refresh if catalog contains no information if (storeCatalog.Length == 0 && refreshCallback != null) { refreshCallback(); refreshCallback = null; return; } } var products = new HashSet <ProductDefinition>(m_BuilderProducts); if (storeProducts != null) { products.UnionWith(storeProducts); } store.RetrieveProducts(JSONSerializer.SerializeProductDefs(products)); }
/// <summary> /// To use for Amazon’s local Sandbox testing app, generate a JSON description of your product catalog on the device’s SD card. /// </summary> /// <param name="products">Products to add to the testing app JSON.</param> public void WriteSandboxJSON(HashSet <ProductDefinition> products) { android.Call("writeSandboxJSON", JSONSerializer.SerializeProductDefs(products)); }
public override void RetrieveProducts(ReadOnlyCollection <ProductDefinition> products) { m_Store.RetrieveProducts(JSONSerializer.SerializeProductDefs(products)); }