Esempio n. 1
0
    public static ProductPurchaseRecord Create(
        string code,
        string displayName,
        string description,
        bool success,
        object data,
        string receipt,
        string productId,
        int productQuantity,
        string productPurchaseType,
        string productStoreType)
    {
        ProductPurchaseRecord record = new ProductPurchaseRecord();

        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;

        return(record);
    }
Esempio n. 2
0
    public void purchaseProduct(string code, int quantity)
    {
#if PURCHASE_USE_APPLE_ITUNES
        StoreKitBinding.purchaseProduct(code, quantity);
#elif PURCHASE_USE_AMAZON
        //AmazonIAP.initiatePurchaseRequest(GamePacks.currentGameBundle + "." + code);
        AmazonIAP.initiatePurchaseRequest(code);
#elif PURCHASE_USE_GOOGLE_PLAY
        GoogleIAB.purchaseProduct(code);
#else
        // Web/PC
        purchaseProcessCompleted = true;

        ProductPurchaseRecord data =
            ProductPurchaseRecord.Create(
                code,
                "Product Purchase",
                "Product purchased:" + code,
                true,
                "TODO",
                "TODO",
                code,
                1,
                ProductPurchaseType.typeThirdParty,
                ProductStoreType.typeAmazon);

        BroadcastProductPurchaseSuccess(data);
#endif
    }
Esempio n. 3
0
    public void purchaseFailedEvent(string error)
    {
        purchaseProcessCompleted = true;
        LogUtil.LogProduct("purchase failed with error: " + error);

        ProductPurchaseRecord data =
            ProductPurchaseRecord.Create(
                "error",
                "Product Purchase FAILED",
                error,
                false,
                error,
                "",
                "",
                1,
                ProductPurchaseType.typeThirdParty,
                ProductStoreType.typeApple);

        BroadcastProductPurchaseFailed(data);
    }
Esempio n. 4
0
    public void onProductPurchaseCancelled(ProductPurchaseRecord 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);
        }
    }
Esempio n. 5
0
    // THIRD PARTY EVENTS

#if PURCHASE_USE_APPLE_ITUNES
    public void purchaseSuccessfulEvent(StoreKitTransaction transaction)
    {
        LogUtil.LogProduct("SCREEN purchased product: " + transaction.productIdentifier + ", quantity: " + transaction.quantity);
        //transaction.base64EncodedTransactionReceipt
        SetContentAccessPermissions(transaction.productIdentifier);
        Contents.SetContentAccessTransaction(transaction.productIdentifier, transaction.productIdentifier,
                                             transaction.base64EncodedTransactionReceipt, transaction.quantity, true);
        purchaseProcessCompleted = true;

        ProductPurchaseRecord data =
            ProductPurchaseRecord.Create(
                transaction.productIdentifier,
                "Product Purchase",
                "Product purchased:" + transaction.productIdentifier,
                true,
                transaction.ToJson(),
                transaction.base64EncodedTransactionReceipt,
                transaction.productIdentifier,
                transaction.quantity,
                ProductPurchaseType.typeThirdParty,
                ProductStoreType.typeApple);

        BroadcastProductPurchaseSuccess(data);
    }
Esempio n. 6
0
 public void broadcastProductPurchaseCancelled(ProductPurchaseRecord record)
 {
     Messenger <ProductPurchaseRecord> .Broadcast(
         ProductPurchaseMessages.productPurchaseCancelled, record);
 }
Esempio n. 7
0
    // cancelled

    public static void BroadcastProductPurchaseCancelled(ProductPurchaseRecord record)
    {
        instance.broadcastProductPurchaseCancelled(record);
    }
Esempio n. 8
0
 public void broadcastProductPurchaseSuccess(ProductPurchaseRecord record)
 {
     Messenger <ProductPurchaseRecord> .Broadcast(
         ProductPurchaseMessages.productPurchaseSuccess, record);
 }
Esempio n. 9
0
    // MESSAGES

    // success

    public static void BroadcastProductPurchaseSuccess(ProductPurchaseRecord record)
    {
        instance.broadcastProductPurchaseSuccess(record);
    }
Esempio n. 10
0
 public void onProductPurchaseCancelled(ProductPurchaseRecord record)
 {
     //LogUtil.Log("onProductPurchaseCancelled:" + " record:" + record.ToJson());
 }
Esempio n. 11
0
 public void onProductPurchaseSuccess(ProductPurchaseRecord record)
 {
     //LogUtil.Log("onProductPurchaseSuccess:" + " record:" + record.ToJson());
 }