bondsdkIos.ts 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. import { _decorator, Component, Node } from 'cc';
  2. import { uiManager } from '../../framework/uiManager';
  3. import * as i18n from '../../../../extensions/i18n/assets/LanguageData'
  4. import { gameConstants } from '../gameConstants';
  5. const { ccclass, property } = _decorator;
  6. const SDK_DATA = {
  7. OPENMEDIATIONADAPTER_ID: "my7gE4Mos2RTZDlWN8piV3EAyTiAiAKR",
  8. REWARD_ID: "10390",
  9. }
  10. const VIDEO_NAME = {
  11. CLOSE: 'videoAdSuccess',
  12. FAIL: 'videoAdFail',
  13. REWARD: 'videoAdShouldReward',
  14. LOADSUCCESS: 'videoAdDidLoad',
  15. LOADFAIL: 'videoAdDidFailToLoad',
  16. }
  17. const i18n_ZH = {
  18. VIDEO_FAIL: '请观看完完整视频',
  19. VIDEO_LOAD_FAIL: '视频加载失败',
  20. }
  21. const I18N_EN = {
  22. VIDEO_FAIL: 'Watch the full video',
  23. VIDEO_LOAD_FAIL: 'Video loading failure',
  24. }
  25. @ccclass('BondsdkIos')
  26. export class BondsdkIos {
  27. public static rewardVideoSuccessCb: any = null; //激励视频成功回调
  28. /**
  29. * 输出
  30. * @param tex
  31. */
  32. public static log(tex: String) {
  33. console.log('[BondsdkIos] ' + tex);
  34. }
  35. /**
  36. * 输出
  37. * @param tex
  38. */
  39. public static error(tex: String) {
  40. console.error('[BondsdkIos] ' + tex);
  41. }
  42. /**
  43. * 初始化sdk相关内容
  44. */
  45. public static init() {
  46. BondsdkIos.log('init window.onVideoAdCallback')
  47. window.onVideoAdCallback = (name: any, code: any, msg: any) => {
  48. BondsdkIos.log('!!!!!!window.onVideoAdCallback' + name + code + msg)
  49. let nowLanguage;
  50. switch (name) {
  51. case VIDEO_NAME.CLOSE:
  52. break;
  53. case VIDEO_NAME.FAIL:
  54. if (i18n._language === gameConstants.I18_LANGUAGE.CHINESE) {
  55. nowLanguage = i18n_ZH.VIDEO_FAIL;
  56. } else {
  57. nowLanguage = I18N_EN.VIDEO_FAIL;
  58. }
  59. uiManager.instance.showTips(nowLanguage);
  60. break;
  61. case VIDEO_NAME.REWARD:
  62. BondsdkIos.rewardVideoSuccessCb && BondsdkIos.rewardVideoSuccessCb();
  63. BondsdkIos.rewardVideoSuccessCb = null;
  64. break;
  65. case VIDEO_NAME.LOADSUCCESS:
  66. break;
  67. case VIDEO_NAME.LOADFAIL:
  68. if (i18n._language === gameConstants.I18_LANGUAGE.CHINESE) {
  69. nowLanguage = i18n_ZH.VIDEO_LOAD_FAIL;
  70. } else {
  71. nowLanguage = I18N_EN.VIDEO_LOAD_FAIL;
  72. }
  73. uiManager.instance.showTips(nowLanguage);
  74. break;
  75. default:
  76. BondsdkIos.error('not define type name:' + name);
  77. break;
  78. }
  79. }
  80. jsb.reflection.callStaticMethod("BondSDKOpenMediationAdapter", "initSDK:", SDK_DATA.OPENMEDIATIONADAPTER_ID);
  81. // window.onInterstitialAdCallback = (name, code, msg) => {
  82. // console.log('!!!!!!window.onInterstitialAdCallback', name, code, msg)
  83. // }
  84. // window.onAdCallback = (name, code, msg) => {
  85. // console.log('!!!!!!window.onAdCallback', name, code, msg)
  86. // }
  87. // window.onBannerAdCallback = (name, code, msg) => {
  88. // console.log('!!!!!!window.onBannerAdCallback', name, code, msg)
  89. // }
  90. }
  91. /**
  92. * 显示激励视频
  93. * @param cb
  94. */
  95. public static showRewardVideo(cb: any) {
  96. BondsdkIos.rewardVideoSuccessCb = cb;
  97. jsb.reflection.callStaticMethod("BondSDKOpenMediationAdapter", "showRewardedVideoAd:", SDK_DATA.REWARD_ID)
  98. }
  99. }