AnalyticsServiceInstance.Transaction.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using System;
  2. using UnityEngine;
  3. namespace Unity.Services.Analytics
  4. {
  5. partial class AnalyticsServiceInstance
  6. {
  7. readonly TransactionCurrencyConverter converter = new TransactionCurrencyConverter();
  8. public void Transaction(TransactionParameters transactionParameters)
  9. {
  10. if (!ServiceEnabled)
  11. {
  12. return;
  13. }
  14. if (string.IsNullOrEmpty(transactionParameters.TransactionName))
  15. {
  16. Debug.LogError("Required to have a value for transactionName");
  17. }
  18. if (transactionParameters.TransactionType.Equals(TransactionType.INVALID))
  19. {
  20. Debug.LogError("Required to have a value for transactionType");
  21. }
  22. // If The paymentCountry is not provided we will generate it.
  23. if (string.IsNullOrEmpty(transactionParameters.PaymentCountry))
  24. {
  25. transactionParameters.PaymentCountry = Internal.Platform.UserCountry.Name();
  26. }
  27. dataGenerator.Transaction(ref dataBuffer, DateTime.Now, m_CommonParams, "com.unity.services.analytics.events.transaction", transactionParameters);
  28. }
  29. public long ConvertCurrencyToMinorUnits(string currencyCode, double value)
  30. {
  31. return converter.Convert(currencyCode, value);
  32. }
  33. }
  34. }