ADmultiTool.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /**
  2. * 多渠道点击广告
  3. * 1每个渠道,按天保存数据
  4. * 2点击渠道广告时,需要做一个渠道标记.
  5. * 2
  6. */
  7. var ADmultiTool = new class {
  8. constructor() {
  9. }
  10. //每次调用,会把当前单价,累计
  11. public saveEcpm(channel: string): AdData {
  12. let data: AdData = this.getAdData(channel)
  13. let ecpm = this.getEcpm()
  14. data.addData(ecpm)
  15. data.price = ecpm
  16. this.setAdData(channel, data)
  17. return data
  18. }
  19. getAdData(channel: string): AdData {
  20. let data = new AdData(ZFile.getLocalJson(this.keyEcpm(channel), new AdData(null)))
  21. data.channel = channel
  22. return data
  23. }
  24. setAdData(channel: string, data: AdData) {
  25. if (channel && data) {
  26. ZFile.setLocalJson(this.keyEcpm(channel), data)
  27. }
  28. }
  29. private getEcpm(): number {
  30. let val = "0"
  31. if (CC_JSB && cc.sys.os == cc.sys.OS_ANDROID && jsb.reflection) {
  32. val = jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "getEcpm", "()Ljava/lang/String;")
  33. }
  34. return Number(val)
  35. }
  36. private keyEcpm(channel: string): string {
  37. return "ecpm" + channel
  38. }
  39. }
  40. window["ADmultiTool"] = ADmultiTool