xiaomi.ts 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. class xiaomi {
  2. public static readonly _instance: xiaomi = new xiaomi()
  3. /**激励视频广告对象 */
  4. private rewardedVideoAd: any
  5. /**banner广告对象 */
  6. private bannerAd: any
  7. /**原生广告对象 */
  8. private nativeAd: any
  9. /**原生插屏广告对象 */
  10. private interstitialAd: any
  11. /**激励视频广告ID */
  12. private _rewardVideoAdUnitId = '12345';
  13. /**banner广告ID */
  14. private _banneradUnitId = '12345';
  15. /**原生广告ID */
  16. private _nativeadUnitId = '';
  17. /**原生插屏广告ID */
  18. private _insertAdUnitId = '12345';
  19. public set bannerAdUnitId(adUnitId: string) {
  20. this._banneradUnitId = adUnitId;
  21. }
  22. public set rewardedVideoAdUnitId(adUnitId: string) {
  23. this._rewardVideoAdUnitId = adUnitId;
  24. }
  25. /***展示激励视频 */
  26. showRewardedVideoAd(suc: Function, fail: Function) {
  27. this.rewardedVideoAd = qg.createRewardedVideoAd({
  28. adUnitId: this._rewardVideoAdUnitId
  29. });
  30. this.rewardedVideoAd.show()
  31. this.rewardedVideoAd.load()
  32. this.rewardedVideoAd.onLoad(() => {
  33. console.log('load success')
  34. })
  35. this.rewardedVideoAd.onClose(data => {
  36. console.log('close ad: ${data.isEnded}')
  37. if (data.isEnded) {
  38. suc()
  39. } else {
  40. fail();
  41. }
  42. })
  43. }
  44. /**展示插屏广告 */
  45. showInterstitialAd() {
  46. this.interstitialAd = qg.createInterstitialAd({
  47. adUnitId: this._insertAdUnitId
  48. });
  49. this.interstitialAd.show();
  50. this.interstitialAd.onLoad(() => {
  51. console.log('load success')
  52. })
  53. }
  54. /**展示banner广告 */
  55. showBannerAd() {
  56. this.bannerAd = qg.createBannerAd({
  57. adUnitId: this._banneradUnitId
  58. })
  59. //监听Banner广告加载成功回调事件
  60. this.bannerAd.onLoad(() => {
  61. console.log('load success')
  62. })
  63. //显示Banner
  64. this.bannerAd.show()
  65. .catch(err => console.log(err));
  66. //监听Banner广告尺寸变化事件
  67. // this.bannerAd.onResize(data => {
  68. // console.log('show banner ad width:${data.width},height: ${data.height}')
  69. // console.log('show banner ad realWidth:${data.style.realWidth},height: ${data.style.realHeight}')
  70. // })
  71. //监听Banner广告加载失败回调事件
  72. this.bannerAd.onError(data => {
  73. console.log('error: errorMsg: ${data.msg}, erroCode: ${data.code}')
  74. })
  75. }
  76. /**隐藏广告 */
  77. hideBannerAd() {
  78. if (this.bannerAd) {
  79. this.bannerAd.hide()
  80. this.bannerAd.destroy()
  81. this.bannerAd = null;
  82. }
  83. }
  84. }
  85. export const XM = xiaomi._instance