public static Hashtable ToHashtable(this YandexAppMetricaReceipt self) { var data = new Hashtable(); if (self.Data != null) { data ["Data"] = self.Data; } if (self.TransactionID != null) { data ["TransactionID"] = self.TransactionID; } return(data); }
public static Com.Yandex.Metrica.Revenue.Receipt ToAndroidReceipt(this YandexAppMetricaReceipt self) { var builder = Com.Yandex.Metrica.Revenue.Receipt.NewBuilder(); if (self.Data != null) { builder.WithData(self.Data); } if (self.Signature != null) { builder.WithSignature(self.Signature); } return(builder.Build()); }
/// <summary> /// Покупка /// </summary> /// <param name="id"></param> /// <param name="complete">удачно или нет</param> public void Report_PurchaseComplete(string id, bool complete, double price = 0, string currency = "", string transactionId = "", string receipt = "", string errmes = "") { if (!use_anilytics) { return; } string report = e_Purchase; if (complete) { var par3 = new Dictionary <string, object>(5) { { e_DevId, deviceId }, { e_Purchase_TransactionId, transactionId }, { e_Purchase_Price, price }, { e_Purchase_Currency, currency }, { e_Purchase_Error, "" } }; var par2 = new Dictionary <string, object>(1) { { id, par3 } }; var par1 = new Dictionary <string, object>(1) { { e_Purchase_Complete, par2 } }; Instance.ReportEvent(report, par1); } else { var par3 = new Dictionary <string, object>(5) { { e_DevId, deviceId }, { e_Purchase_TransactionId, transactionId }, { e_Purchase_Price, price }, { e_Purchase_Currency, currency }, { e_Purchase_Error, errmes } }; var par2 = new Dictionary <string, object>(1) { { id, par3 } }; var par1 = new Dictionary <string, object>(1) { { e_Purchase_Failed, par2 } }; Instance.ReportEvent(report, par1); } //string report = e_PurchaseComplete + "_" + id; //var parameters = new Dictionary<string, object>(4) { { "devId", deviceId }, { "completed", complete.ToString() }, { "price", price }, { "currency", currency } }; if (complete) { var revenue = new YandexAppMetricaRevenue(price, currency); revenue.ProductID = id; if (!string.IsNullOrEmpty(receipt)) { YandexAppMetricaReceipt yaReceipt = new YandexAppMetricaReceipt(); Receipt r_receipt = JsonUtility.FromJson <Receipt>(receipt); r_receipt.TransactionID = transactionId; #if UNITY_ANDROID PayloadAndroid payloadAndroid = JsonUtility.FromJson <PayloadAndroid>(r_receipt.Payload); yaReceipt.Signature = payloadAndroid.Signature; yaReceipt.Data = payloadAndroid.Json; yaReceipt.TransactionID = transactionId; #elif UNITY_IPHONE yaReceipt.TransactionID = receipt.TransactionID; yaReceipt.Data = receipt.Payload; #endif revenue.Receipt = yaReceipt; } Instance.ReportRevenue(revenue); } Instance.SendEventsBuffer(); }