UnityAdsPurchasingWrapper.m 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #import "UnityAds/UADSPurchasing.h"
  2. #import "UnityAdsPurchasingWrapper.h"
  3. #import "UnityAdsUtilities.h"
  4. static UnityAdsPurchasingDidInitiatePurchasingCommandCallback iapCommandCallback = NULL;
  5. static UnityAdsPurchasingGetProductCatalogCallback iapCatalogCallback = NULL;
  6. static UnityAdsPurchasingGetPurchasingVersionCallback iapVersionCallback = NULL;
  7. static UnityAdsPurchasingInitializeCallback iapInitializeCallback = NULL;
  8. @interface UnityAdsPurchasingWrapperDelegate : NSObject <UADSPurchasingDelegate>
  9. @end
  10. @implementation UnityAdsPurchasingWrapperDelegate
  11. - (void)unityAdsPurchasingGetProductCatalog {
  12. if(iapCatalogCallback != NULL) {
  13. iapCatalogCallback();
  14. }
  15. }
  16. - (void)unityAdsPurchasingGetPurchasingVersion {
  17. if(iapVersionCallback != NULL) {
  18. iapVersionCallback();
  19. }
  20. }
  21. - (void)unityAdsPurchasingInitialize {
  22. if(iapInitializeCallback != NULL) {
  23. iapInitializeCallback();
  24. }
  25. }
  26. - (void)unityAdsPurchasingDidInitiatePurchasingCommand:(NSString *)eventString {
  27. if(iapCommandCallback != NULL) {
  28. const char * rawEventString = UnityAdsCopyString([eventString UTF8String]);
  29. iapCommandCallback(rawEventString);
  30. free((void *)rawEventString);
  31. }
  32. }
  33. @end
  34. void InitializeUnityAdsPurchasingWrapper() {
  35. static id<UADSPurchasingDelegate> delegate = nil;
  36. if (delegate == nil) {
  37. delegate = [[UnityAdsPurchasingWrapperDelegate alloc] init];
  38. [UADSPurchasing initialize:delegate];
  39. }
  40. }
  41. void UnityAdsSetDidInitiatePurchasingCommandCallback(UnityAdsPurchasingDidInitiatePurchasingCommandCallback callback) {
  42. iapCommandCallback = callback;
  43. }
  44. void UnityAdsSetGetProductCatalogCallback(UnityAdsPurchasingGetProductCatalogCallback callback) {
  45. iapCatalogCallback = callback;
  46. }
  47. void UnityAdsSetGetVersionCallback(UnityAdsPurchasingGetPurchasingVersionCallback callback) {
  48. iapVersionCallback = callback;
  49. }
  50. void UnityAdsSetInitializePurchasingCallback(UnityAdsPurchasingInitializeCallback callback) {
  51. iapInitializeCallback = callback;
  52. }
  53. void UnityAdsPurchasingDispatchReturnEvent(UnityAdsPurchasingEvent event, const char * payload) {
  54. if (payload == NULL) {
  55. payload = "";
  56. }
  57. [UADSPurchasing dispatchReturnEvent:event withPayload:[NSString stringWithUTF8String:payload]];
  58. }