OSXStoreBindings.cs 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. using System.Runtime.InteropServices;
  2. #if !UNITY_EDITOR
  3. namespace UnityEngine.Purchasing
  4. {
  5. internal class OSXStoreBindings : INativeAppleStore
  6. {
  7. [DllImport("unitypurchasing")]
  8. private static extern bool unityPurchasingRetrieveProducts(string json);
  9. [DllImport("unitypurchasing")]
  10. private static extern bool unityPurchasingPurchase(string json, string developerPayload);
  11. [DllImport("unitypurchasing")]
  12. private static extern bool unityPurchasingFinishTransaction(string productJSON, string transactionId);
  13. [DllImport("unitypurchasing")]
  14. private static extern void unityPurchasingRestoreTransactions();
  15. [DllImport("unitypurchasing")]
  16. private static extern void unityPurchasingRefreshAppReceipt();
  17. [DllImport("unitypurchasing")]
  18. private static extern void unityPurchasingAddTransactionObserver();
  19. [DllImport("unitypurchasing")]
  20. private static extern void unityPurchasingSetApplicationUsername(string username);
  21. [DllImport("unitypurchasing")]
  22. private static extern void setUnityPurchasingCallback(UnityPurchasingCallback AsyncCallback);
  23. [DllImport("unitypurchasing")]
  24. private static extern string getUnityPurchasingAppReceipt();
  25. [DllImport("unitypurchasing")]
  26. private static extern string getUnityPurchasingTransactionReceiptForProductId(string productId);
  27. [DllImport("unitypurchasing")]
  28. private static extern bool getUnityPurchasingCanMakePayments();
  29. [DllImport("unitypurchasing")]
  30. private static extern void setSimulateAskToBuy(bool enabled);
  31. [DllImport("unitypurchasing")]
  32. private static extern bool getSimulateAskToBuy();
  33. [DllImport("unitypurchasing")]
  34. private static extern void unityPurchasingFetchStorePromotionOrder();
  35. [DllImport("unitypurchasing")]
  36. private static extern void unityPurchasingUpdateStorePromotionOrder(string json);
  37. [DllImport("unitypurchasing")]
  38. private static extern void unityPurchasingFetchStorePromotionVisibility(string productId);
  39. [DllImport("unitypurchasing")]
  40. private static extern void unityPurchasingUpdateStorePromotionVisibility(string productId, string visibility);
  41. [DllImport("unitypurchasing")]
  42. private static extern void unityPurchasingInterceptPromotionalPurchases();
  43. [DllImport("unitypurchasing")]
  44. private static extern void unityPurchasingContinuePromotionalPurchases();
  45. [DllImport("unitypurchasing")]
  46. private static extern void unityPurchasingPresentCodeRedemptionSheet();
  47. public void SetUnityPurchasingCallback(UnityPurchasingCallback AsyncCallback)
  48. {
  49. setUnityPurchasingCallback(AsyncCallback);
  50. }
  51. public string appReceipt
  52. {
  53. get
  54. {
  55. return getUnityPurchasingAppReceipt();
  56. }
  57. }
  58. public bool canMakePayments
  59. {
  60. get
  61. {
  62. return getUnityPurchasingCanMakePayments();
  63. }
  64. }
  65. public bool simulateAskToBuy
  66. {
  67. get
  68. {
  69. return getSimulateAskToBuy();
  70. }
  71. set
  72. {
  73. setSimulateAskToBuy(value);
  74. }
  75. }
  76. public void RetrieveProducts(string json)
  77. {
  78. unityPurchasingRetrieveProducts(json);
  79. }
  80. public void Purchase(string productJSON, string developerPayload)
  81. {
  82. unityPurchasingPurchase(productJSON, developerPayload);
  83. }
  84. public void FinishTransaction(string productJSON, string transactionId)
  85. {
  86. unityPurchasingFinishTransaction(productJSON, transactionId);
  87. }
  88. public void RestoreTransactions()
  89. {
  90. unityPurchasingRestoreTransactions();
  91. }
  92. public void RefreshAppReceipt()
  93. {
  94. unityPurchasingRefreshAppReceipt();
  95. }
  96. public void AddTransactionObserver()
  97. {
  98. unityPurchasingAddTransactionObserver();
  99. }
  100. public void SetApplicationUsername(string applicationUsername)
  101. {
  102. unityPurchasingSetApplicationUsername(applicationUsername);
  103. }
  104. public void FetchStorePromotionOrder()
  105. {
  106. unityPurchasingFetchStorePromotionOrder();
  107. }
  108. public void SetStorePromotionOrder(string json)
  109. {
  110. unityPurchasingUpdateStorePromotionOrder(json);
  111. }
  112. public void FetchStorePromotionVisibility(string productId)
  113. {
  114. unityPurchasingFetchStorePromotionVisibility(productId);
  115. }
  116. public void SetStorePromotionVisibility(string productId, string visibility)
  117. {
  118. unityPurchasingUpdateStorePromotionVisibility(productId, visibility);
  119. }
  120. public string GetTransactionReceiptForProductId(string productId)
  121. {
  122. return getUnityPurchasingTransactionReceiptForProductId(productId);
  123. }
  124. public void InterceptPromotionalPurchases()
  125. {
  126. unityPurchasingInterceptPromotionalPurchases();
  127. }
  128. public void ContinuePromotionalPurchases()
  129. {
  130. unityPurchasingContinuePromotionalPurchases();
  131. }
  132. public void PresentCodeRedemptionSheet()
  133. {
  134. unityPurchasingPresentCodeRedemptionSheet();
  135. }
  136. }
  137. }
  138. #endif