Пример #1
0
    public void purchaseProduct(string code, int quantity)
    {
#if PURCHASE_USE_APPLE_ITUNES_PRIME31
        StoreKitBinding.purchaseProduct(code, quantity);
#elif PURCHASE_USE_AMAZON_PRIME31
        //AmazonIAP.initiatePurchaseRequest(GamePacks.currentGameBundle + "." + code);
        AmazonIAP.initiatePurchaseRequest(code);
#elif PURCHASE_USE_GOOGLE_PLAY_PRIME31
        GoogleIAB.purchaseProduct(code);
#elif PURCHASE_USE_UNITY
        productManager.PurchaseProduct(code);
#else
        // Web/PC
        purchaseProcessCompleted = true;

        ProductNetworkRecord data =
            ProductNetworkRecord.Create(
                code,
                "Product Purchase",
                "Product purchased:" + code,
                true,
                "TODO",
                "TODO",
                code,
                1,
                ProductNetworkType.typeThirdParty,
                ProductNetworkStoreType.typeAmazon,
                ProductNetworkConsumableType.consumable);

        BroadcastProductNetworksSuccess(data);
#endif
    }
Пример #2
0
    public void unityProductPurchaseSuccess(PurchaseEventArgs args)
    {
        Product product = args.purchasedProduct;

        string productId      = product.definition.storeSpecificId;
        string productType    = product.definition.type.ToString().ToLower();
        string productReceipt = product.receipt;
        int    quantity       = 1;

        string networkStoreType    = unityNetworkStoreTypeGet();
        string productPurchaseType = unityProductPurchaseTypeGet(productType);

        LogUtil.LogProduct("SCREEN purchased product: " + productId + ", quantity: " + quantity);
        //transaction.base64EncodedTransactionReceipt
        SetContentAccessPermissions(productId);
        Contents.SetContentAccessTransaction(productId, productId, productReceipt, quantity, true);
        purchaseProcessCompleted = true;

        ProductNetworkRecord data =
            ProductNetworkRecord.Create(
                productId,
                "Product Purchase",
                "Product purchased:" + productId,
                true,
                product.ToJson(),
                productReceipt,
                productId,
                quantity,
                ProductNetworkType.typeThirdParty,
                networkStoreType,
                productPurchaseType);

        BroadcastProductNetworksSuccess(data);
    }
Пример #3
0
    public static ProductNetworkRecord Create(
        string code,
        string displayName,
        string description,
        bool success,
        object data,
        string receipt,
        string productId,
        int productQuantity,
        string productPurchaseType,
        string productStoreType,
        string productNetworkConsumableType)
    {
        ProductNetworkRecord record = new ProductNetworkRecord();

        record.success                      = success;
        record.data                         = data;
        record.receipt                      = receipt;
        record.datePurchased                = DateTime.Now;
        record.code                         = code;
        record.displayName                  = displayName;
        record.description                  = description;
        record.productId                    = productId;
        record.quantity                     = productQuantity;
        record.productPurchaseType          = productPurchaseType;
        record.productStoreType             = productStoreType;
        record.productNetworkConsumableType = productNetworkConsumableType;

        return(record);
    }
Пример #4
0
    public void unityProductPurchaseFailure(Product product, PurchaseFailureReason purchaseFailureReason)
    {
        string productId      = product.definition.storeSpecificId;
        string productType    = product.definition.type.ToString().ToLower();
        string productReceipt = product.receipt;
        int    quantity       = 1;

        string networkStoreType    = unityNetworkStoreTypeGet();
        string productPurchaseType = unityProductPurchaseTypeGet(productType);

        LogUtil.LogProduct("SCREEN purchased product: " + productId + ", quantity: " + quantity);

        purchaseProcessCompleted = true;

        //ProductNetworkRecord data =
        //    ProductNetworkRecord.Create(
        //        productId,
        //        "Product Purchase",
        //        "Product purchased:" + productId,
        //        false,
        //        product.ToJson(),
        //        productReceipt,
        //        productId,
        //        quantity,
        //        ProductNetworkType.typeThirdParty,
        //        networkStoreType,
        //        productPurchaseType);

        ProductNetworkRecord data =
            ProductNetworkRecord.Create(
                productId,
                "Product Purchase FAILED",
                purchaseFailureReason.ToString(),
                false,
                product.ToJson(),
                productReceipt,
                productId,
                quantity,
                ProductNetworkType.typeThirdParty,
                networkStoreType,
                productPurchaseType);

        BroadcastProductNetworksFailed(data);
    }
Пример #5
0
    public void onProductPurchaseCancelled(ProductNetworkRecord record)
    {
        LogUtil.Log("onProductPurchaseSuccess:" + " record:" + record.ToJson());

        if (record == null)
        {
            LogUtil.Log("record not found");
            return;
        }

        GameProduct product = GameProducts.Instance.GetProductByPlaformProductCode(record.productId);

        if (product == null)
        {
            LogUtil.Log("Product not found:" + record.productId);
            return;
        }

        GameStorePurchaseDataItem itemPurchasing = GetItemPurchasing(product.code);

        if (itemPurchasing == null)
        {
            LogUtil.Log("itemPurchasing not found:" + product.code);

            LogUtil.Log("itemsPurchasing:" + itemsPurchasing.ToJson());
        }

        if (itemPurchasing != null)
        {
            GameStorePurchaseRecord data =
                GameStorePurchaseRecord.Create(
                    false, record.data,
                    record.receipt,
                    "Purchase CANCELLED:" + itemPurchasing.product.GetCurrentProductInfoByLocale().display_name,
                    itemPurchasing.product.GetCurrentProductInfoByLocale().description,
                    product.code,
                    record.quantity);

            GameStoreController.BroadcastThirdPartyPurchaseCancelled(data);
        }
    }
Пример #6
0
 public void broadcastProductNetworksCancelled(ProductNetworkRecord record)
 {
     Messenger <ProductNetworkRecord> .Broadcast(
         ProductNetworkMessages.productPurchaseCancelled, record);
 }
Пример #7
0
    // cancelled

    public static void BroadcastProductNetworksCancelled(ProductNetworkRecord record)
    {
        instance.broadcastProductNetworksCancelled(record);
    }
Пример #8
0
 public void broadcastProductNetworksSuccess(ProductNetworkRecord record)
 {
     Messenger <ProductNetworkRecord> .Broadcast(
         ProductNetworkMessages.productPurchaseSuccess, record);
 }
Пример #9
0
    // MESSAGES

    // success

    public static void BroadcastProductNetworksSuccess(ProductNetworkRecord record)
    {
        instance.broadcastProductNetworksSuccess(record);
    }
Пример #10
0
 public void onProductNetworksCancelled(ProductNetworkRecord record)
 {
     //LogUtil.Log("onProductNetworksCancelled:" + " record:" + record.ToJson());
 }
Пример #11
0
 public void onProductNetworksSuccess(ProductNetworkRecord record)
 {
     //LogUtil.Log("onProductNetworksSuccess:" + " record:" + record.ToJson());
 }