Esempio n. 1
0
        public void SetUp()
        {
            _gamePackageName = "dummy.package.name";
            _token           = "dummy-token";

            // Setup products for testing
            _defaultIAPid = "test-default-id";
            //
            _testIAPids = new List <string>()
            {
                "test-1-id",
                "test-2-id",
                "test-3-id",
                "test-4-id",
                "test-5-id"
            };

            // Setup product lookup
            _productsLookup = new Dictionary <string, ApprienProduct>();
            _productsLookup[_defaultIAPid] = new ApprienProduct(_defaultIAPid, ProductType.Consumable);

            // Add IAP ids to the catalog
            _catalog = new ProductCatalog();
            _catalog.Add(new ProductCatalogItem()
            {
                id = _defaultIAPid, type = ProductType.Consumable
            });

            // Create UnityPurchasing Products
            _builder = ConfigurationBuilder.Instance(new DummyPurchasingModule());
            _builder.AddProduct(_defaultIAPid, ProductType.Consumable);

            foreach (var id in _testIAPids)
            {
                _productsLookup[id] = new ApprienProduct(id, ProductType.Consumable);
                _catalog.Add(new ProductCatalogItem()
                {
                    id = id, type = ProductType.Consumable
                });
                _builder.AddProduct(id, ProductType.Consumable);
            }

#if NET_4_6 || NET_STANDARD_2_0
            _mockServer = FluentMockServer.Start();
#endif
            _apprienManager = new ApprienManager(
                _gamePackageName,
                ApprienIntegrationType.GooglePlayStore,
                _token
                );
        }
Esempio n. 2
0
        private void InitializeProducts()
        {
            // Create ApprienProducts from the IAP or subscription Catalog
            var catalogFile = Resources.Load <TextAsset>(_currentTab == TabType.IAPs ? "ApprienIAPProductCatalog" : "ApprienSubscriptionProductCatalog");
            var catalog     = ProductCatalog.FromTextAsset(catalogFile);

            _apprienProducts = ApprienProduct.FromIAPCatalog(catalog);

            // Initialize Unity IAP configuration builder
            _builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());

            // Platform specific integration type for the manager.
            ApprienIntegrationType integrationType;

#if UNITY_IOS
            integrationType = ApprienIntegrationType.AppleAppStore;
#else
            integrationType = ApprienIntegrationType.GooglePlayStore;
#endif

            // Package name. Usually Application.identifier
            var packageName = Application.identifier;

            _apprienManager = new ApprienManager(
                Application.identifier,
                integrationType,
                ApprienConnection.Token
                );

            // Add standard IAP ids, so that there is always a fallback if Apprien variants cannot be fetched
            foreach (var product in _apprienProducts)
            {
                _builder.AddProduct(product.BaseIAPId, product.ProductType);
            }

            FetchPrices();
        }