Keine Beschreibung
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

UnifiedReceiptExtensions.cs 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #if IAP_ANALYTICS_SERVICE_ENABLED || IAP_ANALYTICS_SERVICE_ENABLED_WITH_SERVICE_COMPONENT
  2. using System;
  3. using Unity.Services.Analytics;
  4. using UnityEngine;
  5. namespace UnityEngine.Purchasing
  6. {
  7. static class UnifiedReceiptExtensions
  8. {
  9. public static AnalyticsTransactionReceipt ToReceiptAndSignature(this UnifiedReceipt receipt)
  10. {
  11. var analyticsReceipt = new AnalyticsTransactionReceipt
  12. {
  13. transactionServer = receipt.ToTransactionServer()
  14. };
  15. if (analyticsReceipt.transactionServer == TransactionServer.GOOGLE)
  16. {
  17. var googleReceipt = JsonUtility.FromJson<GoogleReceipt>(receipt.Payload);
  18. analyticsReceipt.transactionReceipt = googleReceipt?.json;
  19. analyticsReceipt.transactionReceiptSignature = googleReceipt?.signature;
  20. }
  21. else
  22. {
  23. analyticsReceipt.transactionReceipt = receipt.Payload;
  24. }
  25. return analyticsReceipt;
  26. }
  27. static TransactionServer? ToTransactionServer(this UnifiedReceipt receipt)
  28. {
  29. if (receipt.Store == null)
  30. {
  31. return null;
  32. }
  33. var store = receipt.Store.ToLower();
  34. if (store.Contains("mac") || store.Contains("apple"))
  35. {
  36. return TransactionServer.APPLE;
  37. }
  38. if (store.Contains("google"))
  39. {
  40. return TransactionServer.GOOGLE;
  41. }
  42. if (store.Contains("amazon"))
  43. {
  44. return TransactionServer.AMAZON;
  45. }
  46. return null;
  47. }
  48. }
  49. }
  50. #endif