No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

OSXStoreBindings.cs 5.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  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 double getUnityPurchasingAppReceiptModificationDate();
  27. [DllImport("unitypurchasing")]
  28. private static extern string getUnityPurchasingTransactionReceiptForProductId(string productId);
  29. [DllImport("unitypurchasing")]
  30. private static extern bool getUnityPurchasingCanMakePayments();
  31. [DllImport("unitypurchasing")]
  32. private static extern void setSimulateAskToBuy(bool enabled);
  33. [DllImport("unitypurchasing")]
  34. private static extern bool getSimulateAskToBuy();
  35. [DllImport("unitypurchasing")]
  36. private static extern void unityPurchasingFetchStorePromotionOrder();
  37. [DllImport("unitypurchasing")]
  38. private static extern void unityPurchasingUpdateStorePromotionOrder(string json);
  39. [DllImport("unitypurchasing")]
  40. private static extern void unityPurchasingFetchStorePromotionVisibility(string productId);
  41. [DllImport("unitypurchasing")]
  42. private static extern void unityPurchasingUpdateStorePromotionVisibility(string productId, string visibility);
  43. [DllImport("unitypurchasing")]
  44. private static extern void unityPurchasingInterceptPromotionalPurchases();
  45. [DllImport("unitypurchasing")]
  46. private static extern void unityPurchasingContinuePromotionalPurchases();
  47. [DllImport("unitypurchasing")]
  48. private static extern void unityPurchasingPresentCodeRedemptionSheet();
  49. public void SetUnityPurchasingCallback(UnityPurchasingCallback AsyncCallback)
  50. {
  51. setUnityPurchasingCallback(AsyncCallback);
  52. }
  53. public string appReceipt
  54. {
  55. get
  56. {
  57. return getUnityPurchasingAppReceipt();
  58. }
  59. }
  60. public double appReceiptModificationDate
  61. {
  62. get
  63. {
  64. return getUnityPurchasingAppReceiptModificationDate();
  65. }
  66. }
  67. public bool canMakePayments
  68. {
  69. get
  70. {
  71. return getUnityPurchasingCanMakePayments();
  72. }
  73. }
  74. public bool simulateAskToBuy
  75. {
  76. get
  77. {
  78. return getSimulateAskToBuy();
  79. }
  80. set
  81. {
  82. setSimulateAskToBuy(value);
  83. }
  84. }
  85. public void RetrieveProducts(string json)
  86. {
  87. unityPurchasingRetrieveProducts(json);
  88. }
  89. public void Purchase(string productJSON, string developerPayload)
  90. {
  91. unityPurchasingPurchase(productJSON, developerPayload);
  92. }
  93. public void FinishTransaction(string productJSON, string transactionId)
  94. {
  95. unityPurchasingFinishTransaction(productJSON, transactionId);
  96. }
  97. public void RestoreTransactions()
  98. {
  99. unityPurchasingRestoreTransactions();
  100. }
  101. public void RefreshAppReceipt()
  102. {
  103. unityPurchasingRefreshAppReceipt();
  104. }
  105. public void AddTransactionObserver()
  106. {
  107. unityPurchasingAddTransactionObserver();
  108. }
  109. public void SetApplicationUsername(string applicationUsername)
  110. {
  111. unityPurchasingSetApplicationUsername(applicationUsername);
  112. }
  113. public void FetchStorePromotionOrder()
  114. {
  115. unityPurchasingFetchStorePromotionOrder();
  116. }
  117. public void SetStorePromotionOrder(string json)
  118. {
  119. unityPurchasingUpdateStorePromotionOrder(json);
  120. }
  121. public void FetchStorePromotionVisibility(string productId)
  122. {
  123. unityPurchasingFetchStorePromotionVisibility(productId);
  124. }
  125. public void SetStorePromotionVisibility(string productId, string visibility)
  126. {
  127. unityPurchasingUpdateStorePromotionVisibility(productId, visibility);
  128. }
  129. public string GetTransactionReceiptForProductId(string productId)
  130. {
  131. return getUnityPurchasingTransactionReceiptForProductId(productId);
  132. }
  133. public void InterceptPromotionalPurchases()
  134. {
  135. unityPurchasingInterceptPromotionalPurchases();
  136. }
  137. public void ContinuePromotionalPurchases()
  138. {
  139. unityPurchasingContinuePromotionalPurchases();
  140. }
  141. public void PresentCodeRedemptionSheet()
  142. {
  143. unityPurchasingPresentCodeRedemptionSheet();
  144. }
  145. }
  146. }
  147. #endif