AnalyticsManager.h 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. //
  2. // AnalyticsManager.h
  3. // AdAdmobSDK
  4. //
  5. // Created by 蒋龙 on 2019/9/2.
  6. // Copyright © 2019 com.YouLoft.CQ. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. NS_ASSUME_NONNULL_BEGIN
  10. @interface AnalyticsManager : NSObject
  11. /// 获取友盟的设备ID
  12. + (NSString *)getUmengDeviceIDForIntegration;
  13. + (void)customEventWitheventID:(NSString *)eventId label:(NSString *)label; // label为nil或@""时,等同于 event:eventId label:eventId;
  14. /// 自定义统计事件
  15. /// @param keyStr 事件名称
  16. /// @param dicJsonStr 事件参数字典JSON字符串,无参数时请传空字符串:""
  17. + (void)customEventWithKey:(NSString *)keyStr dicJsonStr:(NSString *)dicJsonStr;
  18. //TODO:按统计平台拆分自定义方法
  19. /// 友盟自定义统计事件
  20. /// @param keyStr 事件名称
  21. /// @param dicJsonStr 事件参数字典JSON字符串,无参数时请传空字符串:""
  22. + (void)umengCustomEventWithKey:(NSString *)keyStr dicJsonStr:(NSString *)dicJsonStr;
  23. /// FireBase自定义统计事件
  24. /// @param keyStr 事件名称
  25. /// @param dicJsonStr 事件参数字典JSON字符串,无参数时请传空字符串:""
  26. + (void)firebaseCustomEventWithKey:(NSString *)keyStr dicJsonStr:(NSString *)dicJsonStr;
  27. /// AppsFlyer自定义统计事件
  28. /// @param keyStr 事件名称
  29. /// @param dicJsonStr 事件参数字典JSON字符串,无参数时请传空字符串:""
  30. + (void)appsFlyerCustomEventWithKey:(NSString *)keyStr dicJsonStr:(NSString *)dicJsonStr;
  31. /// Facebook自定义统计事件
  32. /// @param keyStr 事件名称
  33. /// @param dicJsonStr 事件参数字典JSON字符串,无参数时请传空字符串:""
  34. + (void)facebookCustomEventWithKey:(NSString *)keyStr dicJsonStr:(NSString *)dicJsonStr;
  35. /// Facebook自定义统计事件2
  36. /// @param keyStr 事件名称
  37. /// @param valueS 要汇总到此 eventName 的所有事件中的金额,App Insights 将报告此金额的累积值和平均值。
  38. /// @param dicJsonStr 事件参数字典JSON字符串,无参数时请传空字符串:""
  39. + (void)facebookCustomEventWithKey:(NSString *)keyStr valueToSum:(double)valueS dicJsonStr:(NSString *)dicJsonStr ;
  40. /**
  41. 视频填充是否成功
  42. @param isSuc YES-成功,NO-失败
  43. */
  44. + (void)videoFillSuccessfulOrFail:(BOOL)isSuc;
  45. /**
  46. 设置用户当前等级
  47. @param level 等级
  48. */
  49. //+ (void)setUserLevelId:(int)level DEPRECATED_MSG_ATTRIBUTE("由于友盟改版,该埋点无默认的事件Key,请自行使用自定义事件定义");
  50. /// 玩家内购商品
  51. /// @param cash 真实货币数量,当前以美元为单位
  52. /// @param isTest 是否是测试内购,是的话不上报埋点数据
  53. + (void)payWithCash:(double)cash isTest:(BOOL)isTest;
  54. /// 玩家内购商品
  55. /// @param cash 真实货币数量,当前以美元为单位
  56. /// @param isTest 是否是测试内购,是的话不上报埋点数据
  57. /// @param productID 商品ID
  58. + (void)payWithCash:(double)cash isTest:(BOOL)isTest productID:(NSString *)productID;
  59. /// 内购/订阅 成功
  60. /// @param cash 金额
  61. /// @param productID 商品ID
  62. /// @param type 购买类型,inapp-内购商品,subs-订阅
  63. /// @param currency 金额 ISO Code,例:USD、CNY
  64. + (void)paySuccessWithCash:(double)cash productID:(NSString *)productID type:(NSString *)type currency:(NSString *)currency;
  65. /// 仅供单独上报Facebook内购埋点
  66. /// @param cash 金额
  67. /// @param productID 商品ID
  68. /// @param type 购买类型,inapp-内购商品,subs-订阅
  69. /// @param currency 金额ISO Code,例:USD、CNY
  70. +(void)paySuccessOnlyFacebookWithCash:(double)cash productID:(NSString *)productID type:(NSString *)type currency:(NSString *)currency;
  71. /// 仅供单独上报AppsFlayer广告收益数据埋点
  72. /// @param value 广告的价值
  73. /// @param currency 货币代码
  74. /// @param precision 报告的广告值的精确度
  75. /// @param unitId 广告ID
  76. /// @param adNetworkAdapter 广告
  77. +(void)adRevenueOnlyAppsFlyerWithValue:(NSString *)value currency:(NSString *)currency precision:(NSString *)precision unitId:(NSString *)unitId adNetworkAdapter:(NSString *)adNetworkAdapter;
  78. /** 玩家支付货币兑换虚拟币.
  79. @param cash 真实货币数量 >=1的整数,最多只保存小数点后2位
  80. @param source 支付渠道 1-App Store,2-支付宝,3-网银,4-财付通,5-移动通信,6-联通通信,7-电信通信,8-paypal
  81. @param coin 虚拟币数量 大于等于0的整数, 最多只保存小数点后2位
  82. */
  83. + (void)payWithCash:(double)cash source:(int)source coin:(double)coin;
  84. /** 玩家支付货币购买道具.
  85. @param cash 真实货币数量
  86. @param source 支付渠道
  87. @param item 道具名称
  88. @param amount 道具数量
  89. @param price 道具单价
  90. */
  91. + (void)payWithCash:(double)cash source:(int)source item:(NSString *)item amount:(int)amount price:(double)price;
  92. /**
  93. 使用虚拟货币购买道具
  94. @param item 道具名称
  95. @param amount 道具数量
  96. @param price 道具单价
  97. */
  98. + (void)buyWithItem:(NSString *)item amount:(int)amount price:(double)price;
  99. /**
  100. 玩家使用道具的情况
  101. @param item 道具名称
  102. @param amount 道具数量
  103. @param price 道具单价
  104. */
  105. + (void)useWithItem:(NSString *)item amount:(int)amount price:(double)price;
  106. /**
  107. 关卡开始
  108. @param levelName 关卡名称
  109. */
  110. + (void)startLevel:(NSString *)levelName;
  111. /**
  112. 关卡完成
  113. @param levelName 关卡名称
  114. */
  115. + (void)finishLevel:(NSString *)levelName;
  116. /**
  117. 关卡失败
  118. @param levelName 关卡名称
  119. */
  120. + (void)failLevel:(NSString *)levelName;
  121. /**
  122. 额外奖励 虚拟货币
  123. @param coin 货币金额
  124. @param source 类型
  125. */
  126. + (void)bonus:(double)coin source:(int)source;
  127. /**
  128. 额外奖励 虚拟道具
  129. @param item 道具名称
  130. @param amount 道具个数
  131. @param price 道具单价
  132. @param source 类型
  133. */
  134. + (void)bonus:(NSString *)item amount:(int)amount price:(double)price source:(int)source;
  135. @end
  136. NS_ASSUME_NONNULL_END