yingchigamesdk-cocos-v3 25.8.6 → 25.8.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +64 -36
- package/dist/index.js.map +2 -2
- package/dist/ycsdk/AdState.d.ts +6 -6
- package/dist/ycsdk/GameInterface.d.ts +2 -1
- package/dist/ycsdk/StorageUtils.d.ts +2 -0
- package/dist/ycsdk/YCSDK.d.ts +2 -1
- package/dist/ycsdk/minigame/MiniGame.d.ts +2 -1
- package/dist/ycsdk/minigame/SubornVideoConfig.d.ts +5 -0
- package/dist/ycsdk/minigame/oppo/OppoGame.d.ts +4 -3
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../assets/script/ycsdk/minigame/InterstitialType.ts", "../assets/script/ycsdk/SDKConfig.ts", "../assets/script/ycsdk/minigame/BannerType.ts", "../assets/script/ycsdk/StorageUtils.ts", "../assets/script/ycsdk/minigame/md5.ts", "../assets/script/ycsdk/AdType.ts", "../assets/script/ycsdk/YCSDK.ts", "../assets/script/ycsdk/minigame/DebugGame.ts", "../assets/script/ycsdk/minigame/PrivacyEvent.ts", "../assets/script/ycsdk/minigame/MiniGame.ts", "../assets/script/ycsdk/AdTactics.ts", "../assets/script/ycsdk/minigame/douyin/DouYinGame.ts", "../assets/script/ycsdk/minigame/HttpRequest.ts", "../assets/script/ycsdk/minigame/huawei/HuaWeiGame.ts", "../assets/script/ycsdk/minigame/oppo/OppoGame.ts", "../assets/script/ycsdk/minigame/vivo/VivoGame.ts", "../assets/script/ycsdk/minigame/xiaomi/XiaoMiGame.ts", "../assets/script/ycsdk/minigame/wechat/WeChatGame.ts", "../assets/script/ycsdk/nativegame/anroid/AndroidGame.ts"],
|
|
4
|
-
"sourcesContent": ["export enum InterstitialType{\r\n Initial = \"Initial\", //\u666E\u901A\u63D2\u5C4F\r\n Native = \"Native\", //\u539F\u751F\u63D2\u5C4F\r\n Video = \"Video\" //\u63D2\u5C4F\u89C6\u9891\r\n}", "export interface Config {\r\n pkgName: string\r\n appId: string\r\n bannerId?: string[]\r\n intersId?: string[]\r\n videoId?: string[]\r\n nativeId?: string[]\r\n nativeBannerId?: string[],\r\n extension?:string[]\r\n}\r\n\r\ninterface SDKConfig extends Config {\r\n open: boolean\r\n version: string\r\n subornUser: boolean\r\n subornUserTest: boolean\r\n ycBannerId: string\r\n ycNativeId: string\r\n ycVideoId: string\r\n ycIntersId: string\r\n ycBigPicId: string\r\n ycNativeBannerId: string\r\n ratio: { inters: number, native: number, video: number }\r\n customFunc?: {}\r\n}\r\n\r\nexport let sdkconfig: SDKConfig = {\r\n open: true,\r\n subornUser: false,\r\n subornUserTest: false,\r\n version: \"1536\",\r\n pkgName: \"\",\r\n appId: \"\",\r\n bannerId: [],\r\n intersId: [],\r\n videoId: [],\r\n nativeId: [],\r\n nativeBannerId: [],\r\n extension:[],\r\n ratio: {\r\n inters: 50,\r\n native: 50,\r\n video: 0\r\n },\r\n\r\n ycBannerId: \"\",\r\n ycNativeId: \"\",\r\n ycVideoId: \"\",\r\n ycIntersId: \"\",\r\n ycBigPicId: \"\",\r\n ycNativeBannerId: \"\",\r\n customFunc: {}\r\n}", "export enum BannerType {\r\n Top = \"Top\", \r\n Bottom = \"Bottom\",\r\n Normal = \"Normal\",\r\n Native = \"Native\"\r\n}", "import { sys } from \"cc\";\r\n\r\nexport class StorageUtils{\r\n\r\n\r\n static setStringData(key: string, value: string): void {\r\n if (key == \"\" || value == \"\") return;\r\n if (typeof value != \"string\") value = JSON.stringify(value);\r\n sys.localStorage.setItem(key, value);\r\n }\r\n \r\n static getStringData(key: string): string {\r\n let value = sys.localStorage.getItem(key);\r\n if (value == \"\" || value == undefined || value == null) value = \"\";\r\n return value;\r\n }\r\n\r\n static setBooleanData(key: string, value: boolean): void {\r\n sys.localStorage.setItem(key, value.toString());\r\n }\r\n \r\n static getBooleanData(key: string): boolean {\r\n let value = sys.localStorage.getItem(key);\r\n if (value == \"\" || value == undefined || value == null) return false;\r\n if (value == \"true\") return true;\r\n if (value == \"false\") return false;\r\n return false;\r\n }\r\n}", "/*\n\nTypeScript Md5\n==============\n\nBased on work by\n* Joseph Myers: http://www.myersdaily.org/joseph/javascript/md5-text.html\n* Andr\u00E9 Cruz: https://github.com/satazor/SparkMD5\n* Raymond Hill: https://github.com/gorhill/yamd5.js\n\nEffectively a TypeScrypt re-write of Raymond Hill JS Library\n\nThe MIT License (MIT)\n\nCopyright (C) 2014 Raymond Hill\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n\n\n DO WHAT YOU WANT TO PUBLIC LICENSE\n Version 2, December 2004\n\n Copyright (C) 2015 Andr\u00E9 Cruz <amdfcruz@gmail.com>\n\n Everyone is permitted to copy and distribute verbatim or modified\n copies of this license document, and changing it is allowed as long\n as the name is changed.\n\n DO WHAT YOU WANT TO PUBLIC LICENSE\n TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n 0. You just DO WHAT YOU WANT TO.\n\n\n*/\n\n\ninterface HasherState {\n buffer: string;\n buflen: number;\n length: number;\n state: number[];\n};\n\nexport class Md5 {\n\n /**\n * Hash a UTF-8 string on the spot\n * @param str String to hash\n * @param raw Whether to return the value as an `Int32Array`\n */\n public static hashStr(str: string, raw?: false): string;\n public static hashStr(str: string, raw: true): Int32Array;\n public static hashStr(str: string, raw: boolean = false) {\n return this.onePassHasher\n .start()\n .appendStr(str)\n .end(raw);\n }\n\n /**\n * Hash a ASCII string on the spot\n * @param str String to hash\n * @param raw Whether to return the value as an `Int32Array`\n */\n public static hashAsciiStr(str: string, raw?: false): string;\n public static hashAsciiStr(str: string, raw: true): Int32Array;\n public static hashAsciiStr(str: string, raw: boolean = false) {\n return this.onePassHasher\n .start()\n .appendAsciiStr(str)\n .end(raw);\n }\n // Private Static Variables\n private static stateIdentity = new Int32Array([1732584193, -271733879, -1732584194, 271733878]);\n private static buffer32Identity = new Int32Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);\n private static hexChars = '0123456789abcdef';\n private static hexOut: string[] = [];\n\n // Permanent instance is to use for one-call hashing\n private static onePassHasher = new Md5();\n\n private static _hex(x: Int32Array): string {\n const hc = Md5.hexChars;\n const ho = Md5.hexOut;\n let n;\n let offset;\n let j;\n let i;\n\n for (i = 0; i < 4; i += 1) {\n offset = i * 8;\n n = x[i];\n for (j = 0; j < 8; j += 2) {\n ho[offset + 1 + j] = hc.charAt(n & 0x0F);\n n >>>= 4;\n ho[offset + 0 + j] = hc.charAt(n & 0x0F);\n n >>>= 4;\n }\n }\n return ho.join('');\n }\n\n private static _md5cycle(x: Int32Array|Uint32Array, k: Int32Array|Uint32Array) {\n let a = x[0];\n let b = x[1];\n let c = x[2];\n let d = x[3];\n // ff()\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n // gg()\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n // hh()\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n // ii()\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n\n private _dataLength = 0;\n private _bufferLength = 0;\n\n private _state: Int32Array = new Int32Array(4);\n private _buffer: ArrayBuffer = new ArrayBuffer(68);\n private _buffer8: Uint8Array;\n private _buffer32: Uint32Array;\n\n constructor() {\n this._buffer8 = new Uint8Array(this._buffer, 0, 68);\n this._buffer32 = new Uint32Array(this._buffer, 0, 17);\n this.start();\n }\n\n /**\n * Initialise buffer to be hashed\n */\n public start() {\n this._dataLength = 0;\n this._bufferLength = 0;\n this._state.set(Md5.stateIdentity);\n return this;\n }\n\n // Char to code point to to array conversion:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt\n // #Example.3A_Fixing_charCodeAt_to_handle_non-Basic-Multilingual-Plane_characters_if_their_presence_earlier_in_the_string_is_unknown\n\n /**\n * Append a UTF-8 string to the hash buffer\n * @param str String to append\n */\n public appendStr(str: string) {\n const buf8 = this._buffer8;\n const buf32 = this._buffer32;\n let bufLen = this._bufferLength;\n let code;\n let i;\n\n for (i = 0; i < str.length; i += 1) {\n code = str.charCodeAt(i);\n if (code < 128) {\n buf8[bufLen++] = code;\n } else if (code < 0x800) {\n buf8[bufLen++] = (code >>> 6) + 0xC0;\n buf8[bufLen++] = code & 0x3F | 0x80;\n } else if (code < 0xD800 || code > 0xDBFF) {\n buf8[bufLen++] = (code >>> 12) + 0xE0;\n buf8[bufLen++] = (code >>> 6 & 0x3F) | 0x80;\n buf8[bufLen++] = (code & 0x3F) | 0x80;\n } else {\n code = ((code - 0xD800) * 0x400) + (str.charCodeAt(++i) - 0xDC00) + 0x10000;\n if (code > 0x10FFFF) {\n throw new Error('Unicode standard supports code points up to U+10FFFF');\n }\n buf8[bufLen++] = (code >>> 18) + 0xF0;\n buf8[bufLen++] = (code >>> 12 & 0x3F) | 0x80;\n buf8[bufLen++] = (code >>> 6 & 0x3F) | 0x80;\n buf8[bufLen++] = (code & 0x3F) | 0x80;\n }\n if (bufLen >= 64) {\n this._dataLength += 64;\n Md5._md5cycle(this._state, buf32);\n bufLen -= 64;\n buf32[0] = buf32[16];\n }\n }\n this._bufferLength = bufLen;\n return this;\n }\n\n /**\n * Append an ASCII string to the hash buffer\n * @param str String to append\n */\n public appendAsciiStr(str: string) {\n const buf8 = this._buffer8;\n const buf32 = this._buffer32;\n let bufLen = this._bufferLength;\n let i;\n let j = 0;\n\n for (; ;) {\n i = Math.min(str.length - j, 64 - bufLen);\n while (i--) {\n buf8[bufLen++] = str.charCodeAt(j++);\n }\n if (bufLen < 64) {\n break;\n }\n this._dataLength += 64;\n Md5._md5cycle(this._state, buf32);\n bufLen = 0;\n }\n this._bufferLength = bufLen;\n return this;\n }\n\n /**\n * Append a byte array to the hash buffer\n * @param input array to append\n */\n public appendByteArray(input: Uint8Array) {\n const buf8 = this._buffer8;\n const buf32 = this._buffer32;\n let bufLen = this._bufferLength;\n let i;\n let j = 0;\n\n for (; ;) {\n i = Math.min(input.length - j, 64 - bufLen);\n while (i--) {\n buf8[bufLen++] = input[j++];\n }\n if (bufLen < 64) {\n break;\n }\n this._dataLength += 64;\n Md5._md5cycle(this._state, buf32);\n bufLen = 0;\n }\n this._bufferLength = bufLen;\n return this;\n }\n\n /**\n * Get the state of the hash buffer\n */\n public getState(): HasherState {\n const s = this._state;\n\n return {\n buffer: String.fromCharCode.apply(null, Array.from(this._buffer8)),\n buflen: this._bufferLength,\n length: this._dataLength,\n state: [s[0], s[1], s[2], s[3]]\n };\n }\n\n /**\n * Override the current state of the hash buffer\n * @param state New hash buffer state\n */\n public setState(state: HasherState) {\n const buf = state.buffer;\n const x = state.state;\n const s = this._state;\n let i;\n\n this._dataLength = state.length;\n this._bufferLength = state.buflen;\n s[0] = x[0];\n s[1] = x[1];\n s[2] = x[2];\n s[3] = x[3];\n\n for (i = 0; i < buf.length; i += 1) {\n this._buffer8[i] = buf.charCodeAt(i);\n }\n }\n\n /**\n * Hash the current state of the hash buffer and return the result\n * @param raw Whether to return the value as an `Int32Array`\n */\n public end(raw: boolean = false) {\n const bufLen = this._bufferLength;\n const buf8 = this._buffer8;\n const buf32 = this._buffer32;\n const i = (bufLen >> 2) + 1;\n\n this._dataLength += bufLen;\n const dataBitsLen = this._dataLength * 8\n\n buf8[bufLen] = 0x80;\n buf8[bufLen + 1] = buf8[bufLen + 2] = buf8[bufLen + 3] = 0;\n buf32.set(Md5.buffer32Identity.subarray(i), i);\n\n if (bufLen > 55) {\n Md5._md5cycle(this._state, buf32);\n buf32.set(Md5.buffer32Identity);\n }\n\n // Do the final computation based on the tail and length\n // Beware that the final length may not fit in 32 bits so we take care of that\n if (dataBitsLen <= 0xFFFFFFFF) {\n buf32[14] = dataBitsLen;\n } else {\n const matches = dataBitsLen.toString(16).match(/(.*?)(.{0,8})$/);\n if (matches === null) {\n return;\n }\n\n const lo = parseInt(matches[2], 16);\n const hi = parseInt(matches[1], 16) || 0;\n\n buf32[14] = lo;\n buf32[15] = hi;\n }\n\n Md5._md5cycle(this._state, buf32);\n\n return raw ? this._state : Md5._hex(this._state);\n }\n}\n\nif (Md5.hashStr('hello') !== '5d41402abc4b2a76b9719d911017c592') {\n throw new Error('Md5 self test failed.');\n}\n", "export enum AdType{\r\n Banner = \"Banner\",\r\n Inters = \"Inters\",\r\n Native = \"Native\",\r\n Video = \"Video\",\r\n NativeBanner = \"NativeBanner\"\r\n}", "import { sys, Node, resources, Prefab, instantiate, view } from \"cc\"\r\nimport { AdState } from \"./AdState\"\r\nimport { AdType } from \"./AdType\"\r\nimport { GameInterface } from \"./GameInterface\"\r\nimport { BannerType } from \"./minigame/BannerType\"\r\nimport { DebugGame } from \"./minigame/DebugGame\"\r\nimport { InterstitialType } from \"./minigame/InterstitialType\"\r\nimport { MiniGame } from \"./minigame/MiniGame\"\r\nimport { PayParams } from \"./minigame/PayParams\"\r\nimport { PrivacyListener } from \"./minigame/PrivacyListener\"\r\nimport { Config, sdkconfig } from \"./SDKConfig\"\r\nimport { StorageUtils } from \"./StorageUtils\"\r\nimport { PrivacyEvent } from \"./minigame/PrivacyEvent\"\r\nimport { AndroidGame } from \"./nativegame/anroid/AndroidGame\"\r\n\r\nexport class YCSDK {\r\n\r\n private static instance: YCSDK\r\n private platform: GameInterface\r\n private states: Array<AdState> = []\r\n private suportPlatfrom = [sys.Platform.HUAWEI_QUICK_GAME, sys.Platform.XIAOMI_QUICK_GAME, sys.Platform.OPPO_MINI_GAME, sys.Platform.VIVO_MINI_GAME, sys.Platform.BYTEDANCE_MINI_GAME, sys.Platform.WECHAT_GAME]\r\n private privacyKey: string = \"PRIVACY\"\r\n private gameNode: Node\r\n\r\n private constructor() {\r\n this.createPlatform()\r\n }\r\n\r\n public static get ins(): YCSDK {\r\n if (!YCSDK.instance) {\r\n YCSDK.instance = new YCSDK()\r\n }\r\n return YCSDK.instance\r\n }\r\n\r\n private createPlatform(): void {\r\n let platform = sys.platform\r\n console.log(\"current platform:\", platform)\r\n if (platform == sys.Platform.ANDROID) {\r\n this.platform = new AndroidGame()\r\n return\r\n }\r\n if (this.isSupportMiniGame(platform)) {\r\n this.platform = new MiniGame(platform)\r\n return\r\n }\r\n console.log(\"ycsdk\u6682\u4E0D\u652F\u6301\u8BE5\u5C0F\u6E38\u620F\u5E73\u53F0,\u4EE5\u8C03\u8BD5\u6A21\u5F0F\u8FD0\u884C\")\r\n this.platform = new DebugGame()\r\n }\r\n\r\n isSupportMiniGame(platform) {\r\n return this.suportPlatfrom.includes(platform)\r\n }\r\n\r\n isRun(platform): boolean {\r\n return sys.platform == platform;\r\n }\r\n\r\n init(config: Config, callBack?: Function) {\r\n console.log(\"ycsdk init\")\r\n if (!config) {\r\n console.log(\"ycsdk init fail, config is null\")\r\n callBack && callBack()\r\n return\r\n }\r\n sdkconfig.pkgName = config.pkgName\r\n sdkconfig.appId = config.appId\r\n sdkconfig.bannerId = config.bannerId\r\n sdkconfig.intersId = config.intersId\r\n sdkconfig.nativeId = config.nativeId\r\n sdkconfig.videoId = config.videoId\r\n sdkconfig.nativeBannerId = config.nativeBannerId\r\n sdkconfig.extension = config.extension\r\n this.platform.init(callBack)\r\n }\r\n\r\n agreePrivacy(): boolean {\r\n if (this.isRun(sys.Platform.ANDROID)) {\r\n return true\r\n }\r\n return StorageUtils.getStringData(this.privacyKey) == 'agree'\r\n }\r\n\r\n showPolicy(node: Node, callBack: PrivacyListener): void {\r\n console.log(\"ycsdk showPolicy\")\r\n this.gameNode = node\r\n this.platform.showPolicy(node, callBack)\r\n }\r\n\r\n login(callBack?: Function): void {\r\n console.log(\"ycsdk login\")\r\n this.platform.login(callBack)\r\n }\r\n\r\n pay(params: PayParams, callBack: Function): void {\r\n this.platform.pay(params.toJSonString(), callBack)\r\n }\r\n\r\n showBanner(position: BannerType = BannerType.Bottom): void {\r\n console.log(\"ycsdk show banner, type:\", position)\r\n this.platform.showBanner(position)\r\n }\r\n\r\n hideBanner(): void {\r\n this.platform.hideBanner()\r\n }\r\n\r\n random(max: number): number {\r\n max = Math.floor(max)\r\n return Math.floor(Math.random() * max) + 1\r\n }\r\n\r\n showInters(type?: InterstitialType): void {\r\n console.log(\"ycsdk show interstitial, type:\", type)\r\n this.platform.showInters(type)\r\n }\r\n\r\n hideInters(type: InterstitialType = InterstitialType.Native): void {\r\n this.platform.hideInters(type)\r\n }\r\n\r\n showVideo(callback: Function): boolean {\r\n console.log(\"ycsdk show video\")\r\n return this.platform.showVideo(callback)\r\n }\r\n\r\n customFunc(methodName: string, params: any[], callBack: Function) {\r\n this.platform.customFunc(methodName, params, callBack)\r\n }\r\n\r\n setAdStateListener(state: AdState) {\r\n if (this.states.includes(state)) {\r\n console.log(\"setAdStateListener interface is called\")\r\n return\r\n }\r\n this.states.push(state)\r\n }\r\n vertical(): boolean {\r\n let winSize = view.getDesignResolutionSize()\r\n console.log('vertical:', winSize.height > winSize.width)\r\n return winSize.height > winSize.width\r\n }\r\n\r\n setGameNode(node: Node) {\r\n this.gameNode = node\r\n }\r\n\r\n getGameNode(): Node {\r\n return this.gameNode\r\n }\r\n\r\n onLoad(type: AdType) {\r\n if (!this.states.length) {\r\n return\r\n }\r\n this.states.forEach(state => {\r\n state.onLoad(type)\r\n })\r\n }\r\n\r\n onError(type: AdType, callback?: Function) {\r\n if (!this.states.length) {\r\n return\r\n }\r\n this.states.forEach(state => {\r\n state.onError(type, callback)\r\n })\r\n }\r\n\r\n onShow(type: AdType) {\r\n if (!this.states.length) {\r\n return\r\n }\r\n this.states.forEach(state => {\r\n state.onShow(type)\r\n })\r\n }\r\n\r\n onClick(type: AdType) {\r\n if (!this.states.length) {\r\n return\r\n }\r\n this.states.forEach(state => {\r\n state.onClick(type)\r\n })\r\n }\r\n\r\n onClose(type: AdType) {\r\n if (!this.states.length) {\r\n return\r\n }\r\n this.states.forEach(state => {\r\n state.onClose(type)\r\n })\r\n }\r\n\r\n onReward() {\r\n if (!this.states.length) {\r\n return\r\n }\r\n this.states.forEach(state => {\r\n state.onReward()\r\n })\r\n }\r\n}", "import { instantiate, Node, Prefab, resources } from \"cc\";\r\nimport { GameInterface } from \"../GameInterface\";\r\nimport { BannerType } from \"./BannerType\";\r\nimport { InterstitialType } from \"./InterstitialType\";\r\nimport { PrivacyListener } from \"./PrivacyListener\";\r\nimport { StorageUtils } from \"../StorageUtils\";\r\nimport { PrivacyEvent } from \"./PrivacyEvent\";\r\nimport { YCSDK } from \"../YCSDK\";\r\n\r\nexport class DebugGame implements GameInterface {\r\n private privacyKey: string = \"PRIVACY\"\r\n\r\n init(callBack?): void {\r\n console.log(\"debug init\")\r\n callBack && callBack()\r\n }\r\n\r\n showPolicy(node: Node, callBack: PrivacyListener): void {\r\n let agree = StorageUtils.getStringData(this.privacyKey)\r\n console.log(agree)\r\n if (agree == 'agree') {\r\n console.log(\"user agree privacy, not show\")\r\n callBack.userAgree && callBack.userAgree()\r\n return\r\n }\r\n if (!node) {\r\n console.log(\"node is null\")\r\n callBack.nodeError && callBack.nodeError()\r\n return\r\n }\r\n resources.load('Privacy/policyUI', Prefab, (err, prefab) => {\r\n if (err) {\r\n console.error('\u52A0\u8F7D\u9690\u79C1\u653F\u7B56Prefab\u5931\u8D25:', err)\r\n return\r\n }\r\n const yinsiUI = instantiate(prefab)\r\n const content = yinsiUI.getChildByName('panel').getChildByName('content')\r\n if (!content.getComponent(PrivacyEvent)) {\r\n content.addComponent(PrivacyEvent)\r\n }\r\n const agree = yinsiUI.getChildByName('panel').getChildByName('agree')\r\n agree.on(Node.EventType.TOUCH_END, () => {\r\n callBack.onAgree && callBack.onAgree()\r\n StorageUtils.setStringData(this.privacyKey, \"agree\")\r\n yinsiUI.active = false\r\n }, this)\r\n const disagree = yinsiUI.getChildByName('panel').getChildByName('disagree')\r\n disagree.on(Node.EventType.TOUCH_END, () => {\r\n callBack.onDisAgree && callBack.onDisAgree()\r\n yinsiUI.getChildByName('panel').getChildByName('tip').active = true\r\n }, this)\r\n node.addChild(yinsiUI)\r\n })\r\n }\r\n\r\n login(callBack?: Function): void {\r\n console.log(\"debug call login\")\r\n }\r\n\r\n pay(params: string, callBack: Function): void {\r\n console.log(\"bubug call pay\")\r\n }\r\n\r\n showBanner(position: BannerType): void {\r\n console.log(\"bubug call show banner\")\r\n }\r\n\r\n hideBanner(): void {\r\n console.log(\"bubug call hide banner\")\r\n }\r\n\r\n showInters(type: InterstitialType): void {\r\n console.log(\"debug call show interstitial ad type:\", type)\r\n }\r\n\r\n hideInters(type: InterstitialType): void {\r\n console.log(\"bubug call hide interstitial\")\r\n }\r\n\r\n showVideo(callBack: Function): boolean {\r\n console.log(\"call debug show video ad\")\r\n callBack && callBack(true)\r\n return true\r\n }\r\n\r\n customFunc(methodName: string, params: any[], callBack: Function) {\r\n console.log(\"bubug call custom function name:\", methodName)\r\n }\r\n\r\n}", "import { Component, instantiate, Prefab, resources, Node, sys } from \"cc\"\r\nimport { YCSDK } from \"../YCSDK\"\r\n\r\nexport class PrivacyEvent extends Component {\r\n\r\n private yinsiUI: Node\r\n\r\n onLoad(): void {\r\n if (YCSDK.ins.isRun(sys.Platform.ANDROID)) {\r\n return\r\n }\r\n resources.load('Privacy/yinsiUI', Prefab, (err, prefab: Prefab) => {\r\n if (err) {\r\n console.error('\u52A0\u8F7DPrefab\u5931\u8D25:', err)\r\n return\r\n }\r\n this.yinsiUI = instantiate(prefab)\r\n const close = this.yinsiUI.getChildByName('window').getChildByName('closeBtn')\r\n close.on(Node.EventType.TOUCH_END, () => {\r\n this.yinsiUI.active = false\r\n }, this)\r\n YCSDK.ins.getGameNode().addChild(this.yinsiUI)\r\n })\r\n }\r\n\r\n openPrivacyPolicy(event) {\r\n console.log(\"\u70B9\u51FB\u9690\u79C1\u653F\u7B56\")\r\n if (YCSDK.ins.isRun(sys.Platform.ANDROID)) {\r\n YCSDK.ins.showPolicy(null, null)\r\n return\r\n }\r\n if (YCSDK.ins.isRun(sys.Platform.HUAWEI_QUICK_GAME)) {\r\n this.hwOpen()\r\n return\r\n }\r\n this.open()\r\n }\r\n\r\n hwOpen() {\r\n const qg = window['qg']\r\n if (!qg) {\r\n console.log('qg is null')\r\n return\r\n }\r\n qg.openDeeplink({\r\n uri: 'https://ds.rhino-times.com/tl/docs/m_privateprotocol.html'\r\n })\r\n }\r\n\r\n open() {\r\n this.yinsiUI.active = true\r\n }\r\n}", "import { instantiate, Node, Prefab, resources, sys } from \"cc\";\r\nimport { AdTactics } from \"../AdTactics\";\r\nimport { GameInterface } from \"../GameInterface\";\r\nimport { sdkconfig } from \"../SDKConfig\";\r\nimport { YCSDK } from \"../YCSDK\";\r\nimport { BannerType } from \"./BannerType\";\r\nimport { DouYinGame } from \"./douyin/DouYinGame\";\r\nimport HttpRequest from \"./HttpRequest\";\r\nimport { HuaWeiGame } from \"./huawei/HuaWeiGame\";\r\nimport { InterstitialType } from \"./InterstitialType\";\r\nimport { KuaiShouGame } from \"./kuaishou/KuaiShouGame\";\r\nimport { OppoGame } from \"./oppo/OppoGame\";\r\nimport { VivoGame } from \"./vivo/VivoGame\";\r\nimport { XiaoMiGame } from \"./xiaomi/XiaoMiGame\";\r\nimport { WeChatGame } from \"./wechat/WeChatGame\";\r\nimport { Md5 } from \"./md5\";\r\nimport { PrivacyListener } from \"./PrivacyListener\";\r\nimport { StorageUtils } from \"../StorageUtils\";\r\nimport { PrivacyEvent } from \"./PrivacyEvent\";\r\n\r\nexport class MiniGame implements GameInterface {\r\n\r\n private channel: GameInterface\r\n private privacyKey: string = \"PRIVACY\"\r\n\r\n constructor(platform) {\r\n this.channelFactory(platform)\r\n }\r\n\r\n private channelFactory(platform) {\r\n console.log(\"switch platform:\", platform)\r\n switch (platform) {\r\n case sys.Platform.HUAWEI_QUICK_GAME:\r\n this.channel = new HuaWeiGame()\r\n break\r\n case sys.Platform.XIAOMI_QUICK_GAME:\r\n this.channel = new XiaoMiGame()\r\n break\r\n case sys.Platform.OPPO_MINI_GAME:\r\n this.channel = new OppoGame()\r\n break\r\n case sys.Platform.VIVO_MINI_GAME:\r\n this.channel = new VivoGame()\r\n break\r\n case sys.Platform.BYTEDANCE_MINI_GAME:\r\n this.channel = new DouYinGame()\r\n break\r\n case sys.Platform.WECHAT_GAME:\r\n this.channel = new WeChatGame()\r\n break\r\n default:\r\n break\r\n }\r\n }\r\n\r\n jsonToKeyValue(json: Record<string, any>): string {\r\n return Object.entries(json)\r\n .map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`)\r\n .join('&');\r\n }\r\n\r\n init(callBack?): void {\r\n if (!YCSDK.ins.isRun(sys.Platform.OPPO_MINI_GAME)) {\r\n this.setAdStateListener()\r\n this.channel.init(callBack)\r\n return\r\n }\r\n const url = \"https://iaa.rhino-times.com/api/game/query-match-config\"\r\n const data = { pkgName: sdkconfig.pkgName, version: sdkconfig.version }\r\n const sign = Md5.hashStr(this.jsonToKeyValue(data))\r\n data[\"sign\"] = sign\r\n HttpRequest.get().requestPostjson(url, data, (success, result) => {\r\n if (!success || !result) {\r\n this.setAdStateListener()\r\n this.channel.init(callBack)\r\n return\r\n }\r\n const res = result.oexts\r\n sdkconfig.open = result.open\r\n sdkconfig.ratio = res.ratio\r\n sdkconfig.subornUserTest = res.subornUserTest\r\n this.setAdStateListener()\r\n this.channel.init(callBack)\r\n })\r\n }\r\n\r\n setAdStateListener() {\r\n const st = new AdTactics()\r\n st.refreshAll()\r\n YCSDK.ins.setAdStateListener(st)\r\n }\r\n\r\n showPolicy(node: Node, callBack: PrivacyListener): void {\r\n let agree = StorageUtils.getStringData(this.privacyKey)\r\n console.log(agree)\r\n if (agree == 'agree') {\r\n console.log(\"user agree privacy, not show\")\r\n callBack.userAgree && callBack.userAgree()\r\n return\r\n }\r\n if (!node) {\r\n console.log(\"node is null\")\r\n callBack.nodeError && callBack.nodeError()\r\n return\r\n }\r\n resources.load('Privacy/policyUI', Prefab, (err, prefab) => {\r\n if (err) {\r\n console.error('\u52A0\u8F7D\u9690\u79C1\u653F\u7B56Prefab\u5931\u8D25:', err)\r\n return\r\n }\r\n const yinsiUI = instantiate(prefab)\r\n const content = yinsiUI.getChildByName('panel').getChildByName('content')\r\n if (!content.getComponent(PrivacyEvent)) {\r\n content.addComponent(PrivacyEvent)\r\n }\r\n const agree = yinsiUI.getChildByName('panel').getChildByName('agree')\r\n agree.on(Node.EventType.TOUCH_END, () => {\r\n callBack.onAgree && callBack.onAgree()\r\n StorageUtils.setStringData(this.privacyKey, \"agree\")\r\n yinsiUI.active = false\r\n })\r\n const disagree = yinsiUI.getChildByName('panel').getChildByName('disagree')\r\n disagree.on(Node.EventType.TOUCH_END, () => {\r\n yinsiUI.getChildByName('panel').getChildByName('tip').active = true\r\n callBack.onDisAgree && callBack.onDisAgree()\r\n })\r\n node.addChild(yinsiUI)\r\n })\r\n }\r\n\r\n login(callBack?: Function): void {\r\n this.channel.login(callBack)\r\n }\r\n\r\n pay(params: string, callBack): void {\r\n this.channel.pay(params, callBack)\r\n }\r\n\r\n showBanner(position: BannerType): void {\r\n if (!sdkconfig.open) {\r\n console.log(\"\u5E7F\u544A\u672A\u5F00\u542F\")\r\n return\r\n }\r\n this.channel.showBanner(position)\r\n }\r\n\r\n hideBanner(): void {\r\n this.channel.hideBanner()\r\n }\r\n\r\n showInters(type: InterstitialType): void {\r\n if (!sdkconfig.open) {\r\n console.log(\"\u5E7F\u544A\u672A\u5F00\u542F\")\r\n return\r\n }\r\n this.channel.showInters(type)\r\n }\r\n\r\n hideInters(type: InterstitialType = InterstitialType.Native): void {\r\n this.channel.hideInters(type)\r\n }\r\n\r\n showVideo(callBack: Function): boolean {\r\n if (!sdkconfig.open) {\r\n console.log(\"\u5E7F\u544A\u672A\u5F00\u542F\")\r\n callBack && callBack(true)//\u4E0D\u5F71\u54CD\u6B63\u5E38\u6E38\u73A9\uFF0C\u4E0B\u53D1\u5956\u52B1\r\n return false\r\n }\r\n return this.channel.showVideo(callBack)\r\n }\r\n\r\n customFunc(methodName: string, params: any[], callBack: Function) {\r\n if (!sdkconfig.open) {\r\n console.log(\"\u5E7F\u544A\u672A\u5F00\u542F\")\r\n return\r\n }\r\n this.channel.customFunc(methodName, params, callBack)\r\n }\r\n}\r\n", "import { sys } from \"cc\"\r\nimport { AdState } from \"./AdState\"\r\nimport { AdType } from \"./AdType\"\r\nimport { BannerType } from \"./minigame/BannerType\"\r\nimport { InterstitialType } from \"./minigame/InterstitialType\"\r\nimport { sdkconfig } from \"./SDKConfig\"\r\nimport { YCSDK } from \"./YCSDK\"\r\n\r\nexport class AdTactics implements AdState {\r\n\r\n private bannerIndex: number = 0\r\n private bannerLoaded: string[] = []\r\n private intersIndex: number = 0\r\n private intersLoaded: string[] = []\r\n private nativeIndex: number = 0\r\n private nativeLoaded: string[] = []\r\n private videoIndex: number = 0\r\n private videoLoaded: string[] = []\r\n private nativeBannerIndex: number = 0\r\n private nativeBanerLoaded: string[] = []\r\n\r\n onLoad(type: AdType): void {\r\n console.log(\"on load: \", type)\r\n this.refreshId(type)//\u52A0\u8F7D\u5E7F\u544A\u6210\u529F\u540E\u6362id\r\n switch (type) {\r\n case AdType.Banner:\r\n this.bannerLoaded = []\r\n break\r\n case AdType.NativeBanner:\r\n this.nativeBanerLoaded = []\r\n break\r\n case AdType.Inters:\r\n this.intersLoaded = []\r\n break\r\n case AdType.Native:\r\n this.nativeLoaded = []\r\n break\r\n case AdType.Video:\r\n this.videoLoaded = []\r\n break\r\n }\r\n }\r\n\r\n onError(type: AdType, callBack?: Function): void {\r\n console.log(\"on error: \", type)\r\n if (YCSDK.ins.isRun(sys.Platform.OPPO_MINI_GAME)) {\r\n this.reLoadAd(type, callBack)\r\n }\r\n }\r\n\r\n onShow(type: AdType): void {\r\n console.log(\"on show: \", type)\r\n }\r\n\r\n onClick(type: AdType): void {\r\n console.log(\"on click: \", type)\r\n }\r\n\r\n onClose(type: AdType, callBack?: Function): void {\r\n console.log(\"on close: \", type)\r\n }\r\n\r\n onReward(): void {\r\n console.log(\"on reward\")\r\n }\r\n\r\n reLoadAd(type: AdType, callback): void {\r\n console.log(\"reLoadAd: \", type)\r\n switch (type) {\r\n case AdType.Banner:\r\n this.reshowBanner()\r\n break\r\n case AdType.NativeBanner:\r\n this.reshowNativeBanner()\r\n break\r\n case AdType.Inters:\r\n this.reshowInterstitial()\r\n break\r\n case AdType.Native:\r\n this.reshowNative()\r\n break\r\n case AdType.Video:\r\n this.reshowVideo(callback)\r\n break\r\n }\r\n }\r\n\r\n reshowBanner() {\r\n const length = sdkconfig.bannerId.length\r\n if (length == 0 || length == 1) {\r\n console.log(\"re show banner need more than 1 id\")\r\n return\r\n }\r\n if (this.bannerLoaded.includes(sdkconfig.ycBannerId)) {\r\n console.log(\"reshowBanner1: \", sdkconfig.ycBannerId, \" already loaded\")\r\n this.bannerLoaded = []\r\n return\r\n }\r\n this.bannerLoaded.push(sdkconfig.ycBannerId)\r\n this.refreshId(AdType.Banner)\r\n if (this.bannerLoaded.includes(sdkconfig.ycBannerId)) {\r\n console.log(\"reshowBanner2: \", sdkconfig.ycBannerId, \" already loaded\")\r\n this.bannerLoaded = []\r\n return\r\n }\r\n YCSDK.ins.showBanner()\r\n }\r\n\r\n reshowNativeBanner() {\r\n const length = sdkconfig.nativeBannerId.length\r\n if (length == 0 || length == 1) {\r\n console.log(\"re show native banner need more than 1 id\")\r\n return\r\n }\r\n if (this.nativeBanerLoaded.includes(sdkconfig.ycNativeBannerId)) {\r\n console.log(\"reshow native Banner1: \", sdkconfig.ycNativeBannerId, \" already loaded\")\r\n this.nativeBanerLoaded = []\r\n return\r\n }\r\n this.nativeBanerLoaded.push(sdkconfig.ycNativeBannerId)\r\n this.refreshId(AdType.Banner)\r\n if (this.nativeBanerLoaded.includes(sdkconfig.ycNativeBannerId)) {\r\n console.log(\"reshow native Banner2: \", sdkconfig.ycNativeBannerId, \" already loaded\")\r\n this.nativeBanerLoaded = []\r\n return\r\n }\r\n YCSDK.ins.showBanner(BannerType.Native)\r\n }\r\n\r\n reshowNative() {\r\n const length = sdkconfig.nativeId.length\r\n if (length == 0 || length == 1) {\r\n console.log(\"re show native need more than 1 id\")\r\n return\r\n }\r\n if (this.nativeLoaded.includes(sdkconfig.ycNativeId)) {\r\n console.log(\"reshowNative1: \", sdkconfig.ycNativeId, \" already loaded\")\r\n this.nativeLoaded = []\r\n return\r\n }\r\n this.nativeLoaded.push(sdkconfig.ycNativeId)\r\n this.refreshId(AdType.Native)\r\n if (this.nativeLoaded.includes(sdkconfig.ycNativeId)) {\r\n console.log(\"reshowNative2: \", sdkconfig.ycNativeId, \" already loaded\")\r\n this.nativeLoaded = []\r\n return\r\n }\r\n YCSDK.ins.showInters(InterstitialType.Native)\r\n }\r\n\r\n reshowInterstitial() {\r\n const length = sdkconfig.intersId.length\r\n if (length == 0 || length == 1) {\r\n console.log(\"re show inters need more than 1 id\")\r\n return\r\n }\r\n if (this.intersLoaded.includes(sdkconfig.ycIntersId)) {\r\n console.log(\"reshowInterstitial1: \", sdkconfig.ycIntersId, \" already loaded\")\r\n this.intersLoaded = []\r\n return\r\n }\r\n this.intersLoaded.push(sdkconfig.ycIntersId)\r\n this.refreshId(AdType.Inters)\r\n if (this.intersLoaded.includes(sdkconfig.ycIntersId)) {\r\n console.log(\"reshowInterstitial2: \", sdkconfig.ycIntersId, \" already loaded\")\r\n this.intersLoaded = []\r\n return\r\n }\r\n YCSDK.ins.showInters(InterstitialType.Initial)\r\n }\r\n\r\n reshowVideo(callback) {\r\n const length = sdkconfig.videoId.length\r\n if (length == 0 || length == 1) {\r\n console.log(\"re show video need more than 1 id\")\r\n callback && callback(false)\r\n return\r\n }\r\n if (this.videoLoaded.includes(sdkconfig.ycVideoId)) {\r\n console.log(\"reshowVideo1: \", sdkconfig.ycVideoId, \" already loaded\")\r\n callback && callback(false)\r\n this.videoLoaded = []\r\n return\r\n }\r\n this.videoLoaded.push(sdkconfig.ycVideoId)\r\n this.refreshId(AdType.Video)\r\n if (this.videoLoaded.includes(sdkconfig.ycVideoId)) {\r\n console.log(\"reshowVideo2: \", sdkconfig.ycVideoId, \" already loaded\")\r\n callback && callback(false)\r\n this.videoLoaded = []\r\n return\r\n }\r\n YCSDK.ins.showVideo(callback)\r\n }\r\n\r\n refreshAll() {\r\n const keys = Object.keys(AdType) as AdType[]\r\n for (const type of keys) {\r\n this.refreshId(type)\r\n }\r\n console.log(\"refreshAll\")\r\n }\r\n\r\n checkBannerId() {\r\n var id = sdkconfig.bannerId\r\n if (!id) {\r\n console.log(\"bannerId is not config\")\r\n return\r\n }\r\n if (!Array.isArray(id)) {\r\n console.log(\"bannerId is only one\")\r\n sdkconfig.ycBannerId = id\r\n return\r\n }\r\n if (id.length == 1) {\r\n if (!id[0]) {\r\n console.log(\"id[0] config is empty string\")\r\n return\r\n }\r\n sdkconfig.ycBannerId = id[0]\r\n return\r\n }\r\n if (id.length == 0) {\r\n console.log(\"bannerId config is empty\")\r\n return\r\n }\r\n sdkconfig.ycBannerId = id[this.bannerIndex]\r\n this.bannerIndex += 1\r\n if (this.bannerIndex >= id.length) {\r\n this.bannerIndex = 0\r\n }\r\n }\r\n\r\n checkNativeBannerId() {\r\n var id = sdkconfig.nativeBannerId\r\n if (!id) {\r\n console.log(\"native banner id is not config\")\r\n return\r\n }\r\n if (!Array.isArray(id)) {\r\n console.log(\"native banner id is only one\")\r\n sdkconfig.ycNativeBannerId = id\r\n return\r\n }\r\n if (id.length == 1) {\r\n if (!id[0]) {\r\n console.log(\"id[0] config is empty string\")\r\n return\r\n }\r\n sdkconfig.ycNativeBannerId = id[0]\r\n return\r\n }\r\n if (id.length == 0) {\r\n console.log(\"native banner id config is empty\")\r\n return\r\n }\r\n sdkconfig.ycNativeBannerId = id[this.nativeBannerIndex]\r\n this.nativeBannerIndex += 1\r\n if (this.nativeBannerIndex >= id.length) {\r\n this.nativeBannerIndex = 0\r\n }\r\n }\r\n\r\n checkIntersId() {\r\n var id = sdkconfig.intersId\r\n if (!id) {\r\n console.log(\"intersId is not config\")\r\n return\r\n }\r\n if (!Array.isArray(id)) {\r\n console.log(\"intersId is only one\")\r\n sdkconfig.ycIntersId = id\r\n return\r\n }\r\n if (id.length == 1) {\r\n if (!id[0]) {\r\n console.log(\"id[0] config is empty string\")\r\n return\r\n }\r\n sdkconfig.ycIntersId = id[0]\r\n return\r\n }\r\n if (id.length == 0) {\r\n console.log(\"intersId config is empty\")\r\n return\r\n }\r\n sdkconfig.ycIntersId = id[this.intersIndex]\r\n this.intersIndex += 1\r\n if (this.intersIndex >= id.length) {\r\n this.intersIndex = 0\r\n }\r\n }\r\n\r\n checkNativeId() {\r\n var id = sdkconfig.nativeId\r\n if (!id) {\r\n console.log(\"nativeId is not config\")\r\n return\r\n }\r\n if (!Array.isArray(id)) {\r\n console.log(\"nativeId is only one\")\r\n sdkconfig.ycNativeId = id\r\n return\r\n }\r\n if (id.length == 1) {\r\n if (!id[0]) {\r\n console.log(\"id[0] config is empty string\")\r\n return\r\n }\r\n sdkconfig.ycNativeId = id[0]\r\n return\r\n }\r\n if (id.length == 0) {\r\n console.log(\"nativeId config is empty\")\r\n return\r\n }\r\n sdkconfig.ycNativeId = id[this.nativeIndex]\r\n this.nativeIndex += 1\r\n if (this.nativeIndex >= id.length) {\r\n this.nativeIndex = 0\r\n }\r\n }\r\n\r\n checkVideoId() {\r\n var id = sdkconfig.videoId\r\n if (!id) {\r\n console.log(\"videoId is not config\")\r\n return\r\n }\r\n if (!Array.isArray(id)) {\r\n console.log(\"videoId is only one\")\r\n sdkconfig.ycVideoId = id\r\n return\r\n }\r\n if (id.length == 1) {\r\n console.log(\"videoId length is 1\")\r\n if (!id[0]) {\r\n console.log(\"id[0] config is empty string\")\r\n return\r\n }\r\n sdkconfig.ycVideoId = id[0]\r\n return\r\n }\r\n if (id.length == 0) {\r\n console.log(\"videoId config is empty\")\r\n return\r\n }\r\n sdkconfig.ycVideoId = id[this.videoIndex]\r\n this.videoIndex += 1\r\n if (this.videoIndex >= id.length) {\r\n this.videoIndex = 0\r\n }\r\n }\r\n\r\n refreshId(type: AdType) {\r\n console.log(\"refresh id, type: \", type)\r\n switch (type) {\r\n case AdType.Banner:\r\n this.checkBannerId()\r\n break\r\n case AdType.NativeBanner:\r\n this.checkNativeBannerId()\r\n break\r\n case AdType.Inters:\r\n this.checkIntersId()\r\n break\r\n case AdType.Native:\r\n this.checkNativeId()\r\n break\r\n case AdType.Video:\r\n this.checkVideoId()\r\n break\r\n }\r\n }\r\n\r\n random(max: number): number {\r\n max = Math.floor(max)\r\n return Math.floor(Math.random() * max)\r\n }\r\n}\r\n\r\n", "import { AdType } from \"../../AdType\";\r\nimport { GameInterface } from \"../../GameInterface\";\r\nimport { sdkconfig } from \"../../SDKConfig\";\r\nimport { YCSDK } from \"../../YCSDK\";\r\nimport { BannerType } from \"../BannerType\";\r\nimport { InterstitialType } from \"../InterstitialType\";\r\n\r\nexport class DouYinGame implements GameInterface {\r\n\r\n private bannerAd = null\r\n private videoAd = null\r\n private callBack: Function = null\r\n\r\n init(): void {\r\n this.initViedoAd(false)\r\n }\r\n\r\n login(callBack?: Function): void {\r\n }\r\n\r\n pay(params: string, callBack: Function): void {\r\n }\r\n\r\n showBanner(position: BannerType): void {\r\n if (!sdkconfig.open) {\r\n console.log(\"\u5E7F\u544A\u672A\u5F00\u542F\")\r\n return\r\n }\r\n this.hideBanner()\r\n this.bannerAd = window['tt'].createBannerAd({\r\n adUnitId: sdkconfig.ycBannerId,\r\n });\r\n this.bannerAd.onLoad(() => {\r\n YCSDK.ins.onLoad(AdType.Banner)\r\n this.bannerAd\r\n .show()\r\n .then(() => {\r\n YCSDK.ins.onShow(AdType.Banner)\r\n console.log(\"\u5E7F\u544A\u663E\u793A\u6210\u529F\");\r\n })\r\n .catch((err) => {\r\n YCSDK.ins.onError(AdType.Banner)\r\n console.log(\"\u5E7F\u544A\u7EC4\u4EF6\u51FA\u73B0\u95EE\u9898\", err);\r\n })\r\n })\r\n\r\n this.bannerAd.onError(({ errorCode, errMsg }) => {\r\n YCSDK.ins.onError(AdType.Banner)\r\n console.log(errorCode, errMsg)\r\n })\r\n\r\n }\r\n\r\n hideBanner(): void {\r\n if (this.bannerAd) {\r\n this.bannerAd.hide()\r\n this.bannerAd.destroy()\r\n this.bannerAd = null\r\n }\r\n }\r\n\r\n showInters(type: InterstitialType): void {\r\n const interstitialAd = window['tt'].createInterstitialAd({\r\n adUnitId: sdkconfig.ycIntersId,\r\n });\r\n interstitialAd.onLoad(() => {\r\n YCSDK.ins.onLoad(AdType.Inters)\r\n console.log('interstitialAd load')\r\n })\r\n\r\n interstitialAd.onError(({ errCode, errMsg }) => {\r\n YCSDK.ins.onError(AdType.Inters)\r\n console.log('\u76D1\u542C\u5230\u9519\u8BEF', errCode, errMsg)\r\n })\r\n interstitialAd.load().then(() => {\r\n interstitialAd.show().then(() => {\r\n YCSDK.ins.onShow(AdType.Inters)\r\n console.log(\"\u63D2\u5C4F\u5E7F\u544A\u5C55\u793A\u6210\u529F\")\r\n })\r\n })\r\n .catch((err) => {\r\n YCSDK.ins.onError(AdType.Inters)\r\n console.log(err)\r\n })\r\n }\r\n\r\n hideInters(type: InterstitialType): void {\r\n }\r\n\r\n initViedoAd(show): void {\r\n this.videoAd = window['tt'].createRewardedVideoAd({\r\n adUnitId: sdkconfig.ycVideoId,\r\n })\r\n this.videoAd.onLoad(() => {\r\n YCSDK.ins.onLoad(AdType.Video)\r\n console.log(\"\u5E7F\u544A\u52A0\u8F7D\u5B8C\u6210\")\r\n })\r\n this.videoAd.onError((errMsg) => {\r\n YCSDK.ins.onError(AdType.Video)\r\n console.log(\"\u5E7F\u544A\u52A0\u8F7D\u5931\u8D25\", errMsg)\r\n })\r\n this.videoAd.onClose((res) => {\r\n if (res && res.isEnded || res === undefined) {\r\n console.log(\"\u5E7F\u544A\u64AD\u653E\u5B8C\u6210\")\r\n this.callBack && this.callBack(true)\r\n } else {\r\n console.log(\"\u5E7F\u544A\u64AD\u653E\u672A\u5B8C\u6210\")\r\n this.callBack && this.callBack(false)\r\n }\r\n })\r\n if (show) {\r\n this.videoAd.load()\r\n .then(() => {\r\n this.videoAd.show()\r\n .then(() => {\r\n YCSDK.ins.onShow(AdType.Video)\r\n console.log(\"\u6FC0\u52B1\u89C6\u9891\u5E7F\u544A\u5C55\u793A\u6210\u529F\")\r\n })\r\n .catch((err) => {\r\n YCSDK.ins.onError(AdType.Video)\r\n console.log(\"\u6FC0\u52B1\u89C6\u9891\u5E7F\u544A\u5C55\u793A\u5931\u8D25\", err)\r\n })\r\n })\r\n } else {\r\n this.videoAd.load()\r\n }\r\n }\r\n\r\n showVideo(callBack: Function): boolean {\r\n this.callBack = callBack\r\n if (!sdkconfig.ycVideoId) {\r\n console.log(\"\u8BF7\u914D\u7F6E\u6FC0\u52B1\u89C6\u9891\u5E7F\u544AID\")\r\n callBack && callBack(false)\r\n YCSDK.ins.onError(AdType.Video)\r\n return false\r\n }\r\n if (this.videoAd) {\r\n this.videoAd.show()\r\n .then(() => {\r\n YCSDK.ins.onShow(AdType.Video)\r\n console.log(\"\u6FC0\u52B1\u89C6\u9891\u5E7F\u544A\u5C55\u793A\u6210\u529F\")\r\n })\r\n .catch((err) => {\r\n YCSDK.ins.onError(AdType.Video)\r\n console.log(\"\u6FC0\u52B1\u89C6\u9891\u5E7F\u544A\u5C55\u793A\u5931\u8D25\", err)\r\n })\r\n return true\r\n }\r\n this.initViedoAd(true)\r\n return false\r\n }\r\n\r\n customFunc(methodName: string, params: any[], callBack: Function) {\r\n }\r\n\r\n}", "export enum ContentType {\r\n APPLICATION_JSON = \"application/json\",\r\n APPLICATION_X_WWW_FORM_URLENCODED = \"application/x-www-form-urlencoded\"\r\n}\r\n\r\nexport default class HttpRequest {\r\n private static instance: HttpRequest\r\n private httpRequest: XMLHttpRequest\r\n public static AUTHORIZATION: string = \"Authorization\"\r\n public static CONTENT_TYPE: string = \"Content-Type\"\r\n public static Accept: string = \"Accept\"\r\n\r\n public static get(): HttpRequest {\r\n if (!HttpRequest.instance) {\r\n HttpRequest.instance = new HttpRequest()\r\n }\r\n return HttpRequest.instance\r\n }\r\n\r\n requestPostx3w(url, data, callback, head?) {\r\n console.log(\"HttpRequest url:\", url)\r\n console.log(\"HttpRequest data:\", JSON.stringify(data))\r\n this.httpRequest = new XMLHttpRequest()\r\n this.httpRequest.onreadystatechange = function () {\r\n console.log(\"HttpRequest\", \"onreadystatechange:\", this.readyState, this.status)\r\n if (this.readyState == 4 && this.status == 200) {\r\n // let response = this.responseText.replace(/:s*([0-9]{15,})s*(,?)/g, ': \"$1\" $2')\r\n let res = JSON.parse(this.responseText)\r\n console.log(\"HttpRequest\", \"response:\", JSON.stringify(res))\r\n if (res.status == 200) {\r\n callback(true, res.data)\r\n } else {\r\n callback(false, res)\r\n }\r\n }\r\n }\r\n this.httpRequest.timeout = 5000\r\n this.httpRequest.ontimeout = () => {\r\n console.log(\"HttpRequest:\", \"request time out\", url)\r\n callback(false)\r\n }\r\n this.httpRequest.onerror = function (e) {\r\n console.log(\"HttpRequest\", url, \" request error\", JSON.stringify(e))\r\n callback(false)\r\n }\r\n this.httpRequest.open(\"POST\", url, true)\r\n this.httpRequest.setRequestHeader(HttpRequest.CONTENT_TYPE, ContentType.APPLICATION_X_WWW_FORM_URLENCODED)\r\n if (head) {\r\n this.httpRequest.setRequestHeader(HttpRequest.AUTHORIZATION, head)\r\n }\r\n this.httpRequest.send(data)\r\n }\r\n\r\n requestGetx3w(url, data, callback, head?) {\r\n console.log(\"HttpRequest url:\", url)\r\n console.log(\"HttpRequest data:\", JSON.stringify(data))\r\n this.httpRequest = new XMLHttpRequest()\r\n this.httpRequest.onreadystatechange = function () {\r\n // console.log(\"HttpRequest\", \"onreadystatechange:\", this.readyState, this.status)\r\n if (this.readyState == 4 && this.status == 200) {\r\n let response = this.responseText.replace(/:s*([0-9]{15,})s*(,?)/g, ': \"$1\" $2')\r\n let res = JSON.parse(response)\r\n console.log(\"HttpRequest\", \"response:\", JSON.stringify(res))\r\n if (res.status == 200) {\r\n callback(true, res.data)\r\n } else {\r\n callback(false, res)\r\n }\r\n }\r\n }\r\n this.httpRequest.timeout = 5000\r\n this.httpRequest.ontimeout = () => {\r\n console.log(\"HttpRequest:\", \"request time out\", url)\r\n callback(false)\r\n }\r\n this.httpRequest.onerror = function (e) {\r\n console.log(\"HttpRequest\", url, \" request error\", JSON.stringify(e))\r\n callback(false)\r\n }\r\n this.httpRequest.open(\"GET\", url, true)\r\n this.httpRequest.setRequestHeader(HttpRequest.CONTENT_TYPE, ContentType.APPLICATION_X_WWW_FORM_URLENCODED)\r\n if (head) {\r\n this.httpRequest.setRequestHeader(HttpRequest.AUTHORIZATION, head)\r\n }\r\n this.httpRequest.send(data)\r\n }\r\n\r\n requestPostjson(url, data, callback, head?) {\r\n console.log(\"HttpRequest url:\", url)\r\n this.httpRequest = new XMLHttpRequest()\r\n this.httpRequest.onreadystatechange = function () {\r\n if (this.readyState == 4 && this.status == 200) {\r\n let res = JSON.parse(this.responseText)\r\n console.log(\"HttpRequest\", \"response:\", JSON.stringify(res))\r\n if (res.code == 0) {\r\n callback(true, res.data.config)\r\n } else {\r\n callback(false, res)\r\n }\r\n }\r\n }\r\n this.httpRequest.timeout = 3000\r\n this.httpRequest.ontimeout = () => {\r\n console.log(\"HttpRequest:\", \"request time out\", url)\r\n callback(false)\r\n }\r\n this.httpRequest.onerror = function (e) {\r\n console.log(\"HttpRequest\", url, \" request error\", JSON.stringify(e))\r\n callback(false)\r\n }\r\n this.httpRequest.open(\"POST\", url, true)\r\n this.httpRequest.setRequestHeader(HttpRequest.Accept, ContentType.APPLICATION_JSON)\r\n this.httpRequest.setRequestHeader(HttpRequest.CONTENT_TYPE, ContentType.APPLICATION_JSON)\r\n // if (head) {\r\n // this.httpRequest.setRequestHeader(HttpRequest.AUTHORIZATION, head)\r\n // }\r\n this.httpRequest.send(JSON.stringify(data))\r\n }\r\n}\r\n\r\n", "import { Asset, assetManager, find, ImageAsset, instantiate, Label, Node, Prefab, resources, Sprite, SpriteFrame, sys, Texture2D, UITransform, View, view } from \"cc\";\r\nimport { AdType } from \"../../AdType\";\r\nimport { GameInterface } from \"../../GameInterface\";\r\nimport { sdkconfig } from \"../../SDKConfig\";\r\nimport { YCSDK } from \"../../YCSDK\";\r\nimport { BannerType } from \"../BannerType\";\r\nimport { InterstitialType } from \"../InterstitialType\";\r\n\r\nexport class HuaWeiGame implements GameInterface {\r\n\r\n private qg = window['qg']\r\n private rewardedVideoAd\r\n private callback\r\n\r\n hideInters(type: InterstitialType): void {\r\n\r\n }\r\n\r\n customFunc(methodName: string, params: any[], callBack: Function) {\r\n\r\n }\r\n\r\n init(callBack?): void {\r\n callBack && callBack()\r\n this.loadVideo(this.callback)\r\n }\r\n\r\n login(callBack?: Function): void {\r\n this.qg.gameLoginWithReal({\r\n forceLogin: 1,\r\n appid: sdkconfig.appId,\r\n success: function (data) {\r\n // \u767B\u5F55\u6210\u529F\u540E\uFF0C\u53EF\u4EE5\u5B58\u50A8\u8D26\u53F7\u4FE1\u606F\u3002\r\n callBack && callBack(true)\r\n console.log(\" game login with real success:\" + JSON.stringify(data))\r\n },\r\n fail: function (data, code) {\r\n console.log(\"game login with real fail:\" + data + \", code:\" + code)\r\n //\u6839\u636E\u72B6\u6001\u7801\u5904\u7406\u6E38\u620F\u7684\u903B\u8F91\u3002\r\n //\u72B6\u6001\u7801\u4E3A7004\u6216\u80052012\uFF0C\u8868\u793A\u73A9\u5BB6\u53D6\u6D88\u767B\u5F55\u3002\r\n //\u6B64\u65F6\uFF0C\u5EFA\u8BAE\u8FD4\u56DE\u6E38\u620F\u754C\u9762\uFF0C\u53EF\u4EE5\u8BA9\u73A9\u5BB6\u91CD\u65B0\u8FDB\u884C\u767B\u5F55\u64CD\u4F5C\u3002\r\n if (code == 7004 || code == 2012) {\r\n console.log(\"\u73A9\u5BB6\u53D6\u6D88\u767B\u5F55\uFF0C\u8FD4\u56DE\u6E38\u620F\u754C\u9762\u8BA9\u73A9\u5BB6\u91CD\u65B0\u767B\u5F55\u3002\")\r\n callBack && callBack(false, 7004)\r\n }\r\n //\u72B6\u6001\u7801\u4E3A7021\u8868\u793A\u73A9\u5BB6\u53D6\u6D88\u5B9E\u540D\u8BA4\u8BC1\u3002\r\n //\u5728\u4E2D\u56FD\u5927\u9646\u7684\u60C5\u51B5\u4E0B\uFF0C\u6B64\u65F6\u9700\u8981\u7981\u6B62\u73A9\u5BB6\u8FDB\u5165\u6E38\u620F\u3002\r\n if (code == 7021) {\r\n callBack && callBack(false, 7021)\r\n console.log(\"\u73A9\u5BB6\u53D6\u6D88\u5B9E\u540D\u8BA4\u8BC1\uFF0C\u7981\u6B62\u8FDB\u5165\u6E38\u620F\")\r\n }\r\n }\r\n })\r\n }\r\n\r\n pay(params: string, callBack: Function): void {\r\n // this.qg.isEnvReady({\r\n // isEnvReadyReq: {\r\n // // \u66FF\u6362\u4E3A\u771F\u5B9E\u6709\u6548\u7684APP ID\r\n // \"applicationID\": \"101***751\"\r\n // },\r\n // success: function (data) {\r\n // console.log(\"isEnvReady data =\", JSON.stringify(data));\r\n // //\u73AF\u5883\u76D1\u6D4B\u901A\u8FC7\uFF0C\u53EF\u4EE5\u8C03\u7528\u652F\u4ED8\u63A5\u53E3\r\n // this.createPurchaseIntent(params, callBack)\r\n // },\r\n // fail: function (data, code) {\r\n // console.log(\"isEnvReady fail data =\" + data, \"code =\" + code);\r\n // }\r\n // })\r\n }\r\n\r\n createPurchaseIntent(params, callBack): void {\r\n // this.qg.createPurchaseIntent({\r\n // purchaseIntentReq: {\r\n // // \u66FF\u6362\u4E3A\u771F\u5B9E\u6709\u6548\u7684APP ID\r\n // \"applicationID\": \"101***751\",\r\n // \"productId\": \"dmy001\",\r\n // \"priceType\": 0,\r\n // \"developerPayload\": \"testPurchase\",\r\n // // \u66FF\u6362\u4E3A\u771F\u5B9E\u6709\u6548\u7684\u652F\u4ED8\u516C\u94A5\r\n // \"publicKey\": \"MIIBojANBgkqh******************aZWT7PzVAeGidLcEeKlAgMBAAE\"\r\n // },\r\n // success: function (data) {\r\n // console.log(\"createPurchaseIntent success =\" + JSON.stringify(data));\r\n // if (data.purchaseState == 0) {\r\n // //\u652F\u4ED8\u6210\u529F\uFF0C\u5BF9\u7ED3\u679C\u9A8C\u7B7E\u540E\u4E0B\u53D1\u5546\u54C1\r\n // this.doCheck()\r\n // //\u4E0B\u53D1\u540E\u6D88\u8017\u8BE5\u5546\u54C1\uFF0C\u53EF\u7EE7\u7EED\u8D2D\u4E70\u8BE5\u5546\u54C1\r\n // this.consumeOwnedPurchase()\r\n // }\r\n // },\r\n // fail: function (data, code) {\r\n // console.log(\"createPurchaseIntent fail data =\" + data, \"code =\" + code);\r\n\r\n // }\r\n // })\r\n }\r\n\r\n doCheck(content: string, sign: string, publicKey: string): boolean {\r\n // \u68C0\u67E5\u8F93\u5165\u53C2\u6570\r\n if (!sign || !publicKey) {\r\n return false;\r\n }\r\n\r\n // try {\r\n // // \u89E3\u7801\u516C\u94A5\r\n // const publicKeyBuffer = Buffer.from(atob(publicKey), \"base64\");\r\n // publicKey = publicKeyBuffer.toString(\"utf8\");\r\n\r\n // // \u521B\u5EFA\u9A8C\u8BC1\u5BF9\u8C61\r\n // const verifier = createVerify(\"RSA-SHA256\");\r\n\r\n // // \u66F4\u65B0\u5185\u5BB9\r\n // verifier.update(content, \"utf8\");\r\n\r\n // // \u89E3\u7801\u7B7E\u540D\r\n // const signBuffer = Buffer.from(atob(sign), \"base64\");\r\n\r\n // // \u9A8C\u8BC1\u7B7E\u540D\r\n // return verifier.verify(publicKey, signBuffer);\r\n // } catch (error) {\r\n // console.error(\"Error during signature verification:\", error);\r\n // return false;\r\n // }\r\n }\r\n\r\n consumeOwnedPurchase() {\r\n // this.qg.consumeOwnedPurchase({\r\n // consumeOwnedPurchaseReq: {\r\n // // \u66FF\u6362\u4E3A\u771F\u5B9E\u6709\u6548\u7684APP ID\r\n // \"applicationID\": \"101***751\",\r\n // \"developerPayload\": \"testPurchase\",\r\n // // \u66FF\u6362\u4E3A\u771F\u5B9E\u6709\u6548\u7684\u8D2D\u4E70\u4EE4\u724C\r\n // \"purchaseToken\": \"0000017297d6a4faa**************3d0x434e.1.101315751\",\r\n // // \u66FF\u6362\u4E3A\u771F\u5B9E\u6709\u6548\u7684\u652F\u4ED8\u516C\u94A5\r\n // \"publicKey\": \"MIIBojANBgkqhkiG9w0*************************EeKlAgMBAAE\"\r\n // },\r\n // success: function (data) {\r\n // console.log(\"consumeOwnedPurchase data =\", JSON.stringify(data));\r\n // },\r\n // fail: function (data, code) {\r\n // console.log(\"consumeOwnedPurchase fail data =\" + JSON.stringify(data), \"code =\" + code);\r\n // }\r\n // })\r\n }\r\n\r\n private bannerAd: any\r\n\r\n showBanner(position: BannerType): void {\r\n if (!sdkconfig.ycBannerId) {\r\n console.log('banner\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n return\r\n }\r\n this.hideBanner()\r\n if (this.bannerAd) {\r\n this.bannerAd.destroy()\r\n this.bannerAd = null\r\n }\r\n var sysInfo = this.qg.getSystemInfoSync()\r\n var bannerTop = sysInfo.safeArea.height\r\n this.bannerAd = this.qg.createBannerAd({\r\n adUnitId: sdkconfig.ycBannerId,\r\n adIntervals: 35, //\u5237\u65B0\u65F6\u95F4\r\n style: {\r\n top: bannerTop - 20,\r\n left: 0,\r\n height: 57,\r\n width: 360,\r\n }\r\n })\r\n this.bannerAd.onError((err) => {\r\n console.log(\"huawei banner error: \", JSON.stringify(err))\r\n if (this.bannerAd) {\r\n this.bannerAd.destroy()\r\n this.bannerAd = null\r\n }\r\n YCSDK.ins.onError(AdType.Banner)\r\n })\r\n this.bannerAd.onLoad(() => {\r\n console.log(\"huawei banner on load\")\r\n YCSDK.ins.onLoad(AdType.Banner)\r\n YCSDK.ins.onShow(AdType.Banner)\r\n })\r\n this.bannerAd.onClose(() => {\r\n console.log(\"huawei banner on close\")\r\n if (this.bannerAd) {\r\n this.bannerAd.destroy()\r\n this.bannerAd = null\r\n }\r\n YCSDK.ins.onClose(AdType.Banner)\r\n })\r\n setTimeout(() => {\r\n this.bannerAd.show()\r\n }, 1000)\r\n }\r\n\r\n hideBanner(): void {\r\n if (!this.bannerAd) {\r\n console.log(\"huawei banner ad is hide\")\r\n return\r\n }\r\n this.bannerAd.hide()\r\n }\r\n\r\n showInters(type: InterstitialType = InterstitialType.Initial): void {\r\n if (!type) {\r\n let odds = YCSDK.ins.random(100)\r\n if (odds >= 50 && sdkconfig.intersId.length >= 1) {\r\n this.showIntersVideo()\r\n } else if (sdkconfig.nativeId.length >= 1) {\r\n this.showNative()\r\n }else{\r\n this.showIntersVideo()\r\n }\r\n return\r\n }\r\n switch (type) {\r\n case InterstitialType.Initial:\r\n case InterstitialType.Video:\r\n this.showIntersVideo()\r\n break\r\n case InterstitialType.Native:\r\n this.showNative()\r\n break\r\n }\r\n }\r\n\r\n showNative() {\r\n if (!sdkconfig.ycNativeId) {\r\n console.log('\u539F\u751F\u6A21\u677F\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n return\r\n }\r\n let nativeAd = this.qg.createNativeAd({\r\n adUnitId: sdkconfig.ycNativeId,\r\n success: (code) => {\r\n console.log(\"loadNativeAd success: \", code);\r\n },\r\n fail: (data, code) => {\r\n console.log(\"loadNativeAd fail: \" + data + \",\" + code);\r\n nativeAd.destroy()\r\n }\r\n })\r\n nativeAd.offLoad()\r\n nativeAd.onLoad((data) => {\r\n // console.info('ad data loaded: ' + JSON.stringify(data))\r\n YCSDK.ins.onLoad(AdType.Native)\r\n let ad = data.adList[0]\r\n //\u516D\u8981\u7D20\uFF08\u5E94\u7528\u540D\uFF0C\u5F00\u53D1\u8005\u4FE1\u606F\uFF0C\u7248\u672C\u53F7\uFF0C\u9690\u79C1\uFF0C\u6743\u9650\uFF0C\u4ECB\u7ECD\uFF09\r\n // console.log(\"source:\", ad.source)\r\n // console.log(\"developerName:\", ad.developerName)\r\n // console.log(\"versionName:\", ad.versionName)\r\n // console.log(\"privacyUrl:\", ad.privacyUrl)\r\n // console.log(\"permissionUrl:\", ad.permissionUrl)\r\n // console.log(\"appDetailUrl:\", ad.appDetailUrl)\r\n // console.log(\"imgUrlList:\", ad.imgUrlList[0])\r\n // console.log(\"adId:\", ad.adId)\r\n // console.log(\"creativeType:\", ad.creativeType)\r\n this.renderNative(ad, nativeAd)\r\n })\r\n nativeAd.offError()\r\n nativeAd.onError((e) => {\r\n console.error('load ad error:' + JSON.stringify(e))\r\n nativeAd.destroy()\r\n YCSDK.ins.onError(AdType.Native)\r\n })\r\n nativeAd.load()\r\n }\r\n\r\n // appName: \u767E\u5EA6\u6781\u901F\u7248\r\n // developerName: \u767E\u5EA6\u5728\u7EBF\u7F51\u7EDC\u6280\u672F\uFF08\u5317\u4EAC\uFF09\u6709\u9650\u516C\u53F8\r\n // versionName: 6.55.0.10\r\n // privacyUrl: https://h5hosting-drcn.dbankcdn.cn/cch5/PPS/ssp-privacy-url/index.html?src=https%3A%2F%2Fs.bdstatic.com%2Fcommon%2Fagreement%2Fprivacy_new_lite.html\r\n // permissionUrl: https://appgallery.huawei.com/open/permission?packageName=com.baidu.searchbox.lite&mediaPackageName=com.tl.lxndwzxyx.huawei\r\n // appDetailUrl: https://appgallery.huawei.com/#/app_simple/C100029965\r\n // imgUrlList: https://contentcenter-drcn.dbankcdn.cn/img/pub_17/PPS_realtimeimage_100_1/e1/v3/A667xiJZQ7SMM7cmqhmMXw/0Vm6YJiyTH-IloGzbCUO5w.png/__source__.jpg\r\n // adId: 51790be2-d2c2-48ca-9695-1a55bed81905\r\n // creativeType: 103\r\n renderNative(adItem, nativeAd) {\r\n resources.load('Privacy/bg', Prefab, (err, prefab) => {\r\n if (err) {\r\n console.error('\u52A0\u8F7DPrefab\u5931\u8D25:', err)\r\n YCSDK.ins.onError(AdType.Native)\r\n return\r\n }\r\n const node = instantiate(prefab)\r\n const native = node.getChildByName('native')\r\n const close = native.getChildByName('close')\r\n const title = native.getChildByName('title').getComponent(Label)\r\n title.string = adItem.appName\r\n const source = native.getChildByName('source').getComponent(Label)\r\n source.string = adItem.source\r\n const company = native.getChildByName('company').getComponent(Label)\r\n company.string = adItem.developerName\r\n const pic = native.getChildByName('pic')\r\n const info = native.getChildByName('info')\r\n const version = info.getChildByName('verison')\r\n version.on(Node.EventType.TOUCH_END, () => {\r\n console.log('change version')\r\n version.getComponent(Label).string = adItem.versionName\r\n })\r\n const description = info.getChildByName('description')\r\n description.on(Node.EventType.TOUCH_END, () => {\r\n console.log('open description')\r\n this.qg.openDeeplink({ uri: adItem.appDetailUrl })\r\n })\r\n const privacy = info.getChildByName('privacy')\r\n privacy.on(Node.EventType.TOUCH_END, () => {\r\n console.log('open privacy')\r\n this.qg.openDeeplink({ uri: adItem.privacyUrl })\r\n })\r\n const permission = info.getChildByName('permission')\r\n permission.on(Node.EventType.TOUCH_END, () => {\r\n console.log('open permission')\r\n this.qg.openDeeplink({ uri: adItem.permissionUrl })\r\n })\r\n pic.on(Node.EventType.TOUCH_END, () => {\r\n console.log(\"native click\")\r\n YCSDK.ins.onClick(AdType.Native)\r\n nativeAd.reportAdClick({ adId: adItem.adId, })\r\n })\r\n close.on(Node.EventType.TOUCH_END, () => {\r\n console.log('close native')\r\n nativeAd.destroy()\r\n node.destroy()\r\n YCSDK.ins.getGameNode().removeChild(node)\r\n nativeAd.hideDownloadButton({\r\n adId: adItem.adId,\r\n success: (code) => {\r\n console.log(\"hideDownloadButton: success\");\r\n },\r\n fail: (data, code) => {\r\n console.log(\" hideDownloadButton fail: \" + data + \",\" + code)\r\n }\r\n })\r\n YCSDK.ins.onClose(AdType.Native)\r\n })\r\n assetManager.loadRemote<ImageAsset>(adItem.imgUrlList[0], (err, image) => {\r\n if (err) {\r\n console.error('\u52A0\u8F7D\u8FDC\u7A0B\u56FE\u7247\u5931\u8D25:', err)\r\n YCSDK.ins.onError(AdType.Native)\r\n return\r\n }\r\n const texture = new Texture2D()\r\n texture.image = image\r\n let spriteFrame = new SpriteFrame()\r\n spriteFrame.texture = texture\r\n pic.getComponent(Sprite).spriteFrame = spriteFrame\r\n YCSDK.ins.getGameNode().addChild(node)\r\n YCSDK.ins.onShow(AdType.Native)\r\n this.showNativeDownload(adItem, nativeAd, node)\r\n nativeAd.reportAdShow({ adId: adItem.adId })\r\n })\r\n })\r\n }\r\n\r\n showNativeDownload(adItem, nativeAd, node) {\r\n const { screenWidth, screenHeight } = this.qg.getSystemInfoSync()\r\n console.log(screenWidth)\r\n console.log(screenHeight)\r\n nativeAd.showDownloadButton({\r\n adId: adItem.adId,\r\n style: {\r\n left: screenWidth / 2 - screenWidth / 4,\r\n top: screenHeight * 0.65,\r\n heightType: 'normal',\r\n width: screenWidth / 2,\r\n fixedWidth: true,\r\n textSize: 50,\r\n horizontalPadding: 50,\r\n cornerRadius: 22,\r\n normalTextColor: '#FFFFFF',\r\n normalBackground: '#5291FF',\r\n pressedColor: '#0A59F7',\r\n normalStroke: 5,\r\n normalStrokeCorlor: '#FF000000',\r\n processingTextColor: '#5291FF',\r\n processingBackground: '#0F000000',\r\n processingColor: '#000000',\r\n processingStroke: 10,\r\n processingStrokeCorlor: '#0A59F7',\r\n installingTextColor: '#000000',\r\n installingBackground: '#FFFFFF',\r\n installingStroke: 15,\r\n installingStrokeCorlor: '#5291FF'\r\n },\r\n success: (code) => {\r\n console.log(\"showDownloadButton: success\")\r\n },\r\n fail: (data, code) => {\r\n console.log(\"showDownloadButton fail: \" + data + \",\" + code)\r\n }\r\n })\r\n }\r\n\r\n showIntersVideo() {\r\n if (!sdkconfig.ycIntersId) {\r\n console.log(\"\u63D2\u5C4F\u5E7F\u544Aid\u672A\u914D\u7F6E\")\r\n return\r\n }\r\n let interstitialAd = this.qg.createInterstitialAd({\r\n adUnitId: sdkconfig.ycIntersId\r\n })\r\n interstitialAd.onLoad(function (data) {\r\n YCSDK.ins.onLoad(AdType.Inters)\r\n console.log('huawei inters onLoad data ' + JSON.stringify(data))\r\n interstitialAd.show()\r\n YCSDK.ins.onShow(AdType.Inters)\r\n })\r\n interstitialAd.onError((err) => {\r\n interstitialAd.destroy()\r\n console.log(\"huawei inters on error: \", JSON.stringify(err))\r\n YCSDK.ins.onError(AdType.Inters)\r\n })\r\n interstitialAd.onClose(() => {\r\n console.log('huawei interstitialAd closed')\r\n interstitialAd.destroy()\r\n YCSDK.ins.onClose(AdType.Inters)\r\n })\r\n interstitialAd.load()\r\n }\r\n\r\n showVideo(callBack: Function): boolean {\r\n this.callback = callBack\r\n let lastCallTime = 0\r\n let nowCallTime = new Date().getTime()\r\n if (lastCallTime != 0 && nowCallTime - lastCallTime < 400) {\r\n console.log(\"show video time too many\")\r\n return\r\n }\r\n lastCallTime = nowCallTime\r\n if (this.rewardedVideoAd && this.callback) {\r\n this.show()\r\n return\r\n }\r\n this.loadVideo(true)\r\n return false\r\n }\r\n\r\n loadVideo(show) {\r\n if (!sdkconfig.ycVideoId) {\r\n console.log('\u6FC0\u52B1\u89C6\u9891\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n this.callback && this.callback(false)\r\n return\r\n }\r\n this.rewardedVideoAd = this.qg.createRewardedVideoAd({\r\n adUnitId: sdkconfig.ycVideoId,\r\n success: (code) => {\r\n console.log(\"loadVideoAd createRewardedVideoAd success\" + code)\r\n },\r\n fail: (data, code) => {\r\n console.log(\"loadVideoAd createRewardedVideoAd fail: \" + data + \",\" + code)\r\n }\r\n })\r\n this.rewardedVideoAd.onLoad(() => {\r\n console.log('loadVideoAd: ad loaded.')\r\n YCSDK.ins.onLoad(AdType.Video)\r\n if (show) {\r\n this.show()\r\n }\r\n })\r\n this.rewardedVideoAd.onError((e) => {\r\n console.error('load ad error:' + JSON.stringify(e))\r\n this.callback && this.callback(false)\r\n YCSDK.ins.onError(AdType.Video, this.callback)\r\n })\r\n this.rewardedVideoAd.onClose((res) => {\r\n console.log('ad onClose: ' + res.isEnded)\r\n YCSDK.ins.onClose(AdType.Video)\r\n if (res && res.isEnded || res === undefined) {\r\n console.log('\u64AD\u653E\u6FC0\u52B1\u89C6\u9891\u7ED3\u675F\uFF0C\u7ED9\u4E88\u5956\u52B1')\r\n this.callback && this.callback(true)\r\n YCSDK.ins.onReward()\r\n } else {\r\n this.callback && this.callback(false)\r\n console.log('\u64AD\u653E\u6CA1\u7ED3\u675F\uFF0C\u4E0D\u7ED9\u4E88\u5956\u52B1')\r\n }\r\n this.rewardedVideoAd.load()\r\n })\r\n this.rewardedVideoAd.load()\r\n }\r\n\r\n show() {\r\n if (this.rewardedVideoAd) {\r\n this.rewardedVideoAd.show()\r\n YCSDK.ins.onShow(AdType.Video)\r\n }\r\n }\r\n}", "import { AdType } from \"../../AdType\"\r\nimport { GameInterface } from \"../../GameInterface\"\r\nimport { sdkconfig } from \"../../SDKConfig\"\r\nimport { YCSDK } from \"../../YCSDK\"\r\nimport { BannerType } from \"../BannerType\"\r\nimport { InterstitialType } from \"../InterstitialType\"\r\n\r\nexport class OppoGame implements GameInterface {\r\n\r\n private qg = window['qg']\r\n private bannerAd\r\n private nativeAd\r\n private count: number = 0\r\n\r\n constructor() {\r\n console.log(\"current channel is oppo\")\r\n }\r\n\r\n init(callback?): void {\r\n if (sdkconfig.subornUserTest) {\r\n sdkconfig.subornUser = true\r\n this.config()\r\n callback && callback()\r\n return\r\n }\r\n const info = this.qg.getEnterOptionsSync()\r\n console.log(\"oppo init: \", info)\r\n if (info) {\r\n const type = info.type\r\n const query = info.query\r\n const referrerInfo = info.referrerInfo\r\n if (query && query.key1 && query.key2) {\r\n sdkconfig.subornUser = true\r\n this.config()\r\n }\r\n }\r\n callback && callback()\r\n }\r\n\r\n config(): void {\r\n this.loadVideoAdNoCallBack()\r\n }\r\n\r\n login(callBack?: Function): void {\r\n\r\n }\r\n\r\n pay(params: string, callBack: Function): void {\r\n\r\n }\r\n\r\n showBanner(position: BannerType = BannerType.Bottom): void {\r\n if (!sdkconfig.ycBannerId) {\r\n console.log('banner\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n return\r\n }\r\n this.hideBanner()\r\n // if (sdkconfig.subornUser) {\r\n // this.showBigPicAd()\r\n // return\r\n // }\r\n this.createBannerAd(position)\r\n }\r\n\r\n createBannerAd(position: BannerType) {\r\n // const params = { adUnitId: sdkconfig.ycBannerId, style: position == BannerType.Top ? { top: 0, left: 0 } : {} }\r\n if (this.bannerAd) {\r\n this.bannerAd.destroy()\r\n this.bannerAd = null\r\n }\r\n this.bannerAd = this.qg.createBannerAd({ adUnitId: sdkconfig.ycBannerId })\r\n this.bannerAd.onResize((obj) => {\r\n console.log(\"banner \u5BBD\u5EA6\uFF1A\" + obj.width + \", banner \u9AD8\u5EA6\uFF1A\" + obj.height)\r\n })\r\n this.bannerAd.onLoad(() => {\r\n console.log('[Banner\u5E7F\u544A] \u5E7F\u544A\u52A0\u8F7D\u6210\u529F')\r\n YCSDK.ins.onLoad(AdType.Banner)\r\n YCSDK.ins.onShow(AdType.Banner)\r\n })\r\n this.bannerAd.onHide(() => {\r\n console.log(\"banner\u5E7F\u544A\u9690\u85CF\")\r\n YCSDK.ins.onClose(AdType.Banner)\r\n if (this.bannerAd) {\r\n this.bannerAd.destroy()\r\n this.bannerAd = null\r\n }\r\n })\r\n this.bannerAd.onError(err => {\r\n console.log(\"banner\u9519\u8BEF\u76D1\u542C: \", JSON.stringify(err))\r\n if (this.bannerAd) {\r\n this.bannerAd.destroy()\r\n this.bannerAd = null\r\n }\r\n YCSDK.ins.onError(AdType.Banner)\r\n })\r\n this.bannerAd.onClick(obj => {\r\n console.log(`\u5F00\u542FBanner\u5E7F\u544A\u70B9\u51FB\u56DE\u8C03: code: ${obj.code},msg: '${obj.msg}'`)\r\n })\r\n this.bannerAd.show()\r\n }\r\n\r\n hideBanner(): void {\r\n console.log(\"oppo hide banner\")\r\n if (this.bannerAd) {\r\n this.bannerAd.hide()\r\n }\r\n }\r\n\r\n showInters(type: InterstitialType = InterstitialType.Initial): void {\r\n if (!type) {\r\n this.showInitialType()\r\n return\r\n }\r\n switch (type) {\r\n case InterstitialType.Initial:\r\n this.showInitialType()\r\n break\r\n case InterstitialType.Native:\r\n this.showNativeType()\r\n break\r\n case InterstitialType.Video:\r\n this.showVideo(() => {\r\n console.log(\"oppo video ad show success\")\r\n })\r\n break\r\n }\r\n }\r\n\r\n showInitialType() {\r\n if (!sdkconfig.ycIntersId) {\r\n console.log(\"\u63D2\u5C4F\u5E7F\u544Aid\u672A\u914D\u7F6E\")\r\n return\r\n }\r\n if (this.qg.getSystemInfoSync().platformVersionCode < 1061) {\r\n console.log(\"\u5FEB\u5E94\u7528\u5E73\u53F0\u7248\u672C\u53F7\u4F4E\u4E8E1061,\u6682\u4E0D\u652F\u6301\u63D2\u5C4F\u5E7F\u544A\u76F8\u5173 API\")\r\n return\r\n }\r\n var interstitialAd = this.qg.createInterstitialAd({\r\n adUnitId: sdkconfig.ycIntersId,\r\n })\r\n interstitialAd.onLoad(function () {\r\n console.log('\u63D2\u5C4F\u5E7F\u544A\u52A0\u8F7D\u6210\u529F')\r\n YCSDK.ins.onLoad(AdType.Inters)\r\n interstitialAd.show()\r\n })\r\n interstitialAd.onClose(function () {\r\n console.log('\u63D2\u5C4F\u5E7F\u544A\u5173\u95ED')\r\n YCSDK.ins.onClose(AdType.Inters)\r\n })\r\n interstitialAd.onError(function (err) {\r\n console.log(\"\u63D2\u5C4F\u5E7F\u544A\u51FA\u9519: \", err)\r\n interstitialAd.destroy()\r\n interstitialAd = null\r\n YCSDK.ins.onError(AdType.Inters)\r\n })\r\n interstitialAd.load()\r\n }\r\n\r\n showNativeType() {\r\n if (!sdkconfig.ycNativeId) {\r\n console.log('\u539F\u751F\u6A21\u677F\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n return\r\n }\r\n if (this.qg.getSystemInfoSync().platformVersionCode < 1094) {\r\n console.log(\"\u5FEB\u5E94\u7528\u5E73\u53F0\u7248\u672C\u53F7\u4F4E\u4E8E1094,\u6682\u4E0D\u652F\u6301\u539F\u751F\u6A21\u677F\u5E7F\u544A\u76F8\u5173API\")\r\n return\r\n }\r\n if (this.nativeAd) {\r\n this.nativeAd.destroy()\r\n this.nativeAd = null\r\n }\r\n this.nativeAd = this.qg.createCustomAd({\r\n adUnitId: sdkconfig.ycNativeId,\r\n style: { //\u5F00\u53D1\u8005\u81EA\u884C\u8BBE\u7F6E\r\n top: this.qg.getSystemInfoSync().windowHeight * 0.3,\r\n left: 0,\r\n width: this.qg.getSystemInfoSync().screenWidth,\r\n }\r\n })\r\n this.nativeAd.onLoad(() => {\r\n console.log('[\u539F\u751F\u6A21\u677F\u5E7F\u544A] \u5E7F\u544A\u52A0\u8F7D\u6210\u529F')\r\n YCSDK.ins.onLoad(AdType.Native)\r\n })\r\n this.nativeAd.onClick((obj) => {\r\n console.log(`\u539F\u751F\u6A21\u677F\u5E7F\u544A\u70B9\u51FB\u56DE\u8C03: code: ${obj.code},msg: '${obj.msg}'`);\r\n YCSDK.ins.onClick(AdType.Native)\r\n })\r\n this.nativeAd.onHide(() => {\r\n console.log(\"\u539F\u751F\u6A21\u677F\u5E7F\u544A\u9690\u85CF\")\r\n if (this.nativeAd) {\r\n this.nativeAd.destroy()\r\n this.nativeAd = null\r\n }\r\n YCSDK.ins.onClose(AdType.Native)\r\n })\r\n this.nativeAd.onError(err => {\r\n console.log(\"\u539F\u751F\u6A21\u677F\u5E7F\u544A\u9519\u8BEF\u76D1\u542C\uFF1A\", JSON.stringify(err))\r\n if (this.nativeAd) {\r\n this.nativeAd.destroy()\r\n this.nativeAd = null\r\n }\r\n YCSDK.ins.onError(AdType.Native)\r\n })\r\n this.nativeAd.show().then(() => {\r\n console.log('\u539F\u751F\u6A21\u677F\u5E7F\u544Apromise \u56DE\u8C03\uFF1A\u5C55\u793A\u6210\u529F')\r\n YCSDK.ins.onShow(AdType.Native)\r\n }).catch(err => {\r\n console.log(`\u539F\u751F\u6A21\u677F\u5E7F\u544Apromise \u56DE\u8C03\uFF1A\u5C55\u793A\u5931\u8D25 ${JSON.stringify(err)}`)\r\n })\r\n }\r\n\r\n hideInters(type: InterstitialType): void {\r\n if (type = InterstitialType.Native) {\r\n if (!!this.nativeAd) {\r\n this.nativeAd.hide()\r\n }\r\n }\r\n }\r\n\r\n showVideo(callBack: Function): boolean {\r\n console.log(\"oppo video ad start show\")\r\n this.loadVideoAd(callBack)\r\n return false\r\n }\r\n\r\n loadVideoAd(videoCallBack) {\r\n if (!sdkconfig.ycVideoId) {\r\n console.log('\u89C6\u9891\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n videoCallBack && videoCallBack(false)\r\n return\r\n }\r\n const videoAd = this.qg.createRewardedVideoAd({\r\n adUnitId: sdkconfig.ycVideoId\r\n })\r\n videoAd.onLoad(() => {\r\n console.log(\"oppo video load success\")\r\n YCSDK.ins.onLoad(AdType.Video)\r\n videoAd.show()\r\n YCSDK.ins.onShow(AdType.Video)\r\n })\r\n videoAd.onError(err => {\r\n console.log('onError:' + JSON.stringify(err))\r\n videoAd.destroy()\r\n YCSDK.ins.onError(AdType.Video, videoCallBack)\r\n })\r\n videoAd.onClick(function (obj) {\r\n console.log(`on click: code: ${obj.code}, msg: '${obj.msg}'`)\r\n YCSDK.ins.onClick(AdType.Video)\r\n })\r\n videoAd.onClose((res) => {\r\n YCSDK.ins.onClose(AdType.Video)\r\n console.log('==> oppoRewardVideoAd onClose', res)\r\n if (res == undefined) {\r\n //\u770B\u5B8C\u5E7F\u544A,\u7ED9\u5956\u52B1\r\n videoCallBack && videoCallBack(true)\r\n YCSDK.ins.onReward()\r\n } else {\r\n if (res.isEnded) {\r\n //\u770B\u5B8C\u5E7F\u544A,\u7ED9\u5956\u52B1\r\n videoCallBack && videoCallBack(true)\r\n YCSDK.ins.onReward()\r\n } else {\r\n // \u6CA1\u770B\u5B8C,\u4E0D\u7ED9\u5956\u52B1\r\n console.log('\u5E7F\u544A\u6CA1\u770B\u5B8C')\r\n YCSDK.ins.onClose(AdType.Video)\r\n videoCallBack && videoCallBack(false)\r\n }\r\n }\r\n })\r\n videoAd.load()\r\n }\r\n\r\n loadVideoAdNoCallBack() {\r\n if (!sdkconfig.ycVideoId) {\r\n console.log('\u89C6\u9891\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n return\r\n }\r\n const videoAd = this.qg.createRewardedVideoAd({\r\n adUnitId: sdkconfig.ycVideoId\r\n })\r\n videoAd.onLoad(() => {\r\n console.log(\"oppo video load success\")\r\n videoAd.show()\r\n })\r\n videoAd.onError(err => {\r\n console.log('onError:' + JSON.stringify(err))\r\n YCSDK.ins.onError(AdType.Video)\r\n })\r\n videoAd.onClose((res) => {\r\n this.count++\r\n console.log(\"oppo video count: \", this.count)\r\n if (this.count >= 3) {\r\n return\r\n }\r\n this.loadVideoAdNoCallBack()\r\n })\r\n videoAd.load()\r\n YCSDK.ins.onLoad(AdType.Video)\r\n }\r\n\r\n customFunc(methodName: string, params: any[], callBack: Function) {\r\n console.log(\"oppo custom function name:\", methodName)\r\n }\r\n\r\n\r\n}", "import { sys, view } from \"cc\";\r\nimport { AdType } from \"../../AdType\";\r\nimport { GameInterface } from \"../../GameInterface\";\r\nimport { sdkconfig } from \"../../SDKConfig\";\r\nimport { YCSDK } from \"../../YCSDK\";\r\nimport { BannerType } from \"../BannerType\";\r\nimport { InterstitialType } from \"../InterstitialType\";\r\n\r\nexport class VivoGame implements GameInterface {\r\n\r\n private qg = window['qg']\r\n private bannerAd\r\n private customAd\r\n private rewardedAd\r\n private callback\r\n private platformVersionCode\r\n private boxBannerAd\r\n private boxPortalAd\r\n private bannerShowing = false\r\n\r\n init(): void {\r\n this.platformVersionCode = this.qg.getSystemInfoSync().platformVersionCode\r\n console.log(\"vivo platformVersionCode: \", this.platformVersionCode)\r\n }\r\n\r\n login(callBack?: Function): void {\r\n\r\n }\r\n\r\n pay(params: string, callBack: Function): void {\r\n\r\n }\r\n\r\n showBanner(position: BannerType): void {\r\n if (this.platformVersionCode < 1031) {\r\n console.log(\"platformVersionCode below 1031, can't show banner\")\r\n return\r\n }\r\n if (!sdkconfig.ycBannerId) {\r\n console.log('banner\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n return\r\n }\r\n if (this.bannerShowing) {\r\n console.log(\"banner\u5E7F\u544A\u5C55\u793A\u4E2D\")\r\n return\r\n }\r\n this.hideBanner()\r\n this.bannerShowing = true\r\n this.bannerAd = this.qg.createBannerAd({\r\n posId: sdkconfig.ycBannerId,\r\n adIntervals: 35,\r\n style: {\r\n\r\n }\r\n })\r\n this.bannerAd.onLoad(() => {\r\n console.log(\"banner load\")\r\n this.bannerShowing = true\r\n YCSDK.ins.onLoad(AdType.Banner)\r\n })\r\n this.bannerAd.onClose(() => {\r\n console.log(\"banner close\")\r\n this.bannerShowing = false\r\n YCSDK.ins.onClose(AdType.Banner)\r\n })\r\n this.bannerAd.onError(err => {\r\n console.log(\"banner\u5E7F\u544A\u52A0\u8F7D\u5931\u8D25:\", err)\r\n this.bannerShowing = false\r\n YCSDK.ins.onError(AdType.Banner)\r\n })\r\n this.bannerAd.show().then(() => {\r\n console.log('banner\u5E7F\u544A\u5C55\u793A\u5B8C\u6210')\r\n YCSDK.ins.onShow(AdType.Banner)\r\n this.bannerShowing = true\r\n }).catch((err) => {\r\n this.bannerShowing = false\r\n console.log('banner\u5E7F\u544A\u5C55\u793A\u5931\u8D25:', JSON.stringify(err))\r\n YCSDK.ins.onError(AdType.Banner)\r\n })\r\n }\r\n\r\n hideBanner(): void {\r\n this.bannerShowing = false\r\n if (this.bannerAd) {\r\n this.bannerAd.hide()\r\n this.bannerAd.destroy()\r\n this.bannerAd = null\r\n }\r\n }\r\n\r\n showInters(type: InterstitialType): void {\r\n switch (type) {\r\n case InterstitialType.Native:\r\n this.showNative()\r\n break\r\n case InterstitialType.Initial:\r\n case InterstitialType.Video:\r\n this.showInitial()\r\n break\r\n }\r\n }\r\n\r\n showInitial() {\r\n if (this.platformVersionCode < 1031) {\r\n console.log(\"platformVersionCode below 1031, can't show interstitialAd\")\r\n return\r\n }\r\n if (!sdkconfig.ycIntersId) {\r\n console.log(\"\u63D2\u5C4F\u5E7F\u544Aid\u672A\u914D\u7F6E\")\r\n return\r\n }\r\n let interstitialAd = this.qg.createInterstitialAd({\r\n posId: sdkconfig.ycIntersId\r\n })\r\n interstitialAd.onError(err => {\r\n console.log(\"\u63D2\u5C4F\u5E7F\u544A\u52A0\u8F7D\u5931\u8D25\", err)\r\n YCSDK.ins.onError(AdType.Inters)\r\n })\r\n interstitialAd.onLoad(() => {\r\n console.log(\"\u63D2\u5C4F\u5E7F\u544A\u52A0\u8F7D\u6210\u529F\")\r\n YCSDK.ins.onLoad(AdType.Inters)\r\n })\r\n interstitialAd.onClose(() => {\r\n console.log(\"\u63D2\u5C4F\u5E7F\u544A\u5173\u95ED\")\r\n YCSDK.ins.onClose(AdType.Inters)\r\n })\r\n interstitialAd.show().then(() => {\r\n console.log('\u63D2\u5C4F\u5E7F\u544A\u5C55\u793A\u5B8C\u6210')\r\n YCSDK.ins.onShow(AdType.Inters)\r\n }).catch((err) => {\r\n console.log('\u63D2\u5C4F\u5E7F\u544A\u5C55\u793A\u5931\u8D25', JSON.stringify(err))\r\n YCSDK.ins.onError(AdType.Inters)\r\n })\r\n }\r\n\r\n hideNative() {\r\n if (this.customAd) {\r\n this.customAd.hide()\r\n this.customAd.destroy()\r\n this.customAd = null\r\n }\r\n }\r\n\r\n showNative() {\r\n if (this.platformVersionCode < 1091) {\r\n console.log(\"platformVersionCode below 1091, can't show custom ad\")\r\n return\r\n }\r\n if (!sdkconfig.ycNativeId) {\r\n console.log('\u539F\u751F\u6A21\u677F\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n return\r\n }\r\n if (this.customAd && this.customAd.isShow()) {\r\n console.log(\"native ad is show ing\")\r\n this.hideNative()\r\n }\r\n this.customAd = this.qg.createCustomAd({\r\n posId: sdkconfig.ycNativeId,\r\n style: {\r\n width: view.getVisibleSize().width,\r\n gravity: \"center\"\r\n }\r\n })\r\n this.customAd.onClose(() => {\r\n console.log(\"\u539F\u751F\u6A21\u677F\u5E7F\u544A\u5173\u95EDclose\")\r\n YCSDK.ins.onClose(AdType.Native)\r\n })\r\n this.customAd.onHide(() => {\r\n console.log(\"\u539F\u751F\u6A21\u677F\u5E7F\u544A\u5173\u95EDhide\")\r\n YCSDK.ins.onClose(AdType.Native)\r\n })\r\n this.customAd.onLoad(() => {\r\n console.log(\"\u539F\u751F\u6A21\u677F\u5E7F\u544A\u52A0\u8F7D\u6210\u529F\")\r\n YCSDK.ins.onLoad(AdType.Native)\r\n })\r\n this.customAd.onError(err => {\r\n console.log(\"\u539F\u751F\u6A21\u677F\u5E7F\u544A\u52A0\u8F7D\u5931\u8D25\", err)\r\n YCSDK.ins.onError(AdType.Native)\r\n })\r\n this.customAd.show().then(() => {\r\n console.log('\u539F\u751F\u6A21\u677F\u5E7F\u544A\u5C55\u793A\u5B8C\u6210')\r\n YCSDK.ins.onShow(AdType.Native)\r\n }).catch((err) => {\r\n console.log('\u539F\u751F\u6A21\u677F\u5E7F\u544A\u5C55\u793A\u5931\u8D25', JSON.stringify(err))\r\n YCSDK.ins.onError(AdType.Native)\r\n })\r\n }\r\n\r\n hideInters(type: InterstitialType): void {\r\n this.hideNative()\r\n }\r\n\r\n showVideo(callBack: Function): boolean {\r\n this.callback = callBack\r\n if (this.rewardedAd) {\r\n this.rewardedAd.load()\r\n } else {\r\n this.loadVideo()\r\n }\r\n return false\r\n }\r\n\r\n loadVideo() {\r\n if (this.platformVersionCode < 1041) {\r\n console.log(\"platformVersionCode below 1041, can't show video ad\")\r\n return\r\n }\r\n if (!sdkconfig.ycVideoId) {\r\n console.log('\u6FC0\u52B1\u89C6\u9891\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n return\r\n }\r\n this.rewardedAd = this.qg.createRewardedVideoAd({\r\n posId: sdkconfig.ycVideoId\r\n })\r\n this.rewardedAd.onLoad(res => {\r\n if (res == 'localAdVideo') {\r\n console.log('\u6FC0\u52B1\u89C6\u9891 \u515C\u5E95\u5E7F\u544A-onload\u89E6\u53D1 ', res);\r\n } else {\r\n console.log('\u6FC0\u52B1\u89C6\u9891\u5E7F\u544A\u52A0\u8F7D\u5B8C\u6210-onload\u89E6\u53D1 ', res);\r\n }\r\n YCSDK.ins.onLoad(AdType.Video)\r\n this.rewardedAd.show().then(() => {\r\n console.log('\u6FC0\u52B1\u89C6\u9891\u5E7F\u544A\u5C55\u793A\u5B8C\u6210')\r\n YCSDK.ins.onShow(AdType.Video)\r\n }).catch((err) => {\r\n console.log('\u6FC0\u52B1\u89C6\u9891\u5E7F\u544A\u5C55\u793A\u5931\u8D25', JSON.stringify(err))\r\n this.callback && this.callback(false)\r\n this.showNative()\r\n YCSDK.ins.onError(AdType.Video)\r\n })\r\n })\r\n this.rewardedAd.onError(err => {\r\n console.log(\"\u6FC0\u52B1\u89C6\u9891\u5E7F\u544A\u52A0\u8F7D\u5931\u8D25: \", JSON.stringify(err))\r\n this.callback && this.callback(false)\r\n YCSDK.ins.onError(AdType.Video)\r\n })\r\n this.rewardedAd.onClose((res) => {\r\n console.log(\"\u6FC0\u52B1\u89C6\u9891\u5173\u95ED\")\r\n YCSDK.ins.onClose(AdType.Video)\r\n if (res && res.isEnded) {\r\n console.log(\"\u6B63\u5E38\u64AD\u653E\u7ED3\u675F\uFF0C\u53EF\u4EE5\u4E0B\u53D1\u6E38\u620F\u5956\u52B1\")\r\n this.callback && this.callback(true)\r\n YCSDK.ins.onReward()\r\n } else {\r\n YCSDK.ins.onClose(AdType.Video)\r\n console.log(\"\u64AD\u653E\u4E2D\u9014\u9000\u51FA\uFF0C\u4E0D\u4E0B\u53D1\u6E38\u620F\u5956\u52B1\")\r\n }\r\n })\r\n // this.rewardedAd.load()\r\n }\r\n\r\n customFunc(methodName: string, params: any[], callBack: Function) {\r\n \r\n }\r\n}\r\n", "import { AdType } from \"../../AdType\";\r\nimport { GameInterface } from \"../../GameInterface\";\r\nimport { sdkconfig } from \"../../SDKConfig\";\r\nimport { YCSDK } from \"../../YCSDK\";\r\nimport { BannerType } from \"../BannerType\";\r\nimport { InterstitialType } from \"../InterstitialType\";\r\n\r\nexport class XiaoMiGame implements GameInterface {\r\n\r\n private qg = window['qg']\r\n private platformVersionCode\r\n private callback\r\n private bannerAd\r\n private lastBanner\r\n private lastInters\r\n private rewardedVideoAd\r\n private nextVideoAd\r\n private lastReward\r\n private customAd\r\n private lastNative\r\n private lastGameBanner\r\n\r\n init(): void {\r\n this.platformVersionCode = this.qg.getSystemInfoSync().platformVersionCode\r\n // this.loadVideo(false)\r\n }\r\n\r\n login(callBack?: Function): void {\r\n // this.qg.login({\r\n // success: function (res) {\r\n // console.log(\"mi login suc: \", res)\r\n // let num = this.qg.getProvider()\r\n // console.log(\"\u5382\u5546\u4EE3\u53F7\uFF1A\", num)\r\n // const shortcut = this.qg.getShortcut()\r\n // console.log(\"\u684C\u9762\u56FE\u6807: \", shortcut)\r\n // if (shortcut) {\r\n // shortcut.hasInstalled({\r\n // message: \"\u4FDD\u5B58\u684C\u9762\u56FE\u6807\uFF0C\u8FDB\u5165\u6E38\u620F\u66F4\u5FEB\u6377\",\r\n // success: function (res) {\r\n // console.log('handling success:', res)\r\n // shortcut.install({ success: function () { console.log('handling success') } })\r\n // }, fail: function () {\r\n // console.log(\"handling fail\")\r\n // }\r\n // })\r\n // }\r\n // },\r\n // fail: function (res) {\r\n // console.log(\"mi login fail: \", res)\r\n // }\r\n // })\r\n }\r\n\r\n pay(params: string, callBack: Function): void {\r\n console.log(\"mi pay not support\")\r\n }\r\n\r\n private bannerShowing: boolean = false\r\n\r\n showBanner(position: BannerType): void {\r\n if (!sdkconfig.ycBannerId) {\r\n console.log('banner\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n return\r\n }\r\n let timeTag = Date.now()\r\n if (timeTag - this.lastBanner < 30 * 1000 ) {\r\n console.log(\"30\u79D2\u5185\u4E0D\u5F97\u518D\u6B21\u5C55\u793A---banner\")\r\n return\r\n }\r\n if (this.bannerShowing) {\r\n console.log(\"banner already showing\")\r\n return\r\n }\r\n this.hideBanner()\r\n this.bannerShowing = true\r\n this.bannerAd = this.qg.createBannerAd({\r\n adUnitId: sdkconfig.ycBannerId,\r\n adIntervals: 35\r\n // style: {\r\n // left: 0,\r\n // top: 0,\r\n // width: 1080\r\n // }\r\n })\r\n this.bannerAd.onLoad(() => {\r\n console.log(\"mi banner on load\")\r\n this.bannerShowing = true\r\n YCSDK.ins.onLoad(AdType.Banner)\r\n YCSDK.ins.onShow(AdType.Banner)\r\n })\r\n this.bannerAd.onError((err) => {\r\n console.log(\"mi banner error: \", err)\r\n this.bannerShowing = false\r\n YCSDK.ins.onError(AdType.Banner)\r\n })\r\n this.bannerAd.onClose(() => {\r\n console.log(\"mi banner on close\")\r\n this.bannerShowing = false\r\n this.lastBanner = Date.now()\r\n YCSDK.ins.onClose(AdType.Banner)\r\n })\r\n this.bannerAd.show()\r\n console.log(\"mi banner load\")\r\n }\r\n\r\n hideBanner(): void {\r\n this.bannerShowing = false\r\n if (this.bannerAd) {\r\n this.bannerAd.hide()\r\n this.bannerAd.destroy()\r\n this.bannerAd = null\r\n }\r\n }\r\n\r\n showInters(type: InterstitialType): void {\r\n switch (type) {\r\n case InterstitialType.Initial:\r\n case InterstitialType.Video:\r\n this.showInitial()\r\n break\r\n case InterstitialType.Native:\r\n this.showNative()\r\n break\r\n }\r\n }\r\n\r\n showNative() {\r\n if (this.platformVersionCode < 1110) {\r\n console.log(\"platformVersionCode below 1110, current code: \", this.platformVersionCode)\r\n return\r\n }\r\n if (!sdkconfig.ycNativeId) {\r\n console.log('\u539F\u751F\u6A21\u677F\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n return\r\n }\r\n let timeTag = Date.now()\r\n if (timeTag - this.lastNative < 30 * 1000 ) {\r\n console.log(\"30\u79D2\u5185\u4E0D\u5F97\u518D\u6B21\u5C55\u793A---native\")\r\n return\r\n }\r\n this.hideInters(InterstitialType.Native)\r\n this.customAd = this.qg.createCustomAd({\r\n adUnitId: sdkconfig.ycNativeId,\r\n style: {\r\n left: 0,\r\n top: 300,\r\n width: 1080\r\n }\r\n })\r\n this.customAd.onLoad(() => {\r\n console.log(\"mi native on load\")\r\n YCSDK.ins.onLoad(AdType.Native)\r\n })\r\n this.customAd.onClose(() => {\r\n console.log(\"mi native on close\")\r\n YCSDK.ins.onClose(AdType.Native)\r\n this.lastNative = Date.now()\r\n })\r\n this.customAd.onShow(() => {\r\n console.log(\"mi native show\")\r\n YCSDK.ins.onShow(AdType.Native)\r\n })\r\n this.customAd.onError((err) => {\r\n console.log(\"mi native error: \", err)\r\n YCSDK.ins.onError(AdType.Native)\r\n })\r\n this.customAd.show()\r\n }\r\n\r\n showInitial() {\r\n if (!sdkconfig.ycIntersId) {\r\n console.log(\"\u63D2\u5C4F\u5E7F\u544Aid\u672A\u914D\u7F6E\")\r\n return\r\n }\r\n let timeTag = Date.now()\r\n if (timeTag - this.lastInters < 30 * 1000 ) {\r\n console.log(\"30\u79D2\u5185\u4E0D\u5F97\u518D\u6B21\u5C55\u793A---inters\")\r\n return\r\n }\r\n let interstitialAd = this.qg.createInterstitialAd({\r\n adUnitId: sdkconfig.ycIntersId\r\n })\r\n interstitialAd.onLoad(() => {\r\n console.log(\"mi\u63D2\u5C4F\u5E7F\u544A\u52A0\u8F7D\u6210\u529F\")\r\n YCSDK.ins.onLoad(AdType.Inters)\r\n interstitialAd.show()\r\n YCSDK.ins.onShow(AdType.Inters)\r\n })\r\n interstitialAd.onClose(() => {\r\n console.log(\"mi innters on close\")\r\n YCSDK.ins.onClose(AdType.Inters)\r\n this.lastInters = Date.now()\r\n })\r\n interstitialAd.onError((err) => {\r\n console.log(\"mi inters error: \", err)\r\n YCSDK.ins.onError(AdType.Inters)\r\n interstitialAd.destroy()\r\n })\r\n }\r\n\r\n hideInters(type: InterstitialType): void {\r\n if (this.customAd && type == InterstitialType.Native) {\r\n this.customAd.hide()\r\n this.customAd.destroy()\r\n this.customAd = null\r\n }\r\n }\r\n\r\n showVideo(callBack: Function): boolean {\r\n this.callback = callBack\r\n let timeTag = Date.now()\r\n if (timeTag - this.lastReward < 30 * 1000 ) {\r\n console.log(\"30\u79D2\u5185\u4E0D\u5F97\u518D\u6B21\u5C55\u793A---video\")\r\n this.callback && this.callback(false)\r\n return\r\n }\r\n this.loadVideo(true)\r\n return false\r\n }\r\n\r\n loadVideo(show): void {\r\n if (!sdkconfig.ycVideoId) {\r\n console.log('\u89C6\u9891\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n this.callback && this.callback(false)\r\n this.callback = null\r\n return\r\n }\r\n if (this.rewardedVideoAd) {\r\n this.rewardedVideoAd = this.qg.createRewardedVideoAd({\r\n adUnitId: sdkconfig.ycVideoId\r\n })\r\n console.log(\"reload video, ad id: \", sdkconfig.ycVideoId)\r\n this.rewardedVideoAd.load()\r\n return\r\n }\r\n this.rewardedVideoAd = this.qg.createRewardedVideoAd({\r\n adUnitId: sdkconfig.ycVideoId\r\n })\r\n console.log(\"create video, ad id: \", sdkconfig.ycVideoId)\r\n this.rewardedVideoAd.onLoad(() => {\r\n console.log(\"mi video on load\")\r\n YCSDK.ins.onLoad(AdType.Video)\r\n if (show) {\r\n setTimeout(() => {\r\n this.rewardedVideoAd.show()\r\n YCSDK.ins.onShow(AdType.Video)\r\n }, 100)\r\n }\r\n })\r\n this.rewardedVideoAd.onClose((isEnded) => {\r\n console.log(\"mi video on close: \", isEnded)\r\n this.lastReward = Date.now()\r\n YCSDK.ins.onClose(AdType.Video)\r\n if (isEnded.isEnded) {\r\n YCSDK.ins.onReward()\r\n this.callback && this.callback(isEnded.isEnded)\r\n } else {\r\n YCSDK.ins.onClose(AdType.Video)\r\n }\r\n })\r\n this.rewardedVideoAd.onError((err) => {\r\n console.log(\"mi video error: \", err)\r\n YCSDK.ins.onError(AdType.Video)\r\n })\r\n this.rewardedVideoAd.load()\r\n }\r\n\r\n customFunc(methodName: string, params: any[], callBack: Function) {\r\n console.log(\"custom function name:\", methodName)\r\n }\r\n}", "import { AdType } from \"../../AdType\";\r\nimport { GameInterface } from \"../../GameInterface\";\r\nimport { sdkconfig } from \"../../SDKConfig\";\r\nimport { YCSDK } from \"../../YCSDK\";\r\nimport { BannerType } from \"../BannerType\";\r\nimport { InterstitialType } from \"../InterstitialType\";\r\n\r\nexport class WeChatGame implements GameInterface {\r\n\r\n private wx = window['wx']\r\n private bannerAd\r\n\r\n init(callBack?: any): void {\r\n callBack && callBack()\r\n }\r\n\r\n login(callBack?: Function): void {\r\n\r\n }\r\n\r\n pay(params: string, callBack: Function): void {\r\n\r\n }\r\n\r\n showBanner(position: BannerType): void {\r\n if (this.bannerAd) {\r\n this.bannerAd.destroy()\r\n this.bannerAd = null\r\n }\r\n const { screenWidth, screenHeight } = this.wx.getSystemInfoSync()\r\n this.bannerAd = this.wx.createBannerAd({\r\n adUnitId: sdkconfig.ycBannerId,\r\n style: {\r\n left: 0,\r\n top: 0,\r\n width: screenWidth\r\n }\r\n })\r\n this.bannerAd.onResize((size) => {\r\n this.bannerAd.style.top = screenHeight - size.height\r\n })\r\n this.bannerAd.onLoad(() => {\r\n console.log('banner \u5E7F\u544A\u52A0\u8F7D\u6210\u529F')\r\n YCSDK.ins.onLoad(AdType.Banner)\r\n YCSDK.ins.onShow(AdType.Banner)\r\n })\r\n this.bannerAd.onError(err => {\r\n console.log('banner \u5E7F\u544A\u52A0\u8F7D\u5931\u8D25:', err)\r\n YCSDK.ins.onError(AdType.Banner)\r\n this.showNativeBanner()\r\n })\r\n this.bannerAd.show()\r\n }\r\n\r\n showNativeBanner() {\r\n const { screenWidth, screenHeight } = this.wx.getSystemInfoSync()\r\n const customAd = this.wx.createCustomAd({\r\n adUnitId: sdkconfig.ycNativeId,\r\n style: {\r\n left: (screenWidth - 360) / 2,\r\n top: screenHeight - 106,\r\n width: 360,\r\n height: 106\r\n }\r\n })\r\n customAd.onResize((res) => {\r\n console.log('on resize:', res)\r\n customAd.style.top = screenHeight - res.height\r\n customAd.style.left = (screenWidth - res.width) / 2\r\n })\r\n customAd.onLoad(() => {\r\n console.log('\u539F\u751F\u6A21\u677F\u5E7F\u544A\u52A0\u8F7D\u6210\u529F')\r\n YCSDK.ins.onLoad(AdType.Native)\r\n })\r\n customAd.onError(err => {\r\n console.log('\u539F\u751F\u5E7F\u544A\u52A0\u8F7D\u5931\u8D25', err)\r\n YCSDK.ins.onError(AdType.Native)\r\n })\r\n customAd.onClose(() => {\r\n console.log('\u539F\u751F\u6A21\u677F\u5E7F\u544A\u5173\u95ED')\r\n YCSDK.ins.onClose(AdType.Native)\r\n })\r\n customAd.show().then(() => {\r\n console.log('\u539F\u751F\u6A21\u677F\u5E7F\u544A\u663E\u793A')\r\n YCSDK.ins.onShow(AdType.Native)\r\n })\r\n }\r\n\r\n hideBanner(): void {\r\n if (this.bannerAd) {\r\n this.bannerAd.hide()\r\n this.bannerAd.destroy()\r\n this.bannerAd = null\r\n }\r\n }\r\n\r\n showInters(type: InterstitialType): void {\r\n let interstitialAd = this.wx.createInterstitialAd({ adUnitId: sdkconfig.ycIntersId })\r\n interstitialAd.onLoad(() => {\r\n console.log('\u63D2\u5C4F \u5E7F\u544A\u52A0\u8F7D\u6210\u529F')\r\n YCSDK.ins.onLoad(AdType.Inters)\r\n YCSDK.ins.onShow(AdType.Inters)\r\n })\r\n interstitialAd.onError(err => {\r\n console.log('\u63D2\u5C4F\u5E7F\u544A\u52A0\u8F7D\u5931\u8D25\uFF1A', err)\r\n YCSDK.ins.onError(AdType.Inters)\r\n })\r\n interstitialAd.onClose(res => {\r\n console.log('\u63D2\u5C4F \u5E7F\u544A\u5173\u95ED')\r\n YCSDK.ins.onClose(AdType.Inters)\r\n })\r\n interstitialAd.show().catch((err) => {\r\n console.error('\u63D2\u5C4F\u5E7F\u544A\u5C55\u793A\u5931\u8D25\uFF1A', err)\r\n YCSDK.ins.onError(AdType.Inters)\r\n })\r\n }\r\n\r\n hideInters(type: InterstitialType): void {\r\n\r\n }\r\n\r\n showVideo(callBack: Function): boolean {\r\n let rewardedVideoAd = this.wx.createRewardedVideoAd({ adUnitId: sdkconfig.ycVideoId })\r\n rewardedVideoAd.onLoad(() => {\r\n console.log('\u6FC0\u52B1\u89C6\u9891 \u5E7F\u544A\u52A0\u8F7D\u6210\u529F')\r\n YCSDK.ins.onLoad(AdType.Video)\r\n })\r\n rewardedVideoAd.onError(err => {\r\n console.log('\u6FC0\u52B1\u89C6\u9891 \u5E7F\u544A\u52A0\u8F7D\u5931\u8D25\uFF1A', err)\r\n YCSDK.ins.onError(AdType.Video, callBack)\r\n })\r\n rewardedVideoAd.onClose(res => {\r\n YCSDK.ins.onClose(AdType.Video)\r\n if (res && res.isEnded || res === undefined) {\r\n // \u6B63\u5E38\u64AD\u653E\u7ED3\u675F\uFF0C\u53EF\u4EE5\u4E0B\u53D1\u6E38\u620F\u5956\u52B1\r\n YCSDK.ins.onReward()\r\n callBack && callBack(true)\r\n } else {\r\n callBack && callBack(false)\r\n }\r\n })\r\n rewardedVideoAd.show()\r\n .catch(err => {\r\n rewardedVideoAd.load()\r\n .then(() => {\r\n rewardedVideoAd.show()\r\n YCSDK.ins.onShow(AdType.Video)\r\n })\r\n })\r\n return false\r\n }\r\n\r\n customFunc(methodName: string, params: any[], callBack: Function) {\r\n // \u521B\u5EFA \u539F\u751F\u6A21\u677F \u5E7F\u544A\u5B9E\u4F8B\uFF0C\u63D0\u524D\u521D\u59CB\u5316\r\n const { screenWidth, screenHeight } = this.wx.getSystemInfoSync()\r\n let CustomAd = this.wx.createCustomAd({\r\n adUnitId: sdkconfig.ycBigPicId,\r\n style: {\r\n left: 0,\r\n top: (screenHeight - screenWidth) / 2,\r\n width: screenWidth\r\n }\r\n })\r\n CustomAd.onResize((res) => {\r\n console.log('on resize:', res)\r\n CustomAd.style.top = screenHeight - res.height\r\n CustomAd.style.left = (screenWidth - res.width) / 2\r\n })\r\n CustomAd.onError(err => {\r\n console.error('\u77E9\u9635\u5E7F\u544A\u52A0\u8F7D\u5931\u8D25\uFF1A', err.errMsg)\r\n })\r\n // \u5728\u9002\u5408\u7684\u573A\u666F\u663E\u793A \u539F\u751F\u6A21\u677F \u5E7F\u544A\r\n CustomAd.show()\r\n\r\n }\r\n\r\n}", "import { Node } from \"cc\";\r\nimport { GameInterface } from \"../../GameInterface\";\r\nimport { BannerType } from \"../../minigame/BannerType\";\r\nimport { InterstitialType } from \"../../minigame/InterstitialType\";\r\nimport { PrivacyListener } from \"../../minigame/PrivacyListener\";\r\n\r\nexport class AndroidGame implements GameInterface {\r\n\r\n className = 'com/ycsdk/cocos/GameBridge'\r\n\r\n init(callBack?: any): void {\r\n callBack && callBack()\r\n this.login()\r\n }\r\n\r\n login(callBack?: Function): void {\r\n jsb.reflection.callStaticMethod(this.className, 'login', '()V')\r\n }\r\n\r\n showPolicy(node: Node, callBack: PrivacyListener): void {\r\n jsb.reflection.callStaticMethod(this.className, 'showPolicy', '()V')\r\n }\r\n\r\n showBanner(position: BannerType): void {\r\n jsb.reflection.callStaticMethod(this.className, 'showBanner', '()V')\r\n }\r\n\r\n hideBanner(): void {\r\n jsb.reflection.callStaticMethod(this.className, 'hideBanner', '()V')\r\n }\r\n\r\n showInters(type: InterstitialType): void {\r\n jsb.reflection.callStaticMethod(this.className, 'showInters', '()V')\r\n }\r\n\r\n hideInters(type: InterstitialType): void {\r\n jsb.reflection.callStaticMethod(this.className, 'hideInters', '()V')\r\n }\r\n\r\n showVideo(callBack: Function): boolean {\r\n let videoCallBack = function (res) {\r\n console.log('on video call back:', res)\r\n if (res) {\r\n callBack && callBack(true)\r\n } else {\r\n callBack && callBack(false)\r\n }\r\n }\r\n window['videoCallBack'] = videoCallBack\r\n jsb.reflection.callStaticMethod(this.className, 'showVideo', '()V')\r\n return false\r\n }\r\n\r\n customFunc(methodName: string, params: any[], callBack: Function) {\r\n jsb.reflection.callStaticMethod(this.className, 'customFunc', '(Ljava/lang/String;Ljava/lang/String;)V', methodName, params)\r\n }\r\n\r\n}"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["export enum InterstitialType{\r\n Initial = \"Initial\", //\u666E\u901A\u63D2\u5C4F\r\n Native = \"Native\", //\u539F\u751F\u63D2\u5C4F\r\n Video = \"Video\" //\u63D2\u5C4F\u89C6\u9891\r\n}", "export interface Config {\r\n pkgName: string\r\n appId: string\r\n bannerId?: string[]\r\n intersId?: string[]\r\n videoId?: string[]\r\n nativeId?: string[]\r\n nativeBannerId?: string[],\r\n extension?:string[]\r\n}\r\n\r\ninterface SDKConfig extends Config {\r\n open: boolean\r\n version: string\r\n subornUser: boolean\r\n subornUserTest: boolean\r\n ycBannerId: string\r\n ycNativeId: string\r\n ycVideoId: string\r\n ycIntersId: string\r\n ycBigPicId: string\r\n ycNativeBannerId: string\r\n ratio: { inters: number, native: number, video: number }\r\n customFunc?: {}\r\n}\r\n\r\nexport let sdkconfig: SDKConfig = {\r\n open: true,\r\n subornUser: false,\r\n subornUserTest: false,\r\n version: \"1536\",\r\n pkgName: \"\",\r\n appId: \"\",\r\n bannerId: [],\r\n intersId: [],\r\n videoId: [],\r\n nativeId: [],\r\n nativeBannerId: [],\r\n extension:[],\r\n ratio: {\r\n inters: 50,\r\n native: 50,\r\n video: 0\r\n },\r\n\r\n ycBannerId: \"\",\r\n ycNativeId: \"\",\r\n ycVideoId: \"\",\r\n ycIntersId: \"\",\r\n ycBigPicId: \"\",\r\n ycNativeBannerId: \"\",\r\n customFunc: {}\r\n}", "export enum BannerType {\r\n Top = \"Top\", \r\n Bottom = \"Bottom\",\r\n Normal = \"Normal\",\r\n Native = \"Native\"\r\n}", "import { sys } from \"cc\";\r\n\r\nexport class StorageUtils {\r\n\r\n\r\n static setStringData(key: string, value: string): void {\r\n if (key == \"\" || value == \"\") return;\r\n if (typeof value != \"string\") value = JSON.stringify(value);\r\n sys.localStorage.setItem(key, value);\r\n }\r\n\r\n static getStringData(key: string): string {\r\n let value = sys.localStorage.getItem(key);\r\n if (value == \"\" || value == undefined || value == null) value = \"\";\r\n return value;\r\n }\r\n\r\n static setBooleanData(key: string, value: boolean): void {\r\n sys.localStorage.setItem(key, value.toString());\r\n }\r\n\r\n static getBooleanData(key: string): boolean {\r\n let value = sys.localStorage.getItem(key);\r\n if (value == \"\" || value == undefined || value == null) return false;\r\n if (value == \"true\") return true;\r\n if (value == \"false\") return false;\r\n return false;\r\n }\r\n \r\n static setIntData(key: string, value: number): void {\r\n sys.localStorage.setItem(key, value.toString())\r\n }\r\n\r\n static getIntgData(key: string): number {\r\n let value = sys.localStorage.getItem(key)\r\n if (value) {\r\n return parseInt(value)\r\n }\r\n return 0\r\n }\r\n}", "/*\n\nTypeScript Md5\n==============\n\nBased on work by\n* Joseph Myers: http://www.myersdaily.org/joseph/javascript/md5-text.html\n* Andr\u00E9 Cruz: https://github.com/satazor/SparkMD5\n* Raymond Hill: https://github.com/gorhill/yamd5.js\n\nEffectively a TypeScrypt re-write of Raymond Hill JS Library\n\nThe MIT License (MIT)\n\nCopyright (C) 2014 Raymond Hill\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n\n\n DO WHAT YOU WANT TO PUBLIC LICENSE\n Version 2, December 2004\n\n Copyright (C) 2015 Andr\u00E9 Cruz <amdfcruz@gmail.com>\n\n Everyone is permitted to copy and distribute verbatim or modified\n copies of this license document, and changing it is allowed as long\n as the name is changed.\n\n DO WHAT YOU WANT TO PUBLIC LICENSE\n TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n 0. You just DO WHAT YOU WANT TO.\n\n\n*/\n\n\ninterface HasherState {\n buffer: string;\n buflen: number;\n length: number;\n state: number[];\n};\n\nexport class Md5 {\n\n /**\n * Hash a UTF-8 string on the spot\n * @param str String to hash\n * @param raw Whether to return the value as an `Int32Array`\n */\n public static hashStr(str: string, raw?: false): string;\n public static hashStr(str: string, raw: true): Int32Array;\n public static hashStr(str: string, raw: boolean = false) {\n return this.onePassHasher\n .start()\n .appendStr(str)\n .end(raw);\n }\n\n /**\n * Hash a ASCII string on the spot\n * @param str String to hash\n * @param raw Whether to return the value as an `Int32Array`\n */\n public static hashAsciiStr(str: string, raw?: false): string;\n public static hashAsciiStr(str: string, raw: true): Int32Array;\n public static hashAsciiStr(str: string, raw: boolean = false) {\n return this.onePassHasher\n .start()\n .appendAsciiStr(str)\n .end(raw);\n }\n // Private Static Variables\n private static stateIdentity = new Int32Array([1732584193, -271733879, -1732584194, 271733878]);\n private static buffer32Identity = new Int32Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);\n private static hexChars = '0123456789abcdef';\n private static hexOut: string[] = [];\n\n // Permanent instance is to use for one-call hashing\n private static onePassHasher = new Md5();\n\n private static _hex(x: Int32Array): string {\n const hc = Md5.hexChars;\n const ho = Md5.hexOut;\n let n;\n let offset;\n let j;\n let i;\n\n for (i = 0; i < 4; i += 1) {\n offset = i * 8;\n n = x[i];\n for (j = 0; j < 8; j += 2) {\n ho[offset + 1 + j] = hc.charAt(n & 0x0F);\n n >>>= 4;\n ho[offset + 0 + j] = hc.charAt(n & 0x0F);\n n >>>= 4;\n }\n }\n return ho.join('');\n }\n\n private static _md5cycle(x: Int32Array|Uint32Array, k: Int32Array|Uint32Array) {\n let a = x[0];\n let b = x[1];\n let c = x[2];\n let d = x[3];\n // ff()\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n // gg()\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n // hh()\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n // ii()\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n\n private _dataLength = 0;\n private _bufferLength = 0;\n\n private _state: Int32Array = new Int32Array(4);\n private _buffer: ArrayBuffer = new ArrayBuffer(68);\n private _buffer8: Uint8Array;\n private _buffer32: Uint32Array;\n\n constructor() {\n this._buffer8 = new Uint8Array(this._buffer, 0, 68);\n this._buffer32 = new Uint32Array(this._buffer, 0, 17);\n this.start();\n }\n\n /**\n * Initialise buffer to be hashed\n */\n public start() {\n this._dataLength = 0;\n this._bufferLength = 0;\n this._state.set(Md5.stateIdentity);\n return this;\n }\n\n // Char to code point to to array conversion:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charCodeAt\n // #Example.3A_Fixing_charCodeAt_to_handle_non-Basic-Multilingual-Plane_characters_if_their_presence_earlier_in_the_string_is_unknown\n\n /**\n * Append a UTF-8 string to the hash buffer\n * @param str String to append\n */\n public appendStr(str: string) {\n const buf8 = this._buffer8;\n const buf32 = this._buffer32;\n let bufLen = this._bufferLength;\n let code;\n let i;\n\n for (i = 0; i < str.length; i += 1) {\n code = str.charCodeAt(i);\n if (code < 128) {\n buf8[bufLen++] = code;\n } else if (code < 0x800) {\n buf8[bufLen++] = (code >>> 6) + 0xC0;\n buf8[bufLen++] = code & 0x3F | 0x80;\n } else if (code < 0xD800 || code > 0xDBFF) {\n buf8[bufLen++] = (code >>> 12) + 0xE0;\n buf8[bufLen++] = (code >>> 6 & 0x3F) | 0x80;\n buf8[bufLen++] = (code & 0x3F) | 0x80;\n } else {\n code = ((code - 0xD800) * 0x400) + (str.charCodeAt(++i) - 0xDC00) + 0x10000;\n if (code > 0x10FFFF) {\n throw new Error('Unicode standard supports code points up to U+10FFFF');\n }\n buf8[bufLen++] = (code >>> 18) + 0xF0;\n buf8[bufLen++] = (code >>> 12 & 0x3F) | 0x80;\n buf8[bufLen++] = (code >>> 6 & 0x3F) | 0x80;\n buf8[bufLen++] = (code & 0x3F) | 0x80;\n }\n if (bufLen >= 64) {\n this._dataLength += 64;\n Md5._md5cycle(this._state, buf32);\n bufLen -= 64;\n buf32[0] = buf32[16];\n }\n }\n this._bufferLength = bufLen;\n return this;\n }\n\n /**\n * Append an ASCII string to the hash buffer\n * @param str String to append\n */\n public appendAsciiStr(str: string) {\n const buf8 = this._buffer8;\n const buf32 = this._buffer32;\n let bufLen = this._bufferLength;\n let i;\n let j = 0;\n\n for (; ;) {\n i = Math.min(str.length - j, 64 - bufLen);\n while (i--) {\n buf8[bufLen++] = str.charCodeAt(j++);\n }\n if (bufLen < 64) {\n break;\n }\n this._dataLength += 64;\n Md5._md5cycle(this._state, buf32);\n bufLen = 0;\n }\n this._bufferLength = bufLen;\n return this;\n }\n\n /**\n * Append a byte array to the hash buffer\n * @param input array to append\n */\n public appendByteArray(input: Uint8Array) {\n const buf8 = this._buffer8;\n const buf32 = this._buffer32;\n let bufLen = this._bufferLength;\n let i;\n let j = 0;\n\n for (; ;) {\n i = Math.min(input.length - j, 64 - bufLen);\n while (i--) {\n buf8[bufLen++] = input[j++];\n }\n if (bufLen < 64) {\n break;\n }\n this._dataLength += 64;\n Md5._md5cycle(this._state, buf32);\n bufLen = 0;\n }\n this._bufferLength = bufLen;\n return this;\n }\n\n /**\n * Get the state of the hash buffer\n */\n public getState(): HasherState {\n const s = this._state;\n\n return {\n buffer: String.fromCharCode.apply(null, Array.from(this._buffer8)),\n buflen: this._bufferLength,\n length: this._dataLength,\n state: [s[0], s[1], s[2], s[3]]\n };\n }\n\n /**\n * Override the current state of the hash buffer\n * @param state New hash buffer state\n */\n public setState(state: HasherState) {\n const buf = state.buffer;\n const x = state.state;\n const s = this._state;\n let i;\n\n this._dataLength = state.length;\n this._bufferLength = state.buflen;\n s[0] = x[0];\n s[1] = x[1];\n s[2] = x[2];\n s[3] = x[3];\n\n for (i = 0; i < buf.length; i += 1) {\n this._buffer8[i] = buf.charCodeAt(i);\n }\n }\n\n /**\n * Hash the current state of the hash buffer and return the result\n * @param raw Whether to return the value as an `Int32Array`\n */\n public end(raw: boolean = false) {\n const bufLen = this._bufferLength;\n const buf8 = this._buffer8;\n const buf32 = this._buffer32;\n const i = (bufLen >> 2) + 1;\n\n this._dataLength += bufLen;\n const dataBitsLen = this._dataLength * 8\n\n buf8[bufLen] = 0x80;\n buf8[bufLen + 1] = buf8[bufLen + 2] = buf8[bufLen + 3] = 0;\n buf32.set(Md5.buffer32Identity.subarray(i), i);\n\n if (bufLen > 55) {\n Md5._md5cycle(this._state, buf32);\n buf32.set(Md5.buffer32Identity);\n }\n\n // Do the final computation based on the tail and length\n // Beware that the final length may not fit in 32 bits so we take care of that\n if (dataBitsLen <= 0xFFFFFFFF) {\n buf32[14] = dataBitsLen;\n } else {\n const matches = dataBitsLen.toString(16).match(/(.*?)(.{0,8})$/);\n if (matches === null) {\n return;\n }\n\n const lo = parseInt(matches[2], 16);\n const hi = parseInt(matches[1], 16) || 0;\n\n buf32[14] = lo;\n buf32[15] = hi;\n }\n\n Md5._md5cycle(this._state, buf32);\n\n return raw ? this._state : Md5._hex(this._state);\n }\n}\n\nif (Md5.hashStr('hello') !== '5d41402abc4b2a76b9719d911017c592') {\n throw new Error('Md5 self test failed.');\n}\n", "export enum AdType{\r\n Banner = \"Banner\",\r\n Inters = \"Inters\",\r\n Native = \"Native\",\r\n Video = \"Video\",\r\n NativeBanner = \"NativeBanner\"\r\n}", "import { sys, Node, resources, Prefab, instantiate, view } from \"cc\"\r\nimport { AdState } from \"./AdState\"\r\nimport { AdType } from \"./AdType\"\r\nimport { GameInterface } from \"./GameInterface\"\r\nimport { BannerType } from \"./minigame/BannerType\"\r\nimport { DebugGame } from \"./minigame/DebugGame\"\r\nimport { InterstitialType } from \"./minigame/InterstitialType\"\r\nimport { MiniGame } from \"./minigame/MiniGame\"\r\nimport { PayParams } from \"./minigame/PayParams\"\r\nimport { PrivacyListener } from \"./minigame/PrivacyListener\"\r\nimport { Config, sdkconfig } from \"./SDKConfig\"\r\nimport { StorageUtils } from \"./StorageUtils\"\r\nimport { PrivacyEvent } from \"./minigame/PrivacyEvent\"\r\nimport { AndroidGame } from \"./nativegame/anroid/AndroidGame\"\r\nimport { SubornVideoConfig } from \"./minigame/SubornVideoConfig\"\r\n\r\nexport class YCSDK {\r\n\r\n private static instance: YCSDK\r\n private platform: GameInterface\r\n private states: Array<AdState> = []\r\n private suportPlatfrom = [sys.Platform.HUAWEI_QUICK_GAME, sys.Platform.XIAOMI_QUICK_GAME, sys.Platform.OPPO_MINI_GAME, sys.Platform.VIVO_MINI_GAME, sys.Platform.BYTEDANCE_MINI_GAME, sys.Platform.WECHAT_GAME]\r\n private privacyKey: string = \"PRIVACY\"\r\n private gameNode: Node\r\n\r\n private constructor() {\r\n this.createPlatform()\r\n }\r\n\r\n public static get ins(): YCSDK {\r\n if (!YCSDK.instance) {\r\n YCSDK.instance = new YCSDK()\r\n }\r\n return YCSDK.instance\r\n }\r\n\r\n private createPlatform(): void {\r\n let platform = sys.platform\r\n console.log(\"current platform:\", platform)\r\n if (platform == sys.Platform.ANDROID) {\r\n this.platform = new AndroidGame()\r\n return\r\n }\r\n if (this.isSupportMiniGame(platform)) {\r\n this.platform = new MiniGame(platform)\r\n return\r\n }\r\n console.log(\"ycsdk\u6682\u4E0D\u652F\u6301\u8BE5\u5C0F\u6E38\u620F\u5E73\u53F0,\u4EE5\u8C03\u8BD5\u6A21\u5F0F\u8FD0\u884C\")\r\n this.platform = new DebugGame()\r\n }\r\n\r\n isSupportMiniGame(platform) {\r\n return this.suportPlatfrom.includes(platform)\r\n }\r\n\r\n isRun(platform): boolean {\r\n return sys.platform == platform;\r\n }\r\n\r\n init(config: Config, callBack?: Function, adconfig?: SubornVideoConfig) {\r\n console.log(\"ycsdk init\")\r\n if (!config) {\r\n console.log(\"ycsdk init fail, config is null\")\r\n callBack && callBack()\r\n return\r\n }\r\n sdkconfig.pkgName = config.pkgName\r\n sdkconfig.appId = config.appId\r\n sdkconfig.bannerId = config.bannerId\r\n sdkconfig.intersId = config.intersId\r\n sdkconfig.nativeId = config.nativeId\r\n sdkconfig.videoId = config.videoId\r\n sdkconfig.nativeBannerId = config.nativeBannerId\r\n sdkconfig.extension = config.extension\r\n this.platform.init(callBack, adconfig)\r\n }\r\n\r\n agreePrivacy(): boolean {\r\n if (this.isRun(sys.Platform.ANDROID)) {\r\n return true\r\n }\r\n return StorageUtils.getStringData(this.privacyKey) == 'agree'\r\n }\r\n\r\n showPolicy(node: Node, callBack: PrivacyListener): void {\r\n console.log(\"ycsdk showPolicy\")\r\n this.gameNode = node\r\n this.platform.showPolicy(node, callBack)\r\n }\r\n\r\n login(callBack?: Function): void {\r\n console.log(\"ycsdk login\")\r\n this.platform.login(callBack)\r\n }\r\n\r\n pay(params: PayParams, callBack: Function): void {\r\n this.platform.pay(params.toJSonString(), callBack)\r\n }\r\n\r\n showBanner(position: BannerType = BannerType.Bottom): void {\r\n console.log(\"ycsdk show banner, type:\", position)\r\n this.platform.showBanner(position)\r\n }\r\n\r\n hideBanner(): void {\r\n this.platform.hideBanner()\r\n }\r\n\r\n random(max: number): number {\r\n max = Math.floor(max)\r\n return Math.floor(Math.random() * max) + 1\r\n }\r\n\r\n showInters(type?: InterstitialType): void {\r\n console.log(\"ycsdk show interstitial, type:\", type)\r\n this.platform.showInters(type)\r\n }\r\n\r\n hideInters(type: InterstitialType = InterstitialType.Native): void {\r\n this.platform.hideInters(type)\r\n }\r\n\r\n showVideo(callback: Function): boolean {\r\n console.log(\"ycsdk show video\")\r\n return this.platform.showVideo(callback)\r\n }\r\n\r\n customFunc(methodName: string, params: any[], callBack: Function) {\r\n this.platform.customFunc(methodName, params, callBack)\r\n }\r\n\r\n setAdStateListener(state: AdState) {\r\n if (!state) {\r\n console.log('state is null, can not add to list')\r\n return\r\n }\r\n if (this.states.includes(state)) {\r\n console.log(\"setAdStateListener interface is called\")\r\n return\r\n }\r\n this.states.push(state)\r\n }\r\n vertical(): boolean {\r\n let winSize = view.getDesignResolutionSize()\r\n console.log('vertical:', winSize.height > winSize.width)\r\n return winSize.height > winSize.width\r\n }\r\n\r\n setGameNode(node: Node) {\r\n this.gameNode = node\r\n }\r\n\r\n getGameNode(): Node {\r\n return this.gameNode\r\n }\r\n\r\n onLoad(type: AdType) {\r\n if (!this.states.length) {\r\n return\r\n }\r\n this.states.forEach(state => {\r\n state.onLoad && state.onLoad(type)\r\n })\r\n }\r\n\r\n onError(type: AdType, callback?: Function) {\r\n if (!this.states.length) {\r\n return\r\n }\r\n this.states.forEach(state => {\r\n state.onError && state.onError(type, callback)\r\n })\r\n }\r\n\r\n onShow(type: AdType) {\r\n if (!this.states.length) {\r\n return\r\n }\r\n this.states.forEach(state => {\r\n state.onShow && state.onShow(type)\r\n })\r\n }\r\n\r\n onClick(type: AdType) {\r\n if (!this.states.length) {\r\n return\r\n }\r\n this.states.forEach(state => {\r\n state.onClick && state.onClick(type)\r\n })\r\n }\r\n\r\n onClose(type: AdType) {\r\n if (!this.states.length) {\r\n return\r\n }\r\n this.states.forEach(state => {\r\n state.onClose && state.onClose(type)\r\n })\r\n }\r\n\r\n onReward() {\r\n if (!this.states.length) {\r\n return\r\n }\r\n this.states.forEach(state => {\r\n state.onReward && state.onReward()\r\n })\r\n }\r\n}", "import { instantiate, Node, Prefab, resources } from \"cc\";\r\nimport { GameInterface } from \"../GameInterface\";\r\nimport { BannerType } from \"./BannerType\";\r\nimport { InterstitialType } from \"./InterstitialType\";\r\nimport { PrivacyListener } from \"./PrivacyListener\";\r\nimport { StorageUtils } from \"../StorageUtils\";\r\nimport { PrivacyEvent } from \"./PrivacyEvent\";\r\nimport { YCSDK } from \"../YCSDK\";\r\n\r\nexport class DebugGame implements GameInterface {\r\n private privacyKey: string = \"PRIVACY\"\r\n\r\n init(callBack?): void {\r\n console.log(\"debug init\")\r\n callBack && callBack()\r\n }\r\n\r\n showPolicy(node: Node, callBack: PrivacyListener): void {\r\n let agree = StorageUtils.getStringData(this.privacyKey)\r\n console.log(agree)\r\n if (agree == 'agree') {\r\n console.log(\"user agree privacy, not show\")\r\n callBack.userAgree && callBack.userAgree()\r\n return\r\n }\r\n if (!node) {\r\n console.log(\"node is null\")\r\n callBack.nodeError && callBack.nodeError()\r\n return\r\n }\r\n resources.load('Privacy/policyUI', Prefab, (err, prefab) => {\r\n if (err) {\r\n console.error('\u52A0\u8F7D\u9690\u79C1\u653F\u7B56Prefab\u5931\u8D25:', err)\r\n return\r\n }\r\n const yinsiUI = instantiate(prefab)\r\n const content = yinsiUI.getChildByName('panel').getChildByName('content')\r\n if (!content.getComponent(PrivacyEvent)) {\r\n content.addComponent(PrivacyEvent)\r\n }\r\n const agree = yinsiUI.getChildByName('panel').getChildByName('agree')\r\n agree.on(Node.EventType.TOUCH_END, () => {\r\n callBack.onAgree && callBack.onAgree()\r\n StorageUtils.setStringData(this.privacyKey, \"agree\")\r\n yinsiUI.active = false\r\n }, this)\r\n const disagree = yinsiUI.getChildByName('panel').getChildByName('disagree')\r\n disagree.on(Node.EventType.TOUCH_END, () => {\r\n callBack.onDisAgree && callBack.onDisAgree()\r\n yinsiUI.getChildByName('panel').getChildByName('tip').active = true\r\n }, this)\r\n node.addChild(yinsiUI)\r\n })\r\n }\r\n\r\n login(callBack?: Function): void {\r\n console.log(\"debug call login\")\r\n }\r\n\r\n pay(params: string, callBack: Function): void {\r\n console.log(\"bubug call pay\")\r\n }\r\n\r\n showBanner(position: BannerType): void {\r\n console.log(\"bubug call show banner\")\r\n }\r\n\r\n hideBanner(): void {\r\n console.log(\"bubug call hide banner\")\r\n }\r\n\r\n showInters(type: InterstitialType): void {\r\n console.log(\"debug call show interstitial ad type:\", type)\r\n }\r\n\r\n hideInters(type: InterstitialType): void {\r\n console.log(\"bubug call hide interstitial\")\r\n }\r\n\r\n showVideo(callBack: Function): boolean {\r\n console.log(\"call debug show video ad\")\r\n callBack && callBack(true)\r\n return true\r\n }\r\n\r\n customFunc(methodName: string, params: any[], callBack: Function) {\r\n console.log(\"bubug call custom function name:\", methodName)\r\n }\r\n\r\n}", "import { Component, instantiate, Prefab, resources, Node, sys } from \"cc\"\r\nimport { YCSDK } from \"../YCSDK\"\r\n\r\nexport class PrivacyEvent extends Component {\r\n\r\n private yinsiUI: Node\r\n\r\n onLoad(): void {\r\n if (YCSDK.ins.isRun(sys.Platform.ANDROID)) {\r\n return\r\n }\r\n resources.load('Privacy/yinsiUI', Prefab, (err, prefab: Prefab) => {\r\n if (err) {\r\n console.error('\u52A0\u8F7DPrefab\u5931\u8D25:', err)\r\n return\r\n }\r\n this.yinsiUI = instantiate(prefab)\r\n const close = this.yinsiUI.getChildByName('window').getChildByName('closeBtn')\r\n close.on(Node.EventType.TOUCH_END, () => {\r\n this.yinsiUI.active = false\r\n }, this)\r\n YCSDK.ins.getGameNode().addChild(this.yinsiUI)\r\n })\r\n }\r\n\r\n openPrivacyPolicy(event) {\r\n console.log(\"\u70B9\u51FB\u9690\u79C1\u653F\u7B56\")\r\n if (YCSDK.ins.isRun(sys.Platform.ANDROID)) {\r\n YCSDK.ins.showPolicy(null, null)\r\n return\r\n }\r\n if (YCSDK.ins.isRun(sys.Platform.HUAWEI_QUICK_GAME)) {\r\n this.hwOpen()\r\n return\r\n }\r\n this.open()\r\n }\r\n\r\n hwOpen() {\r\n const qg = window['qg']\r\n if (!qg) {\r\n console.log('qg is null')\r\n return\r\n }\r\n qg.openDeeplink({\r\n uri: 'https://ds.rhino-times.com/tl/docs/m_privateprotocol.html'\r\n })\r\n }\r\n\r\n open() {\r\n this.yinsiUI.active = true\r\n }\r\n}", "import { instantiate, Node, Prefab, resources, sys } from \"cc\";\nimport { AdTactics } from \"../AdTactics\";\nimport { GameInterface } from \"../GameInterface\";\nimport { sdkconfig } from \"../SDKConfig\";\nimport { YCSDK } from \"../YCSDK\";\nimport { BannerType } from \"./BannerType\";\nimport { DouYinGame } from \"./douyin/DouYinGame\";\nimport HttpRequest from \"./HttpRequest\";\nimport { HuaWeiGame } from \"./huawei/HuaWeiGame\";\nimport { InterstitialType } from \"./InterstitialType\";\nimport { KuaiShouGame } from \"./kuaishou/KuaiShouGame\";\nimport { OppoGame } from \"./oppo/OppoGame\";\nimport { VivoGame } from \"./vivo/VivoGame\";\nimport { XiaoMiGame } from \"./xiaomi/XiaoMiGame\";\nimport { WeChatGame } from \"./wechat/WeChatGame\";\nimport { Md5 } from \"./md5\";\nimport { PrivacyListener } from \"./PrivacyListener\";\nimport { StorageUtils } from \"../StorageUtils\";\nimport { PrivacyEvent } from \"./PrivacyEvent\";\nimport { SubornVideoConfig } from \"./SubornVideoConfig\";\n\nexport class MiniGame implements GameInterface {\n\n private channel: GameInterface\n private privacyKey: string = \"PRIVACY\"\n\n constructor(platform) {\n this.channelFactory(platform)\n }\n\n private channelFactory(platform) {\n console.log(\"switch platform:\", platform)\n switch (platform) {\n case sys.Platform.HUAWEI_QUICK_GAME:\n this.channel = new HuaWeiGame()\n break\n case sys.Platform.XIAOMI_QUICK_GAME:\n this.channel = new XiaoMiGame()\n break\n case sys.Platform.OPPO_MINI_GAME:\n this.channel = new OppoGame()\n break\n case sys.Platform.VIVO_MINI_GAME:\n this.channel = new VivoGame()\n break\n case sys.Platform.BYTEDANCE_MINI_GAME:\n this.channel = new DouYinGame()\n break\n case sys.Platform.WECHAT_GAME:\n this.channel = new WeChatGame()\n break\n default:\n break\n }\n }\n\n jsonToKeyValue(json: Record<string, any>): string {\n return Object.entries(json)\n .map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`)\n .join('&');\n }\n\n init(callBack?: Function, adconfig?: SubornVideoConfig): void {\n if (!adconfig) adconfig = { switch: false, count: 0, delay: 0 }\n if (!YCSDK.ins.isRun(sys.Platform.OPPO_MINI_GAME)) {\n this.setAdStateListener()\n adconfig.switch = false\n this.channel.init(callBack, adconfig)\n return\n }\n const url = \"https://iaa.rhino-times.com/api/game/query-match-config\"\n const data = { pkgName: sdkconfig.pkgName, version: sdkconfig.version }\n const sign = Md5.hashStr(this.jsonToKeyValue(data))\n data[\"sign\"] = sign\n HttpRequest.get().requestPostjson(url, data, (success, result) => {\n if (!success || !result) {\n this.setAdStateListener()\n adconfig.switch = false\n this.channel.init(callBack, adconfig)\n return\n }\n const res = result.oexts\n sdkconfig.open = result.open\n sdkconfig.ratio = res.ratio\n sdkconfig.subornUserTest = res.subornUserTest\n if (res.subornVideoConfig) {\n adconfig = res.subornVideoConfig\n }\n this.setAdStateListener()\n this.channel.init(callBack, adconfig)\n })\n }\n\n setAdStateListener() {\n const st = new AdTactics()\n st.refreshAll()\n YCSDK.ins.setAdStateListener(st)\n }\n\n showPolicy(node: Node, callBack: PrivacyListener): void {\n let agree = StorageUtils.getStringData(this.privacyKey)\n console.log(agree)\n if (agree == 'agree') {\n console.log(\"user agree privacy, not show\")\n callBack.userAgree && callBack.userAgree()\n return\n }\n if (!node) {\n console.log(\"node is null\")\n callBack.nodeError && callBack.nodeError()\n return\n }\n resources.load('Privacy/policyUI', Prefab, (err, prefab) => {\n if (err) {\n console.error('\u52A0\u8F7D\u9690\u79C1\u653F\u7B56Prefab\u5931\u8D25:', err)\n return\n }\n const yinsiUI = instantiate(prefab)\n const content = yinsiUI.getChildByName('panel').getChildByName('content')\n if (!content.getComponent(PrivacyEvent)) {\n content.addComponent(PrivacyEvent)\n }\n const agree = yinsiUI.getChildByName('panel').getChildByName('agree')\n agree.on(Node.EventType.TOUCH_END, () => {\n callBack.onAgree && callBack.onAgree()\n StorageUtils.setStringData(this.privacyKey, \"agree\")\n yinsiUI.active = false\n }, this)\n const disagree = yinsiUI.getChildByName('panel').getChildByName('disagree')\n disagree.on(Node.EventType.TOUCH_END, () => {\n callBack.onDisAgree && callBack.onDisAgree()\n yinsiUI.getChildByName('panel').getChildByName('tip').active = true\n }, this)\n YCSDK.ins.getGameNode().addChild(yinsiUI)\n })\n }\n\n login(callBack?: Function): void {\n this.channel.login(callBack)\n }\n\n pay(params: string, callBack): void {\n this.channel.pay(params, callBack)\n }\n\n showBanner(position: BannerType): void {\n if (!sdkconfig.open) {\n console.log(\"\u5E7F\u544A\u672A\u5F00\u542F\")\n return\n }\n this.channel.showBanner(position)\n }\n\n hideBanner(): void {\n this.channel.hideBanner()\n }\n\n showInters(type: InterstitialType): void {\n if (!sdkconfig.open) {\n console.log(\"\u5E7F\u544A\u672A\u5F00\u542F\")\n return\n }\n this.channel.showInters(type)\n }\n\n hideInters(type: InterstitialType = InterstitialType.Native): void {\n this.channel.hideInters(type)\n }\n\n showVideo(callBack: Function): boolean {\n if (!sdkconfig.open) {\n console.log(\"\u5E7F\u544A\u672A\u5F00\u542F\")\n callBack && callBack(true)//\u4E0D\u5F71\u54CD\u6B63\u5E38\u6E38\u73A9\uFF0C\u4E0B\u53D1\u5956\u52B1\n return false\n }\n return this.channel.showVideo(callBack)\n }\n\n customFunc(methodName: string, params: any[], callBack: Function) {\n if (!sdkconfig.open) {\n console.log(\"\u5E7F\u544A\u672A\u5F00\u542F\")\n return\n }\n this.channel.customFunc(methodName, params, callBack)\n }\n}\n", "import { sys } from \"cc\"\r\nimport { AdState } from \"./AdState\"\r\nimport { AdType } from \"./AdType\"\r\nimport { BannerType } from \"./minigame/BannerType\"\r\nimport { InterstitialType } from \"./minigame/InterstitialType\"\r\nimport { sdkconfig } from \"./SDKConfig\"\r\nimport { YCSDK } from \"./YCSDK\"\r\n\r\nexport class AdTactics implements AdState {\r\n\r\n private bannerIndex: number = 0\r\n private bannerLoaded: string[] = []\r\n private intersIndex: number = 0\r\n private intersLoaded: string[] = []\r\n private nativeIndex: number = 0\r\n private nativeLoaded: string[] = []\r\n private videoIndex: number = 0\r\n private videoLoaded: string[] = []\r\n private nativeBannerIndex: number = 0\r\n private nativeBanerLoaded: string[] = []\r\n\r\n onLoad(type: AdType): void {\r\n console.log(\"on load: \", type)\r\n this.refreshId(type)//\u52A0\u8F7D\u5E7F\u544A\u6210\u529F\u540E\u6362id\r\n switch (type) {\r\n case AdType.Banner:\r\n this.bannerLoaded = []\r\n break\r\n case AdType.NativeBanner:\r\n this.nativeBanerLoaded = []\r\n break\r\n case AdType.Inters:\r\n this.intersLoaded = []\r\n break\r\n case AdType.Native:\r\n this.nativeLoaded = []\r\n break\r\n case AdType.Video:\r\n this.videoLoaded = []\r\n break\r\n }\r\n }\r\n\r\n onError(type: AdType, callBack?: Function): void {\r\n console.log(\"on error: \", type)\r\n if (YCSDK.ins.isRun(sys.Platform.OPPO_MINI_GAME)) {\r\n this.reLoadAd(type, callBack)\r\n }\r\n }\r\n\r\n onShow(type: AdType): void {\r\n console.log(\"on show: \", type)\r\n }\r\n\r\n onClick(type: AdType): void {\r\n console.log(\"on click: \", type)\r\n }\r\n\r\n onClose(type: AdType, callBack?: Function): void {\r\n console.log(\"on close: \", type)\r\n }\r\n\r\n onReward(): void {\r\n console.log(\"on reward\")\r\n }\r\n\r\n reLoadAd(type: AdType, callback): void {\r\n console.log(\"reLoadAd: \", type)\r\n switch (type) {\r\n case AdType.Banner:\r\n this.reshowBanner()\r\n break\r\n case AdType.NativeBanner:\r\n this.reshowNativeBanner()\r\n break\r\n case AdType.Inters:\r\n this.reshowInterstitial()\r\n break\r\n case AdType.Native:\r\n this.reshowNative()\r\n break\r\n case AdType.Video:\r\n this.reshowVideo(callback)\r\n break\r\n }\r\n }\r\n\r\n reshowBanner() {\r\n const length = sdkconfig.bannerId.length\r\n if (length == 0 || length == 1) {\r\n console.log(\"re show banner need more than 1 id\")\r\n return\r\n }\r\n if (this.bannerLoaded.includes(sdkconfig.ycBannerId)) {\r\n console.log(\"reshowBanner1: \", sdkconfig.ycBannerId, \" already loaded\")\r\n this.bannerLoaded = []\r\n return\r\n }\r\n this.bannerLoaded.push(sdkconfig.ycBannerId)\r\n this.refreshId(AdType.Banner)\r\n if (this.bannerLoaded.includes(sdkconfig.ycBannerId)) {\r\n console.log(\"reshowBanner2: \", sdkconfig.ycBannerId, \" already loaded\")\r\n this.bannerLoaded = []\r\n return\r\n }\r\n YCSDK.ins.showBanner()\r\n }\r\n\r\n reshowNativeBanner() {\r\n const length = sdkconfig.nativeBannerId.length\r\n if (length == 0 || length == 1) {\r\n console.log(\"re show native banner need more than 1 id\")\r\n return\r\n }\r\n if (this.nativeBanerLoaded.includes(sdkconfig.ycNativeBannerId)) {\r\n console.log(\"reshow native Banner1: \", sdkconfig.ycNativeBannerId, \" already loaded\")\r\n this.nativeBanerLoaded = []\r\n return\r\n }\r\n this.nativeBanerLoaded.push(sdkconfig.ycNativeBannerId)\r\n this.refreshId(AdType.Banner)\r\n if (this.nativeBanerLoaded.includes(sdkconfig.ycNativeBannerId)) {\r\n console.log(\"reshow native Banner2: \", sdkconfig.ycNativeBannerId, \" already loaded\")\r\n this.nativeBanerLoaded = []\r\n return\r\n }\r\n YCSDK.ins.showBanner(BannerType.Native)\r\n }\r\n\r\n reshowNative() {\r\n const length = sdkconfig.nativeId.length\r\n if (length == 0 || length == 1) {\r\n console.log(\"re show native need more than 1 id\")\r\n return\r\n }\r\n if (this.nativeLoaded.includes(sdkconfig.ycNativeId)) {\r\n console.log(\"reshowNative1: \", sdkconfig.ycNativeId, \" already loaded\")\r\n this.nativeLoaded = []\r\n return\r\n }\r\n this.nativeLoaded.push(sdkconfig.ycNativeId)\r\n this.refreshId(AdType.Native)\r\n if (this.nativeLoaded.includes(sdkconfig.ycNativeId)) {\r\n console.log(\"reshowNative2: \", sdkconfig.ycNativeId, \" already loaded\")\r\n this.nativeLoaded = []\r\n return\r\n }\r\n YCSDK.ins.showInters(InterstitialType.Native)\r\n }\r\n\r\n reshowInterstitial() {\r\n const length = sdkconfig.intersId.length\r\n if (length == 0 || length == 1) {\r\n console.log(\"re show inters need more than 1 id\")\r\n return\r\n }\r\n if (this.intersLoaded.includes(sdkconfig.ycIntersId)) {\r\n console.log(\"reshowInterstitial1: \", sdkconfig.ycIntersId, \" already loaded\")\r\n this.intersLoaded = []\r\n return\r\n }\r\n this.intersLoaded.push(sdkconfig.ycIntersId)\r\n this.refreshId(AdType.Inters)\r\n if (this.intersLoaded.includes(sdkconfig.ycIntersId)) {\r\n console.log(\"reshowInterstitial2: \", sdkconfig.ycIntersId, \" already loaded\")\r\n this.intersLoaded = []\r\n return\r\n }\r\n YCSDK.ins.showInters(InterstitialType.Initial)\r\n }\r\n\r\n reshowVideo(callback) {\r\n const length = sdkconfig.videoId.length\r\n if (length == 0 || length == 1) {\r\n console.log(\"re show video need more than 1 id\")\r\n callback && callback(false)\r\n return\r\n }\r\n if (this.videoLoaded.includes(sdkconfig.ycVideoId)) {\r\n console.log(\"reshowVideo1: \", sdkconfig.ycVideoId, \" already loaded\")\r\n callback && callback(false)\r\n this.videoLoaded = []\r\n return\r\n }\r\n this.videoLoaded.push(sdkconfig.ycVideoId)\r\n this.refreshId(AdType.Video)\r\n if (this.videoLoaded.includes(sdkconfig.ycVideoId)) {\r\n console.log(\"reshowVideo2: \", sdkconfig.ycVideoId, \" already loaded\")\r\n callback && callback(false)\r\n this.videoLoaded = []\r\n return\r\n }\r\n YCSDK.ins.showVideo(callback)\r\n }\r\n\r\n refreshAll() {\r\n const keys = Object.keys(AdType) as AdType[]\r\n for (const type of keys) {\r\n this.refreshId(type)\r\n }\r\n console.log(\"refreshAll\")\r\n }\r\n\r\n checkBannerId() {\r\n var id = sdkconfig.bannerId\r\n if (!id) {\r\n console.log(\"bannerId is not config\")\r\n return\r\n }\r\n if (!Array.isArray(id)) {\r\n console.log(\"bannerId is only one\")\r\n sdkconfig.ycBannerId = id\r\n return\r\n }\r\n if (id.length == 1) {\r\n if (!id[0]) {\r\n console.log(\"id[0] config is empty string\")\r\n return\r\n }\r\n sdkconfig.ycBannerId = id[0]\r\n return\r\n }\r\n if (id.length == 0) {\r\n console.log(\"bannerId config is empty\")\r\n return\r\n }\r\n sdkconfig.ycBannerId = id[this.bannerIndex]\r\n this.bannerIndex += 1\r\n if (this.bannerIndex >= id.length) {\r\n this.bannerIndex = 0\r\n }\r\n }\r\n\r\n checkNativeBannerId() {\r\n var id = sdkconfig.nativeBannerId\r\n if (!id) {\r\n console.log(\"native banner id is not config\")\r\n return\r\n }\r\n if (!Array.isArray(id)) {\r\n console.log(\"native banner id is only one\")\r\n sdkconfig.ycNativeBannerId = id\r\n return\r\n }\r\n if (id.length == 1) {\r\n if (!id[0]) {\r\n console.log(\"id[0] config is empty string\")\r\n return\r\n }\r\n sdkconfig.ycNativeBannerId = id[0]\r\n return\r\n }\r\n if (id.length == 0) {\r\n console.log(\"native banner id config is empty\")\r\n return\r\n }\r\n sdkconfig.ycNativeBannerId = id[this.nativeBannerIndex]\r\n this.nativeBannerIndex += 1\r\n if (this.nativeBannerIndex >= id.length) {\r\n this.nativeBannerIndex = 0\r\n }\r\n }\r\n\r\n checkIntersId() {\r\n var id = sdkconfig.intersId\r\n if (!id) {\r\n console.log(\"intersId is not config\")\r\n return\r\n }\r\n if (!Array.isArray(id)) {\r\n console.log(\"intersId is only one\")\r\n sdkconfig.ycIntersId = id\r\n return\r\n }\r\n if (id.length == 1) {\r\n if (!id[0]) {\r\n console.log(\"id[0] config is empty string\")\r\n return\r\n }\r\n sdkconfig.ycIntersId = id[0]\r\n return\r\n }\r\n if (id.length == 0) {\r\n console.log(\"intersId config is empty\")\r\n return\r\n }\r\n sdkconfig.ycIntersId = id[this.intersIndex]\r\n this.intersIndex += 1\r\n if (this.intersIndex >= id.length) {\r\n this.intersIndex = 0\r\n }\r\n }\r\n\r\n checkNativeId() {\r\n var id = sdkconfig.nativeId\r\n if (!id) {\r\n console.log(\"nativeId is not config\")\r\n return\r\n }\r\n if (!Array.isArray(id)) {\r\n console.log(\"nativeId is only one\")\r\n sdkconfig.ycNativeId = id\r\n return\r\n }\r\n if (id.length == 1) {\r\n if (!id[0]) {\r\n console.log(\"id[0] config is empty string\")\r\n return\r\n }\r\n sdkconfig.ycNativeId = id[0]\r\n return\r\n }\r\n if (id.length == 0) {\r\n console.log(\"nativeId config is empty\")\r\n return\r\n }\r\n sdkconfig.ycNativeId = id[this.nativeIndex]\r\n this.nativeIndex += 1\r\n if (this.nativeIndex >= id.length) {\r\n this.nativeIndex = 0\r\n }\r\n }\r\n\r\n checkVideoId() {\r\n var id = sdkconfig.videoId\r\n if (!id) {\r\n console.log(\"videoId is not config\")\r\n return\r\n }\r\n if (!Array.isArray(id)) {\r\n console.log(\"videoId is only one\")\r\n sdkconfig.ycVideoId = id\r\n return\r\n }\r\n if (id.length == 1) {\r\n console.log(\"videoId length is 1\")\r\n if (!id[0]) {\r\n console.log(\"id[0] config is empty string\")\r\n return\r\n }\r\n sdkconfig.ycVideoId = id[0]\r\n return\r\n }\r\n if (id.length == 0) {\r\n console.log(\"videoId config is empty\")\r\n return\r\n }\r\n sdkconfig.ycVideoId = id[this.videoIndex]\r\n this.videoIndex += 1\r\n if (this.videoIndex >= id.length) {\r\n this.videoIndex = 0\r\n }\r\n }\r\n\r\n refreshId(type: AdType) {\r\n console.log(\"refresh id, type: \", type)\r\n switch (type) {\r\n case AdType.Banner:\r\n this.checkBannerId()\r\n break\r\n case AdType.NativeBanner:\r\n this.checkNativeBannerId()\r\n break\r\n case AdType.Inters:\r\n this.checkIntersId()\r\n break\r\n case AdType.Native:\r\n this.checkNativeId()\r\n break\r\n case AdType.Video:\r\n this.checkVideoId()\r\n break\r\n }\r\n }\r\n\r\n random(max: number): number {\r\n max = Math.floor(max)\r\n return Math.floor(Math.random() * max)\r\n }\r\n}\r\n\r\n", "import { AdType } from \"../../AdType\";\r\nimport { GameInterface } from \"../../GameInterface\";\r\nimport { sdkconfig } from \"../../SDKConfig\";\r\nimport { YCSDK } from \"../../YCSDK\";\r\nimport { BannerType } from \"../BannerType\";\r\nimport { InterstitialType } from \"../InterstitialType\";\r\n\r\nexport class DouYinGame implements GameInterface {\r\n\r\n private bannerAd = null\r\n private videoAd = null\r\n private callBack: Function = null\r\n\r\n init(): void {\r\n this.initViedoAd(false)\r\n }\r\n\r\n login(callBack?: Function): void {\r\n }\r\n\r\n pay(params: string, callBack: Function): void {\r\n }\r\n\r\n showBanner(position: BannerType): void {\r\n if (!sdkconfig.open) {\r\n console.log(\"\u5E7F\u544A\u672A\u5F00\u542F\")\r\n return\r\n }\r\n this.hideBanner()\r\n this.bannerAd = window['tt'].createBannerAd({\r\n adUnitId: sdkconfig.ycBannerId,\r\n });\r\n this.bannerAd.onLoad(() => {\r\n YCSDK.ins.onLoad(AdType.Banner)\r\n this.bannerAd\r\n .show()\r\n .then(() => {\r\n YCSDK.ins.onShow(AdType.Banner)\r\n console.log(\"\u5E7F\u544A\u663E\u793A\u6210\u529F\");\r\n })\r\n .catch((err) => {\r\n YCSDK.ins.onError(AdType.Banner)\r\n console.log(\"\u5E7F\u544A\u7EC4\u4EF6\u51FA\u73B0\u95EE\u9898\", err);\r\n })\r\n })\r\n\r\n this.bannerAd.onError(({ errorCode, errMsg }) => {\r\n YCSDK.ins.onError(AdType.Banner)\r\n console.log(errorCode, errMsg)\r\n })\r\n\r\n }\r\n\r\n hideBanner(): void {\r\n if (this.bannerAd) {\r\n this.bannerAd.hide()\r\n this.bannerAd.destroy()\r\n this.bannerAd = null\r\n }\r\n }\r\n\r\n showInters(type: InterstitialType): void {\r\n const interstitialAd = window['tt'].createInterstitialAd({\r\n adUnitId: sdkconfig.ycIntersId,\r\n });\r\n interstitialAd.onLoad(() => {\r\n YCSDK.ins.onLoad(AdType.Inters)\r\n console.log('interstitialAd load')\r\n })\r\n\r\n interstitialAd.onError(({ errCode, errMsg }) => {\r\n YCSDK.ins.onError(AdType.Inters)\r\n console.log('\u76D1\u542C\u5230\u9519\u8BEF', errCode, errMsg)\r\n })\r\n interstitialAd.load().then(() => {\r\n interstitialAd.show().then(() => {\r\n YCSDK.ins.onShow(AdType.Inters)\r\n console.log(\"\u63D2\u5C4F\u5E7F\u544A\u5C55\u793A\u6210\u529F\")\r\n })\r\n })\r\n .catch((err) => {\r\n YCSDK.ins.onError(AdType.Inters)\r\n console.log(err)\r\n })\r\n }\r\n\r\n hideInters(type: InterstitialType): void {\r\n }\r\n\r\n initViedoAd(show): void {\r\n this.videoAd = window['tt'].createRewardedVideoAd({\r\n adUnitId: sdkconfig.ycVideoId,\r\n })\r\n this.videoAd.onLoad(() => {\r\n YCSDK.ins.onLoad(AdType.Video)\r\n console.log(\"\u5E7F\u544A\u52A0\u8F7D\u5B8C\u6210\")\r\n })\r\n this.videoAd.onError((errMsg) => {\r\n YCSDK.ins.onError(AdType.Video)\r\n console.log(\"\u5E7F\u544A\u52A0\u8F7D\u5931\u8D25\", errMsg)\r\n })\r\n this.videoAd.onClose((res) => {\r\n if (res && res.isEnded || res === undefined) {\r\n console.log(\"\u5E7F\u544A\u64AD\u653E\u5B8C\u6210\")\r\n this.callBack && this.callBack(true)\r\n } else {\r\n console.log(\"\u5E7F\u544A\u64AD\u653E\u672A\u5B8C\u6210\")\r\n this.callBack && this.callBack(false)\r\n }\r\n })\r\n if (show) {\r\n this.videoAd.load()\r\n .then(() => {\r\n this.videoAd.show()\r\n .then(() => {\r\n YCSDK.ins.onShow(AdType.Video)\r\n console.log(\"\u6FC0\u52B1\u89C6\u9891\u5E7F\u544A\u5C55\u793A\u6210\u529F\")\r\n })\r\n .catch((err) => {\r\n YCSDK.ins.onError(AdType.Video)\r\n console.log(\"\u6FC0\u52B1\u89C6\u9891\u5E7F\u544A\u5C55\u793A\u5931\u8D25\", err)\r\n })\r\n })\r\n } else {\r\n this.videoAd.load()\r\n }\r\n }\r\n\r\n showVideo(callBack: Function): boolean {\r\n this.callBack = callBack\r\n if (!sdkconfig.ycVideoId) {\r\n console.log(\"\u8BF7\u914D\u7F6E\u6FC0\u52B1\u89C6\u9891\u5E7F\u544AID\")\r\n callBack && callBack(false)\r\n YCSDK.ins.onError(AdType.Video)\r\n return false\r\n }\r\n if (this.videoAd) {\r\n this.videoAd.show()\r\n .then(() => {\r\n YCSDK.ins.onShow(AdType.Video)\r\n console.log(\"\u6FC0\u52B1\u89C6\u9891\u5E7F\u544A\u5C55\u793A\u6210\u529F\")\r\n })\r\n .catch((err) => {\r\n YCSDK.ins.onError(AdType.Video)\r\n console.log(\"\u6FC0\u52B1\u89C6\u9891\u5E7F\u544A\u5C55\u793A\u5931\u8D25\", err)\r\n })\r\n return true\r\n }\r\n this.initViedoAd(true)\r\n return false\r\n }\r\n\r\n customFunc(methodName: string, params: any[], callBack: Function) {\r\n }\r\n\r\n}", "export enum ContentType {\r\n APPLICATION_JSON = \"application/json\",\r\n APPLICATION_X_WWW_FORM_URLENCODED = \"application/x-www-form-urlencoded\"\r\n}\r\n\r\nexport default class HttpRequest {\r\n private static instance: HttpRequest\r\n private httpRequest: XMLHttpRequest\r\n public static AUTHORIZATION: string = \"Authorization\"\r\n public static CONTENT_TYPE: string = \"Content-Type\"\r\n public static Accept: string = \"Accept\"\r\n\r\n public static get(): HttpRequest {\r\n if (!HttpRequest.instance) {\r\n HttpRequest.instance = new HttpRequest()\r\n }\r\n return HttpRequest.instance\r\n }\r\n\r\n requestPostx3w(url, data, callback, head?) {\r\n console.log(\"HttpRequest url:\", url)\r\n console.log(\"HttpRequest data:\", JSON.stringify(data))\r\n this.httpRequest = new XMLHttpRequest()\r\n this.httpRequest.onreadystatechange = function () {\r\n console.log(\"HttpRequest\", \"onreadystatechange:\", this.readyState, this.status)\r\n if (this.readyState == 4 && this.status == 200) {\r\n // let response = this.responseText.replace(/:s*([0-9]{15,})s*(,?)/g, ': \"$1\" $2')\r\n let res = JSON.parse(this.responseText)\r\n console.log(\"HttpRequest\", \"response:\", JSON.stringify(res))\r\n if (res.status == 200) {\r\n callback(true, res.data)\r\n } else {\r\n callback(false, res)\r\n }\r\n }\r\n }\r\n this.httpRequest.timeout = 5000\r\n this.httpRequest.ontimeout = () => {\r\n console.log(\"HttpRequest:\", \"request time out\", url)\r\n callback(false)\r\n }\r\n this.httpRequest.onerror = function (e) {\r\n console.log(\"HttpRequest\", url, \" request error\", JSON.stringify(e))\r\n callback(false)\r\n }\r\n this.httpRequest.open(\"POST\", url, true)\r\n this.httpRequest.setRequestHeader(HttpRequest.CONTENT_TYPE, ContentType.APPLICATION_X_WWW_FORM_URLENCODED)\r\n if (head) {\r\n this.httpRequest.setRequestHeader(HttpRequest.AUTHORIZATION, head)\r\n }\r\n this.httpRequest.send(data)\r\n }\r\n\r\n requestGetx3w(url, data, callback, head?) {\r\n console.log(\"HttpRequest url:\", url)\r\n console.log(\"HttpRequest data:\", JSON.stringify(data))\r\n this.httpRequest = new XMLHttpRequest()\r\n this.httpRequest.onreadystatechange = function () {\r\n // console.log(\"HttpRequest\", \"onreadystatechange:\", this.readyState, this.status)\r\n if (this.readyState == 4 && this.status == 200) {\r\n let response = this.responseText.replace(/:s*([0-9]{15,})s*(,?)/g, ': \"$1\" $2')\r\n let res = JSON.parse(response)\r\n console.log(\"HttpRequest\", \"response:\", JSON.stringify(res))\r\n if (res.status == 200) {\r\n callback(true, res.data)\r\n } else {\r\n callback(false, res)\r\n }\r\n }\r\n }\r\n this.httpRequest.timeout = 5000\r\n this.httpRequest.ontimeout = () => {\r\n console.log(\"HttpRequest:\", \"request time out\", url)\r\n callback(false)\r\n }\r\n this.httpRequest.onerror = function (e) {\r\n console.log(\"HttpRequest\", url, \" request error\", JSON.stringify(e))\r\n callback(false)\r\n }\r\n this.httpRequest.open(\"GET\", url, true)\r\n this.httpRequest.setRequestHeader(HttpRequest.CONTENT_TYPE, ContentType.APPLICATION_X_WWW_FORM_URLENCODED)\r\n if (head) {\r\n this.httpRequest.setRequestHeader(HttpRequest.AUTHORIZATION, head)\r\n }\r\n this.httpRequest.send(data)\r\n }\r\n\r\n requestPostjson(url, data, callback, head?) {\r\n console.log(\"HttpRequest url:\", url)\r\n this.httpRequest = new XMLHttpRequest()\r\n this.httpRequest.onreadystatechange = function () {\r\n if (this.readyState == 4 && this.status == 200) {\r\n let res = JSON.parse(this.responseText)\r\n console.log(\"HttpRequest\", \"response:\", JSON.stringify(res))\r\n if (res.code == 0) {\r\n callback(true, res.data.config)\r\n } else {\r\n callback(false, res)\r\n }\r\n }\r\n }\r\n this.httpRequest.timeout = 3000\r\n this.httpRequest.ontimeout = () => {\r\n console.log(\"HttpRequest:\", \"request time out\", url)\r\n callback(false)\r\n }\r\n this.httpRequest.onerror = function (e) {\r\n console.log(\"HttpRequest\", url, \" request error\", JSON.stringify(e))\r\n callback(false)\r\n }\r\n this.httpRequest.open(\"POST\", url, true)\r\n this.httpRequest.setRequestHeader(HttpRequest.Accept, ContentType.APPLICATION_JSON)\r\n this.httpRequest.setRequestHeader(HttpRequest.CONTENT_TYPE, ContentType.APPLICATION_JSON)\r\n // if (head) {\r\n // this.httpRequest.setRequestHeader(HttpRequest.AUTHORIZATION, head)\r\n // }\r\n this.httpRequest.send(JSON.stringify(data))\r\n }\r\n}\r\n\r\n", "import { Asset, assetManager, find, ImageAsset, instantiate, Label, Node, Prefab, resources, Sprite, SpriteFrame, sys, Texture2D, UITransform, View, view } from \"cc\";\r\nimport { AdType } from \"../../AdType\";\r\nimport { GameInterface } from \"../../GameInterface\";\r\nimport { sdkconfig } from \"../../SDKConfig\";\r\nimport { YCSDK } from \"../../YCSDK\";\r\nimport { BannerType } from \"../BannerType\";\r\nimport { InterstitialType } from \"../InterstitialType\";\r\n\r\nexport class HuaWeiGame implements GameInterface {\r\n\r\n private qg = window['qg']\r\n private rewardedVideoAd\r\n private callback\r\n\r\n hideInters(type: InterstitialType): void {\r\n\r\n }\r\n\r\n customFunc(methodName: string, params: any[], callBack: Function) {\r\n\r\n }\r\n\r\n init(callBack?): void {\r\n callBack && callBack()\r\n this.loadVideo(this.callback)\r\n }\r\n\r\n login(callBack?: Function): void {\r\n this.qg.gameLoginWithReal({\r\n forceLogin: 1,\r\n appid: sdkconfig.appId,\r\n success: function (data) {\r\n // \u767B\u5F55\u6210\u529F\u540E\uFF0C\u53EF\u4EE5\u5B58\u50A8\u8D26\u53F7\u4FE1\u606F\u3002\r\n callBack && callBack(true)\r\n console.log(\" game login with real success:\" + JSON.stringify(data))\r\n },\r\n fail: function (data, code) {\r\n console.log(\"game login with real fail:\" + data + \", code:\" + code)\r\n //\u6839\u636E\u72B6\u6001\u7801\u5904\u7406\u6E38\u620F\u7684\u903B\u8F91\u3002\r\n //\u72B6\u6001\u7801\u4E3A7004\u6216\u80052012\uFF0C\u8868\u793A\u73A9\u5BB6\u53D6\u6D88\u767B\u5F55\u3002\r\n //\u6B64\u65F6\uFF0C\u5EFA\u8BAE\u8FD4\u56DE\u6E38\u620F\u754C\u9762\uFF0C\u53EF\u4EE5\u8BA9\u73A9\u5BB6\u91CD\u65B0\u8FDB\u884C\u767B\u5F55\u64CD\u4F5C\u3002\r\n if (code == 7004 || code == 2012) {\r\n console.log(\"\u73A9\u5BB6\u53D6\u6D88\u767B\u5F55\uFF0C\u8FD4\u56DE\u6E38\u620F\u754C\u9762\u8BA9\u73A9\u5BB6\u91CD\u65B0\u767B\u5F55\u3002\")\r\n callBack && callBack(false, 7004)\r\n }\r\n //\u72B6\u6001\u7801\u4E3A7021\u8868\u793A\u73A9\u5BB6\u53D6\u6D88\u5B9E\u540D\u8BA4\u8BC1\u3002\r\n //\u5728\u4E2D\u56FD\u5927\u9646\u7684\u60C5\u51B5\u4E0B\uFF0C\u6B64\u65F6\u9700\u8981\u7981\u6B62\u73A9\u5BB6\u8FDB\u5165\u6E38\u620F\u3002\r\n if (code == 7021) {\r\n callBack && callBack(false, 7021)\r\n console.log(\"\u73A9\u5BB6\u53D6\u6D88\u5B9E\u540D\u8BA4\u8BC1\uFF0C\u7981\u6B62\u8FDB\u5165\u6E38\u620F\")\r\n }\r\n }\r\n })\r\n }\r\n\r\n pay(params: string, callBack: Function): void {\r\n // this.qg.isEnvReady({\r\n // isEnvReadyReq: {\r\n // // \u66FF\u6362\u4E3A\u771F\u5B9E\u6709\u6548\u7684APP ID\r\n // \"applicationID\": \"101***751\"\r\n // },\r\n // success: function (data) {\r\n // console.log(\"isEnvReady data =\", JSON.stringify(data));\r\n // //\u73AF\u5883\u76D1\u6D4B\u901A\u8FC7\uFF0C\u53EF\u4EE5\u8C03\u7528\u652F\u4ED8\u63A5\u53E3\r\n // this.createPurchaseIntent(params, callBack)\r\n // },\r\n // fail: function (data, code) {\r\n // console.log(\"isEnvReady fail data =\" + data, \"code =\" + code);\r\n // }\r\n // })\r\n }\r\n\r\n createPurchaseIntent(params, callBack): void {\r\n // this.qg.createPurchaseIntent({\r\n // purchaseIntentReq: {\r\n // // \u66FF\u6362\u4E3A\u771F\u5B9E\u6709\u6548\u7684APP ID\r\n // \"applicationID\": \"101***751\",\r\n // \"productId\": \"dmy001\",\r\n // \"priceType\": 0,\r\n // \"developerPayload\": \"testPurchase\",\r\n // // \u66FF\u6362\u4E3A\u771F\u5B9E\u6709\u6548\u7684\u652F\u4ED8\u516C\u94A5\r\n // \"publicKey\": \"MIIBojANBgkqh******************aZWT7PzVAeGidLcEeKlAgMBAAE\"\r\n // },\r\n // success: function (data) {\r\n // console.log(\"createPurchaseIntent success =\" + JSON.stringify(data));\r\n // if (data.purchaseState == 0) {\r\n // //\u652F\u4ED8\u6210\u529F\uFF0C\u5BF9\u7ED3\u679C\u9A8C\u7B7E\u540E\u4E0B\u53D1\u5546\u54C1\r\n // this.doCheck()\r\n // //\u4E0B\u53D1\u540E\u6D88\u8017\u8BE5\u5546\u54C1\uFF0C\u53EF\u7EE7\u7EED\u8D2D\u4E70\u8BE5\u5546\u54C1\r\n // this.consumeOwnedPurchase()\r\n // }\r\n // },\r\n // fail: function (data, code) {\r\n // console.log(\"createPurchaseIntent fail data =\" + data, \"code =\" + code);\r\n\r\n // }\r\n // })\r\n }\r\n\r\n doCheck(content: string, sign: string, publicKey: string): boolean {\r\n // \u68C0\u67E5\u8F93\u5165\u53C2\u6570\r\n if (!sign || !publicKey) {\r\n return false;\r\n }\r\n\r\n // try {\r\n // // \u89E3\u7801\u516C\u94A5\r\n // const publicKeyBuffer = Buffer.from(atob(publicKey), \"base64\");\r\n // publicKey = publicKeyBuffer.toString(\"utf8\");\r\n\r\n // // \u521B\u5EFA\u9A8C\u8BC1\u5BF9\u8C61\r\n // const verifier = createVerify(\"RSA-SHA256\");\r\n\r\n // // \u66F4\u65B0\u5185\u5BB9\r\n // verifier.update(content, \"utf8\");\r\n\r\n // // \u89E3\u7801\u7B7E\u540D\r\n // const signBuffer = Buffer.from(atob(sign), \"base64\");\r\n\r\n // // \u9A8C\u8BC1\u7B7E\u540D\r\n // return verifier.verify(publicKey, signBuffer);\r\n // } catch (error) {\r\n // console.error(\"Error during signature verification:\", error);\r\n // return false;\r\n // }\r\n }\r\n\r\n consumeOwnedPurchase() {\r\n // this.qg.consumeOwnedPurchase({\r\n // consumeOwnedPurchaseReq: {\r\n // // \u66FF\u6362\u4E3A\u771F\u5B9E\u6709\u6548\u7684APP ID\r\n // \"applicationID\": \"101***751\",\r\n // \"developerPayload\": \"testPurchase\",\r\n // // \u66FF\u6362\u4E3A\u771F\u5B9E\u6709\u6548\u7684\u8D2D\u4E70\u4EE4\u724C\r\n // \"purchaseToken\": \"0000017297d6a4faa**************3d0x434e.1.101315751\",\r\n // // \u66FF\u6362\u4E3A\u771F\u5B9E\u6709\u6548\u7684\u652F\u4ED8\u516C\u94A5\r\n // \"publicKey\": \"MIIBojANBgkqhkiG9w0*************************EeKlAgMBAAE\"\r\n // },\r\n // success: function (data) {\r\n // console.log(\"consumeOwnedPurchase data =\", JSON.stringify(data));\r\n // },\r\n // fail: function (data, code) {\r\n // console.log(\"consumeOwnedPurchase fail data =\" + JSON.stringify(data), \"code =\" + code);\r\n // }\r\n // })\r\n }\r\n\r\n private bannerAd: any\r\n\r\n showBanner(position: BannerType): void {\r\n if (!sdkconfig.ycBannerId) {\r\n console.log('banner\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n return\r\n }\r\n this.hideBanner()\r\n if (this.bannerAd) {\r\n this.bannerAd.destroy()\r\n this.bannerAd = null\r\n }\r\n var sysInfo = this.qg.getSystemInfoSync()\r\n var bannerTop = sysInfo.safeArea.height\r\n this.bannerAd = this.qg.createBannerAd({\r\n adUnitId: sdkconfig.ycBannerId,\r\n adIntervals: 35, //\u5237\u65B0\u65F6\u95F4\r\n style: {\r\n top: bannerTop - 20,\r\n left: 0,\r\n height: 57,\r\n width: 360,\r\n }\r\n })\r\n this.bannerAd.onError((err) => {\r\n console.log(\"huawei banner error: \", JSON.stringify(err))\r\n if (this.bannerAd) {\r\n this.bannerAd.destroy()\r\n this.bannerAd = null\r\n }\r\n YCSDK.ins.onError(AdType.Banner)\r\n })\r\n this.bannerAd.onLoad(() => {\r\n console.log(\"huawei banner on load\")\r\n YCSDK.ins.onLoad(AdType.Banner)\r\n YCSDK.ins.onShow(AdType.Banner)\r\n })\r\n this.bannerAd.onClose(() => {\r\n console.log(\"huawei banner on close\")\r\n if (this.bannerAd) {\r\n this.bannerAd.destroy()\r\n this.bannerAd = null\r\n }\r\n YCSDK.ins.onClose(AdType.Banner)\r\n })\r\n setTimeout(() => {\r\n this.bannerAd.show()\r\n }, 1000)\r\n }\r\n\r\n hideBanner(): void {\r\n if (!this.bannerAd) {\r\n console.log(\"huawei banner ad is hide\")\r\n return\r\n }\r\n this.bannerAd.hide()\r\n }\r\n\r\n showInters(type: InterstitialType = InterstitialType.Initial): void {\r\n if (!type) {\r\n let odds = YCSDK.ins.random(100)\r\n if (odds >= 50 && sdkconfig.intersId.length >= 1) {\r\n this.showIntersVideo()\r\n } else if (sdkconfig.nativeId.length >= 1) {\r\n this.showNative()\r\n }else{\r\n this.showIntersVideo()\r\n }\r\n return\r\n }\r\n switch (type) {\r\n case InterstitialType.Initial:\r\n case InterstitialType.Video:\r\n this.showIntersVideo()\r\n break\r\n case InterstitialType.Native:\r\n this.showNative()\r\n break\r\n }\r\n }\r\n\r\n showNative() {\r\n if (!sdkconfig.ycNativeId) {\r\n console.log('\u539F\u751F\u6A21\u677F\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n return\r\n }\r\n let nativeAd = this.qg.createNativeAd({\r\n adUnitId: sdkconfig.ycNativeId,\r\n success: (code) => {\r\n console.log(\"loadNativeAd success: \", code);\r\n },\r\n fail: (data, code) => {\r\n console.log(\"loadNativeAd fail: \" + data + \",\" + code);\r\n nativeAd.destroy()\r\n }\r\n })\r\n nativeAd.offLoad()\r\n nativeAd.onLoad((data) => {\r\n // console.info('ad data loaded: ' + JSON.stringify(data))\r\n YCSDK.ins.onLoad(AdType.Native)\r\n let ad = data.adList[0]\r\n //\u516D\u8981\u7D20\uFF08\u5E94\u7528\u540D\uFF0C\u5F00\u53D1\u8005\u4FE1\u606F\uFF0C\u7248\u672C\u53F7\uFF0C\u9690\u79C1\uFF0C\u6743\u9650\uFF0C\u4ECB\u7ECD\uFF09\r\n // console.log(\"source:\", ad.source)\r\n // console.log(\"developerName:\", ad.developerName)\r\n // console.log(\"versionName:\", ad.versionName)\r\n // console.log(\"privacyUrl:\", ad.privacyUrl)\r\n // console.log(\"permissionUrl:\", ad.permissionUrl)\r\n // console.log(\"appDetailUrl:\", ad.appDetailUrl)\r\n // console.log(\"imgUrlList:\", ad.imgUrlList[0])\r\n // console.log(\"adId:\", ad.adId)\r\n // console.log(\"creativeType:\", ad.creativeType)\r\n this.renderNative(ad, nativeAd)\r\n })\r\n nativeAd.offError()\r\n nativeAd.onError((e) => {\r\n console.error('load ad error:' + JSON.stringify(e))\r\n nativeAd.destroy()\r\n YCSDK.ins.onError(AdType.Native)\r\n })\r\n nativeAd.load()\r\n }\r\n\r\n // appName: \u767E\u5EA6\u6781\u901F\u7248\r\n // developerName: \u767E\u5EA6\u5728\u7EBF\u7F51\u7EDC\u6280\u672F\uFF08\u5317\u4EAC\uFF09\u6709\u9650\u516C\u53F8\r\n // versionName: 6.55.0.10\r\n // privacyUrl: https://h5hosting-drcn.dbankcdn.cn/cch5/PPS/ssp-privacy-url/index.html?src=https%3A%2F%2Fs.bdstatic.com%2Fcommon%2Fagreement%2Fprivacy_new_lite.html\r\n // permissionUrl: https://appgallery.huawei.com/open/permission?packageName=com.baidu.searchbox.lite&mediaPackageName=com.tl.lxndwzxyx.huawei\r\n // appDetailUrl: https://appgallery.huawei.com/#/app_simple/C100029965\r\n // imgUrlList: https://contentcenter-drcn.dbankcdn.cn/img/pub_17/PPS_realtimeimage_100_1/e1/v3/A667xiJZQ7SMM7cmqhmMXw/0Vm6YJiyTH-IloGzbCUO5w.png/__source__.jpg\r\n // adId: 51790be2-d2c2-48ca-9695-1a55bed81905\r\n // creativeType: 103\r\n renderNative(adItem, nativeAd) {\r\n resources.load('Privacy/bg', Prefab, (err, prefab) => {\r\n if (err) {\r\n console.error('\u52A0\u8F7DPrefab\u5931\u8D25:', err)\r\n YCSDK.ins.onError(AdType.Native)\r\n return\r\n }\r\n const node = instantiate(prefab)\r\n const native = node.getChildByName('native')\r\n const close = native.getChildByName('close')\r\n const title = native.getChildByName('title').getComponent(Label)\r\n title.string = adItem.appName\r\n const source = native.getChildByName('source').getComponent(Label)\r\n source.string = adItem.source\r\n const company = native.getChildByName('company').getComponent(Label)\r\n company.string = adItem.developerName\r\n const pic = native.getChildByName('pic')\r\n const info = native.getChildByName('info')\r\n const version = info.getChildByName('verison')\r\n version.on(Node.EventType.TOUCH_END, () => {\r\n console.log('change version')\r\n version.getComponent(Label).string = adItem.versionName\r\n })\r\n const description = info.getChildByName('description')\r\n description.on(Node.EventType.TOUCH_END, () => {\r\n console.log('open description')\r\n this.qg.openDeeplink({ uri: adItem.appDetailUrl })\r\n })\r\n const privacy = info.getChildByName('privacy')\r\n privacy.on(Node.EventType.TOUCH_END, () => {\r\n console.log('open privacy')\r\n this.qg.openDeeplink({ uri: adItem.privacyUrl })\r\n })\r\n const permission = info.getChildByName('permission')\r\n permission.on(Node.EventType.TOUCH_END, () => {\r\n console.log('open permission')\r\n this.qg.openDeeplink({ uri: adItem.permissionUrl })\r\n })\r\n pic.on(Node.EventType.TOUCH_END, () => {\r\n console.log(\"native click\")\r\n YCSDK.ins.onClick(AdType.Native)\r\n nativeAd.reportAdClick({ adId: adItem.adId, })\r\n })\r\n close.on(Node.EventType.TOUCH_END, () => {\r\n console.log('close native')\r\n nativeAd.destroy()\r\n node.destroy()\r\n YCSDK.ins.getGameNode().removeChild(node)\r\n nativeAd.hideDownloadButton({\r\n adId: adItem.adId,\r\n success: (code) => {\r\n console.log(\"hideDownloadButton: success\");\r\n },\r\n fail: (data, code) => {\r\n console.log(\" hideDownloadButton fail: \" + data + \",\" + code)\r\n }\r\n })\r\n YCSDK.ins.onClose(AdType.Native)\r\n })\r\n assetManager.loadRemote<ImageAsset>(adItem.imgUrlList[0], (err, image) => {\r\n if (err) {\r\n console.error('\u52A0\u8F7D\u8FDC\u7A0B\u56FE\u7247\u5931\u8D25:', err)\r\n YCSDK.ins.onError(AdType.Native)\r\n return\r\n }\r\n const texture = new Texture2D()\r\n texture.image = image\r\n let spriteFrame = new SpriteFrame()\r\n spriteFrame.texture = texture\r\n pic.getComponent(Sprite).spriteFrame = spriteFrame\r\n YCSDK.ins.getGameNode().addChild(node)\r\n YCSDK.ins.onShow(AdType.Native)\r\n this.showNativeDownload(adItem, nativeAd, node)\r\n nativeAd.reportAdShow({ adId: adItem.adId })\r\n })\r\n })\r\n }\r\n\r\n showNativeDownload(adItem, nativeAd, node) {\r\n const { screenWidth, screenHeight } = this.qg.getSystemInfoSync()\r\n console.log(screenWidth)\r\n console.log(screenHeight)\r\n nativeAd.showDownloadButton({\r\n adId: adItem.adId,\r\n style: {\r\n left: screenWidth / 2 - screenWidth / 4,\r\n top: screenHeight * 0.65,\r\n heightType: 'normal',\r\n width: screenWidth / 2,\r\n fixedWidth: true,\r\n textSize: 50,\r\n horizontalPadding: 50,\r\n cornerRadius: 22,\r\n normalTextColor: '#FFFFFF',\r\n normalBackground: '#5291FF',\r\n pressedColor: '#0A59F7',\r\n normalStroke: 5,\r\n normalStrokeCorlor: '#FF000000',\r\n processingTextColor: '#5291FF',\r\n processingBackground: '#0F000000',\r\n processingColor: '#000000',\r\n processingStroke: 10,\r\n processingStrokeCorlor: '#0A59F7',\r\n installingTextColor: '#000000',\r\n installingBackground: '#FFFFFF',\r\n installingStroke: 15,\r\n installingStrokeCorlor: '#5291FF'\r\n },\r\n success: (code) => {\r\n console.log(\"showDownloadButton: success\")\r\n },\r\n fail: (data, code) => {\r\n console.log(\"showDownloadButton fail: \" + data + \",\" + code)\r\n }\r\n })\r\n }\r\n\r\n showIntersVideo() {\r\n if (!sdkconfig.ycIntersId) {\r\n console.log(\"\u63D2\u5C4F\u5E7F\u544Aid\u672A\u914D\u7F6E\")\r\n return\r\n }\r\n let interstitialAd = this.qg.createInterstitialAd({\r\n adUnitId: sdkconfig.ycIntersId\r\n })\r\n interstitialAd.onLoad(function (data) {\r\n YCSDK.ins.onLoad(AdType.Inters)\r\n console.log('huawei inters onLoad data ' + JSON.stringify(data))\r\n interstitialAd.show()\r\n YCSDK.ins.onShow(AdType.Inters)\r\n })\r\n interstitialAd.onError((err) => {\r\n interstitialAd.destroy()\r\n console.log(\"huawei inters on error: \", JSON.stringify(err))\r\n YCSDK.ins.onError(AdType.Inters)\r\n })\r\n interstitialAd.onClose(() => {\r\n console.log('huawei interstitialAd closed')\r\n interstitialAd.destroy()\r\n YCSDK.ins.onClose(AdType.Inters)\r\n })\r\n interstitialAd.load()\r\n }\r\n\r\n showVideo(callBack: Function): boolean {\r\n this.callback = callBack\r\n let lastCallTime = 0\r\n let nowCallTime = new Date().getTime()\r\n if (lastCallTime != 0 && nowCallTime - lastCallTime < 400) {\r\n console.log(\"show video time too many\")\r\n return\r\n }\r\n lastCallTime = nowCallTime\r\n if (this.rewardedVideoAd && this.callback) {\r\n this.show()\r\n return\r\n }\r\n this.loadVideo(true)\r\n return false\r\n }\r\n\r\n loadVideo(show) {\r\n if (!sdkconfig.ycVideoId) {\r\n console.log('\u6FC0\u52B1\u89C6\u9891\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n this.callback && this.callback(false)\r\n return\r\n }\r\n this.rewardedVideoAd = this.qg.createRewardedVideoAd({\r\n adUnitId: sdkconfig.ycVideoId,\r\n success: (code) => {\r\n console.log(\"loadVideoAd createRewardedVideoAd success\" + code)\r\n },\r\n fail: (data, code) => {\r\n console.log(\"loadVideoAd createRewardedVideoAd fail: \" + data + \",\" + code)\r\n }\r\n })\r\n this.rewardedVideoAd.onLoad(() => {\r\n console.log('loadVideoAd: ad loaded.')\r\n YCSDK.ins.onLoad(AdType.Video)\r\n if (show) {\r\n this.show()\r\n }\r\n })\r\n this.rewardedVideoAd.onError((e) => {\r\n console.error('load ad error:' + JSON.stringify(e))\r\n this.callback && this.callback(false)\r\n YCSDK.ins.onError(AdType.Video, this.callback)\r\n })\r\n this.rewardedVideoAd.onClose((res) => {\r\n console.log('ad onClose: ' + res.isEnded)\r\n YCSDK.ins.onClose(AdType.Video)\r\n if (res && res.isEnded || res === undefined) {\r\n console.log('\u64AD\u653E\u6FC0\u52B1\u89C6\u9891\u7ED3\u675F\uFF0C\u7ED9\u4E88\u5956\u52B1')\r\n this.callback && this.callback(true)\r\n YCSDK.ins.onReward()\r\n } else {\r\n this.callback && this.callback(false)\r\n console.log('\u64AD\u653E\u6CA1\u7ED3\u675F\uFF0C\u4E0D\u7ED9\u4E88\u5956\u52B1')\r\n }\r\n this.rewardedVideoAd.load()\r\n })\r\n this.rewardedVideoAd.load()\r\n }\r\n\r\n show() {\r\n if (this.rewardedVideoAd) {\r\n this.rewardedVideoAd.show()\r\n YCSDK.ins.onShow(AdType.Video)\r\n }\r\n }\r\n}", "import { AdType } from \"../../AdType\"\r\nimport { GameInterface } from \"../../GameInterface\"\r\nimport { sdkconfig } from \"../../SDKConfig\"\r\nimport { YCSDK } from \"../../YCSDK\"\r\nimport { SubornVideoConfig } from \"../SubornVideoConfig\"\r\nimport { BannerType } from \"../BannerType\"\r\nimport { InterstitialType } from \"../InterstitialType\"\r\n\r\nexport class OppoGame implements GameInterface {\r\n\r\n private qg = window['qg']\r\n private bannerAd\r\n private nativeAd\r\n private count: number = 0\r\n\r\n constructor() {\r\n console.log(\"current channel is oppo\")\r\n }\r\n\r\n init(callback?: Function, adconfig?: SubornVideoConfig): void {\r\n if (sdkconfig.subornUserTest) {\r\n sdkconfig.subornUser = true\r\n this.config(adconfig)\r\n callback && callback()\r\n return\r\n }\r\n let info = this.qg.getEnterOptionsSync()\r\n console.log(\"oppo init: \", info)\r\n if (info) {\r\n let type = info.type\r\n let query = info.query\r\n let referrerInfo = info.referrerInfo\r\n if (query && query.key1 && query.key2) {\r\n sdkconfig.subornUser = true\r\n this.config(adconfig)\r\n }\r\n }\r\n callback && callback()\r\n }\r\n\r\n config(adconfig: SubornVideoConfig): void {\r\n if (!adconfig.switch) {\r\n return\r\n }\r\n if (adconfig.delay > 0) {\r\n setTimeout(() => {\r\n this.loadVideoAdNoCallBack(adconfig.count)\r\n }, adconfig.delay * 1000)\r\n return\r\n }\r\n this.loadVideoAdNoCallBack(adconfig.count)\r\n }\r\n\r\n login(callBack?: Function): void {\r\n\r\n }\r\n\r\n pay(params: string, callBack: Function): void {\r\n\r\n }\r\n\r\n showBanner(position: BannerType = BannerType.Bottom): void {\r\n if (!sdkconfig.ycBannerId) {\r\n console.log('banner\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n return\r\n }\r\n this.hideBanner()\r\n // if (sdkconfig.subornUser) {\r\n // this.showBigPicAd()\r\n // return\r\n // }\r\n this.createBannerAd(position)\r\n }\r\n\r\n createBannerAd(position: BannerType) {\r\n // let params = { adUnitId: sdkconfig.ycBannerId, style: position == BannerType.Top ? { top: 0, left: 0 } : {} }\r\n if (this.bannerAd) {\r\n this.bannerAd.destroy()\r\n this.bannerAd = null\r\n }\r\n this.bannerAd = this.qg.createBannerAd({ adUnitId: sdkconfig.ycBannerId })\r\n this.bannerAd.onResize((obj) => {\r\n console.log(\"banner \u5BBD\u5EA6\uFF1A\" + obj.width + \", banner \u9AD8\u5EA6\uFF1A\" + obj.height)\r\n })\r\n this.bannerAd.onLoad(() => {\r\n console.log('[Banner\u5E7F\u544A] \u5E7F\u544A\u52A0\u8F7D\u6210\u529F')\r\n YCSDK.ins.onLoad(AdType.Banner)\r\n YCSDK.ins.onShow(AdType.Banner)\r\n })\r\n this.bannerAd.onHide(() => {\r\n console.log(\"banner\u5E7F\u544A\u9690\u85CF\")\r\n YCSDK.ins.onClose(AdType.Banner)\r\n if (this.bannerAd) {\r\n this.bannerAd.destroy()\r\n this.bannerAd = null\r\n }\r\n })\r\n this.bannerAd.onError(err => {\r\n console.log(\"banner\u9519\u8BEF\u76D1\u542C: \", JSON.stringify(err))\r\n if (this.bannerAd) {\r\n this.bannerAd.destroy()\r\n this.bannerAd = null\r\n }\r\n YCSDK.ins.onError(AdType.Banner)\r\n })\r\n this.bannerAd.onClick(obj => {\r\n console.log(`\u5F00\u542FBanner\u5E7F\u544A\u70B9\u51FB\u56DE\u8C03: code: ${obj.code},msg: '${obj.msg}'`)\r\n })\r\n this.bannerAd.show()\r\n }\r\n\r\n hideBanner(): void {\r\n console.log(\"oppo hide banner\")\r\n if (this.bannerAd) {\r\n this.bannerAd.hide()\r\n }\r\n }\r\n\r\n showInters(type: InterstitialType = InterstitialType.Initial): void {\r\n if (!type) {\r\n this.showInitialType()\r\n return\r\n }\r\n switch (type) {\r\n case InterstitialType.Initial:\r\n this.showInitialType()\r\n break\r\n case InterstitialType.Native:\r\n this.showNativeType()\r\n break\r\n case InterstitialType.Video:\r\n this.showVideo(() => {\r\n console.log(\"oppo video ad show success\")\r\n })\r\n break\r\n }\r\n }\r\n\r\n showInitialType() {\r\n if (!sdkconfig.ycIntersId) {\r\n console.log(\"\u63D2\u5C4F\u5E7F\u544Aid\u672A\u914D\u7F6E\")\r\n return\r\n }\r\n if (this.qg.getSystemInfoSync().platformVersionCode < 1061) {\r\n console.log(\"\u5FEB\u5E94\u7528\u5E73\u53F0\u7248\u672C\u53F7\u4F4E\u4E8E1061,\u6682\u4E0D\u652F\u6301\u63D2\u5C4F\u5E7F\u544A\u76F8\u5173 API\")\r\n return\r\n }\r\n var interstitialAd = this.qg.createInterstitialAd({\r\n adUnitId: sdkconfig.ycIntersId,\r\n })\r\n interstitialAd.onLoad(function () {\r\n console.log('\u63D2\u5C4F\u5E7F\u544A\u52A0\u8F7D\u6210\u529F')\r\n YCSDK.ins.onLoad(AdType.Inters)\r\n interstitialAd.show()\r\n })\r\n interstitialAd.onClose(function () {\r\n console.log('\u63D2\u5C4F\u5E7F\u544A\u5173\u95ED')\r\n YCSDK.ins.onClose(AdType.Inters)\r\n })\r\n interstitialAd.onError(function (err) {\r\n console.log(\"\u63D2\u5C4F\u5E7F\u544A\u51FA\u9519: \", err)\r\n interstitialAd.destroy()\r\n interstitialAd = null\r\n YCSDK.ins.onError(AdType.Inters)\r\n })\r\n interstitialAd.load()\r\n }\r\n\r\n showNativeType() {\r\n if (!sdkconfig.ycNativeId) {\r\n console.log('\u539F\u751F\u6A21\u677F\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n return\r\n }\r\n let { windowHeight, windowWidth, platformVersionCode, screenWidth, screenHeight } = this.qg.getSystemInfoSync()\r\n if (platformVersionCode < 1094) {\r\n console.log(\"\u5FEB\u5E94\u7528\u5E73\u53F0\u7248\u672C\u53F7\u4F4E\u4E8E1094,\u6682\u4E0D\u652F\u6301\u539F\u751F\u6A21\u677F\u5E7F\u544A\u76F8\u5173API\")\r\n return\r\n }\r\n if (this.nativeAd) {\r\n this.nativeAd.destroy()\r\n this.nativeAd = null\r\n }\r\n this.nativeAd = this.qg.createCustomAd({\r\n adUnitId: sdkconfig.ycNativeId,\r\n style: {\r\n top: windowHeight * 0.4,\r\n left: (windowWidth - windowWidth * 0.6) / 2,\r\n width: windowWidth * 0.6,\r\n }\r\n })\r\n this.nativeAd.onLoad(() => {\r\n console.log('[\u539F\u751F\u6A21\u677F\u5E7F\u544A] \u5E7F\u544A\u52A0\u8F7D\u6210\u529F')\r\n YCSDK.ins.onLoad(AdType.Native)\r\n })\r\n this.nativeAd.onClick((obj) => {\r\n console.log(`\u539F\u751F\u6A21\u677F\u5E7F\u544A\u70B9\u51FB\u56DE\u8C03: code: ${obj.code},msg: '${obj.msg}'`);\r\n YCSDK.ins.onClick(AdType.Native)\r\n })\r\n this.nativeAd.onHide(() => {\r\n console.log(\"\u539F\u751F\u6A21\u677F\u5E7F\u544A\u9690\u85CF\")\r\n if (this.nativeAd) {\r\n this.nativeAd.destroy()\r\n this.nativeAd = null\r\n }\r\n YCSDK.ins.onClose(AdType.Native)\r\n })\r\n this.nativeAd.onError(err => {\r\n console.log(\"\u539F\u751F\u6A21\u677F\u5E7F\u544A\u9519\u8BEF\u76D1\u542C\uFF1A\", JSON.stringify(err))\r\n if (this.nativeAd) {\r\n this.nativeAd.destroy()\r\n this.nativeAd = null\r\n }\r\n YCSDK.ins.onError(AdType.Native)\r\n })\r\n this.nativeAd.show().then(() => {\r\n console.log('\u539F\u751F\u6A21\u677F\u5E7F\u544Apromise \u56DE\u8C03\uFF1A\u5C55\u793A\u6210\u529F')\r\n YCSDK.ins.onShow(AdType.Native)\r\n }).catch(err => {\r\n console.log(`\u539F\u751F\u6A21\u677F\u5E7F\u544Apromise \u56DE\u8C03\uFF1A\u5C55\u793A\u5931\u8D25 ${JSON.stringify(err)}`)\r\n })\r\n }\r\n\r\n hideInters(type: InterstitialType): void {\r\n if (type = InterstitialType.Native) {\r\n if (!!this.nativeAd) {\r\n this.nativeAd.hide()\r\n }\r\n }\r\n }\r\n\r\n showVideo(callBack: Function): boolean {\r\n console.log(\"oppo video ad start show\")\r\n this.loadVideoAd(callBack)\r\n return false\r\n }\r\n\r\n loadVideoAd(videoCallBack) {\r\n if (!sdkconfig.ycVideoId) {\r\n console.log('\u89C6\u9891\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n videoCallBack && videoCallBack(false)\r\n return\r\n }\r\n let videoAd = this.qg.createRewardedVideoAd({\r\n adUnitId: sdkconfig.ycVideoId\r\n })\r\n videoAd.onLoad(() => {\r\n console.log(\"oppo video load success\")\r\n YCSDK.ins.onLoad(AdType.Video)\r\n videoAd.show()\r\n YCSDK.ins.onShow(AdType.Video)\r\n })\r\n videoAd.onError(err => {\r\n console.log('onError:' + JSON.stringify(err))\r\n videoAd.destroy()\r\n YCSDK.ins.onError(AdType.Video, videoCallBack)\r\n })\r\n videoAd.onClick(function (obj) {\r\n console.log(`on click: code: ${obj.code}, msg: '${obj.msg}'`)\r\n YCSDK.ins.onClick(AdType.Video)\r\n })\r\n videoAd.onClose((res) => {\r\n YCSDK.ins.onClose(AdType.Video)\r\n console.log('==> oppoRewardVideoAd onClose', res)\r\n if (res == undefined) {\r\n //\u770B\u5B8C\u5E7F\u544A,\u7ED9\u5956\u52B1\r\n videoCallBack && videoCallBack(true)\r\n YCSDK.ins.onReward()\r\n } else {\r\n if (res.isEnded) {\r\n //\u770B\u5B8C\u5E7F\u544A,\u7ED9\u5956\u52B1\r\n videoCallBack && videoCallBack(true)\r\n YCSDK.ins.onReward()\r\n } else {\r\n // \u6CA1\u770B\u5B8C,\u4E0D\u7ED9\u5956\u52B1\r\n console.log('\u5E7F\u544A\u6CA1\u770B\u5B8C')\r\n YCSDK.ins.onClose(AdType.Video)\r\n videoCallBack && videoCallBack(false)\r\n }\r\n }\r\n })\r\n videoAd.load()\r\n }\r\n\r\n loadVideoAdNoCallBack(adcount: number = 3) {\r\n if (!sdkconfig.ycVideoId) {\r\n console.log('\u89C6\u9891\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n return\r\n }\r\n let videoAd = this.qg.createRewardedVideoAd({\r\n adUnitId: sdkconfig.ycVideoId\r\n })\r\n videoAd.onLoad(() => {\r\n console.log(\"oppo video load success\")\r\n videoAd.show()\r\n })\r\n videoAd.onError(err => {\r\n console.log('onError:' + JSON.stringify(err))\r\n YCSDK.ins.onError(AdType.Video)\r\n })\r\n videoAd.onClose((res) => {\r\n this.count++\r\n if (this.count >= adcount) {\r\n return\r\n }\r\n this.loadVideoAdNoCallBack(adcount)\r\n })\r\n videoAd.load()\r\n YCSDK.ins.onLoad(AdType.Video)\r\n }\r\n\r\n customFunc(methodName: string, params: any[], callBack: Function) {\r\n console.log(\"oppo custom function name:\", methodName)\r\n }\r\n\r\n\r\n}", "import { sys, view } from \"cc\";\r\nimport { AdType } from \"../../AdType\";\r\nimport { GameInterface } from \"../../GameInterface\";\r\nimport { sdkconfig } from \"../../SDKConfig\";\r\nimport { YCSDK } from \"../../YCSDK\";\r\nimport { BannerType } from \"../BannerType\";\r\nimport { InterstitialType } from \"../InterstitialType\";\r\n\r\nexport class VivoGame implements GameInterface {\r\n\r\n private qg = window['qg']\r\n private bannerAd\r\n private customAd\r\n private rewardedAd\r\n private callback\r\n private platformVersionCode\r\n private boxBannerAd\r\n private boxPortalAd\r\n private bannerShowing = false\r\n\r\n init(): void {\r\n this.platformVersionCode = this.qg.getSystemInfoSync().platformVersionCode\r\n console.log(\"vivo platformVersionCode: \", this.platformVersionCode)\r\n }\r\n\r\n login(callBack?: Function): void {\r\n\r\n }\r\n\r\n pay(params: string, callBack: Function): void {\r\n\r\n }\r\n\r\n showBanner(position: BannerType): void {\r\n if (this.platformVersionCode < 1031) {\r\n console.log(\"platformVersionCode below 1031, can't show banner\")\r\n return\r\n }\r\n if (!sdkconfig.ycBannerId) {\r\n console.log('banner\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n return\r\n }\r\n if (this.bannerShowing) {\r\n console.log(\"banner\u5E7F\u544A\u5C55\u793A\u4E2D\")\r\n return\r\n }\r\n this.hideBanner()\r\n this.bannerShowing = true\r\n this.bannerAd = this.qg.createBannerAd({\r\n posId: sdkconfig.ycBannerId,\r\n adIntervals: 35,\r\n style: {\r\n\r\n }\r\n })\r\n this.bannerAd.onLoad(() => {\r\n console.log(\"banner load\")\r\n this.bannerShowing = true\r\n YCSDK.ins.onLoad(AdType.Banner)\r\n })\r\n this.bannerAd.onClose(() => {\r\n console.log(\"banner close\")\r\n this.bannerShowing = false\r\n YCSDK.ins.onClose(AdType.Banner)\r\n })\r\n this.bannerAd.onError(err => {\r\n console.log(\"banner\u5E7F\u544A\u52A0\u8F7D\u5931\u8D25:\", err)\r\n this.bannerShowing = false\r\n YCSDK.ins.onError(AdType.Banner)\r\n })\r\n this.bannerAd.show().then(() => {\r\n console.log('banner\u5E7F\u544A\u5C55\u793A\u5B8C\u6210')\r\n YCSDK.ins.onShow(AdType.Banner)\r\n this.bannerShowing = true\r\n }).catch((err) => {\r\n this.bannerShowing = false\r\n console.log('banner\u5E7F\u544A\u5C55\u793A\u5931\u8D25:', JSON.stringify(err))\r\n YCSDK.ins.onError(AdType.Banner)\r\n })\r\n }\r\n\r\n hideBanner(): void {\r\n this.bannerShowing = false\r\n if (this.bannerAd) {\r\n this.bannerAd.hide()\r\n this.bannerAd.destroy()\r\n this.bannerAd = null\r\n }\r\n }\r\n\r\n showInters(type: InterstitialType): void {\r\n switch (type) {\r\n case InterstitialType.Native:\r\n this.showNative()\r\n break\r\n case InterstitialType.Initial:\r\n case InterstitialType.Video:\r\n this.showInitial()\r\n break\r\n }\r\n }\r\n\r\n showInitial() {\r\n if (this.platformVersionCode < 1031) {\r\n console.log(\"platformVersionCode below 1031, can't show interstitialAd\")\r\n return\r\n }\r\n if (!sdkconfig.ycIntersId) {\r\n console.log(\"\u63D2\u5C4F\u5E7F\u544Aid\u672A\u914D\u7F6E\")\r\n return\r\n }\r\n let interstitialAd = this.qg.createInterstitialAd({\r\n posId: sdkconfig.ycIntersId\r\n })\r\n interstitialAd.onError(err => {\r\n console.log(\"\u63D2\u5C4F\u5E7F\u544A\u52A0\u8F7D\u5931\u8D25\", err)\r\n YCSDK.ins.onError(AdType.Inters)\r\n })\r\n interstitialAd.onLoad(() => {\r\n console.log(\"\u63D2\u5C4F\u5E7F\u544A\u52A0\u8F7D\u6210\u529F\")\r\n YCSDK.ins.onLoad(AdType.Inters)\r\n })\r\n interstitialAd.onClose(() => {\r\n console.log(\"\u63D2\u5C4F\u5E7F\u544A\u5173\u95ED\")\r\n YCSDK.ins.onClose(AdType.Inters)\r\n })\r\n interstitialAd.show().then(() => {\r\n console.log('\u63D2\u5C4F\u5E7F\u544A\u5C55\u793A\u5B8C\u6210')\r\n YCSDK.ins.onShow(AdType.Inters)\r\n }).catch((err) => {\r\n console.log('\u63D2\u5C4F\u5E7F\u544A\u5C55\u793A\u5931\u8D25', JSON.stringify(err))\r\n YCSDK.ins.onError(AdType.Inters)\r\n })\r\n }\r\n\r\n hideNative() {\r\n if (this.customAd) {\r\n this.customAd.hide()\r\n this.customAd.destroy()\r\n this.customAd = null\r\n }\r\n }\r\n\r\n showNative() {\r\n if (this.platformVersionCode < 1091) {\r\n console.log(\"platformVersionCode below 1091, can't show custom ad\")\r\n return\r\n }\r\n if (!sdkconfig.ycNativeId) {\r\n console.log('\u539F\u751F\u6A21\u677F\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n return\r\n }\r\n if (this.customAd && this.customAd.isShow()) {\r\n console.log(\"native ad is show ing\")\r\n this.hideNative()\r\n }\r\n this.customAd = this.qg.createCustomAd({\r\n posId: sdkconfig.ycNativeId,\r\n style: {\r\n width: view.getVisibleSize().width,\r\n gravity: \"center\"\r\n }\r\n })\r\n this.customAd.onClose(() => {\r\n console.log(\"\u539F\u751F\u6A21\u677F\u5E7F\u544A\u5173\u95EDclose\")\r\n YCSDK.ins.onClose(AdType.Native)\r\n })\r\n this.customAd.onHide(() => {\r\n console.log(\"\u539F\u751F\u6A21\u677F\u5E7F\u544A\u5173\u95EDhide\")\r\n YCSDK.ins.onClose(AdType.Native)\r\n })\r\n this.customAd.onLoad(() => {\r\n console.log(\"\u539F\u751F\u6A21\u677F\u5E7F\u544A\u52A0\u8F7D\u6210\u529F\")\r\n YCSDK.ins.onLoad(AdType.Native)\r\n })\r\n this.customAd.onError(err => {\r\n console.log(\"\u539F\u751F\u6A21\u677F\u5E7F\u544A\u52A0\u8F7D\u5931\u8D25\", err)\r\n YCSDK.ins.onError(AdType.Native)\r\n })\r\n this.customAd.show().then(() => {\r\n console.log('\u539F\u751F\u6A21\u677F\u5E7F\u544A\u5C55\u793A\u5B8C\u6210')\r\n YCSDK.ins.onShow(AdType.Native)\r\n }).catch((err) => {\r\n console.log('\u539F\u751F\u6A21\u677F\u5E7F\u544A\u5C55\u793A\u5931\u8D25', JSON.stringify(err))\r\n YCSDK.ins.onError(AdType.Native)\r\n })\r\n }\r\n\r\n hideInters(type: InterstitialType): void {\r\n this.hideNative()\r\n }\r\n\r\n showVideo(callBack: Function): boolean {\r\n this.callback = callBack\r\n if (this.rewardedAd) {\r\n this.rewardedAd.load()\r\n } else {\r\n this.loadVideo()\r\n }\r\n return false\r\n }\r\n\r\n loadVideo() {\r\n if (this.platformVersionCode < 1041) {\r\n console.log(\"platformVersionCode below 1041, can't show video ad\")\r\n return\r\n }\r\n if (!sdkconfig.ycVideoId) {\r\n console.log('\u6FC0\u52B1\u89C6\u9891\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n return\r\n }\r\n this.rewardedAd = this.qg.createRewardedVideoAd({\r\n posId: sdkconfig.ycVideoId\r\n })\r\n this.rewardedAd.onLoad(res => {\r\n if (res == 'localAdVideo') {\r\n console.log('\u6FC0\u52B1\u89C6\u9891 \u515C\u5E95\u5E7F\u544A-onload\u89E6\u53D1 ', res);\r\n } else {\r\n console.log('\u6FC0\u52B1\u89C6\u9891\u5E7F\u544A\u52A0\u8F7D\u5B8C\u6210-onload\u89E6\u53D1 ', res);\r\n }\r\n YCSDK.ins.onLoad(AdType.Video)\r\n this.rewardedAd.show().then(() => {\r\n console.log('\u6FC0\u52B1\u89C6\u9891\u5E7F\u544A\u5C55\u793A\u5B8C\u6210')\r\n YCSDK.ins.onShow(AdType.Video)\r\n }).catch((err) => {\r\n console.log('\u6FC0\u52B1\u89C6\u9891\u5E7F\u544A\u5C55\u793A\u5931\u8D25', JSON.stringify(err))\r\n this.callback && this.callback(false)\r\n this.showNative()\r\n YCSDK.ins.onError(AdType.Video)\r\n })\r\n })\r\n this.rewardedAd.onError(err => {\r\n console.log(\"\u6FC0\u52B1\u89C6\u9891\u5E7F\u544A\u52A0\u8F7D\u5931\u8D25: \", JSON.stringify(err))\r\n this.callback && this.callback(false)\r\n YCSDK.ins.onError(AdType.Video)\r\n })\r\n this.rewardedAd.onClose((res) => {\r\n console.log(\"\u6FC0\u52B1\u89C6\u9891\u5173\u95ED\")\r\n YCSDK.ins.onClose(AdType.Video)\r\n if (res && res.isEnded) {\r\n console.log(\"\u6B63\u5E38\u64AD\u653E\u7ED3\u675F\uFF0C\u53EF\u4EE5\u4E0B\u53D1\u6E38\u620F\u5956\u52B1\")\r\n this.callback && this.callback(true)\r\n YCSDK.ins.onReward()\r\n } else {\r\n YCSDK.ins.onClose(AdType.Video)\r\n console.log(\"\u64AD\u653E\u4E2D\u9014\u9000\u51FA\uFF0C\u4E0D\u4E0B\u53D1\u6E38\u620F\u5956\u52B1\")\r\n }\r\n })\r\n // this.rewardedAd.load()\r\n }\r\n\r\n customFunc(methodName: string, params: any[], callBack: Function) {\r\n \r\n }\r\n}\r\n", "import { AdType } from \"../../AdType\";\r\nimport { GameInterface } from \"../../GameInterface\";\r\nimport { sdkconfig } from \"../../SDKConfig\";\r\nimport { YCSDK } from \"../../YCSDK\";\r\nimport { BannerType } from \"../BannerType\";\r\nimport { InterstitialType } from \"../InterstitialType\";\r\n\r\nexport class XiaoMiGame implements GameInterface {\r\n\r\n private qg = window['qg']\r\n private platformVersionCode\r\n private callback\r\n private bannerAd\r\n private lastBanner\r\n private lastInters\r\n private rewardedVideoAd\r\n private nextVideoAd\r\n private lastReward\r\n private customAd\r\n private lastNative\r\n private lastGameBanner\r\n\r\n init(): void {\r\n this.platformVersionCode = this.qg.getSystemInfoSync().platformVersionCode\r\n // this.loadVideo(false)\r\n }\r\n\r\n login(callBack?: Function): void {\r\n // this.qg.login({\r\n // success: function (res) {\r\n // console.log(\"mi login suc: \", res)\r\n // let num = this.qg.getProvider()\r\n // console.log(\"\u5382\u5546\u4EE3\u53F7\uFF1A\", num)\r\n // const shortcut = this.qg.getShortcut()\r\n // console.log(\"\u684C\u9762\u56FE\u6807: \", shortcut)\r\n // if (shortcut) {\r\n // shortcut.hasInstalled({\r\n // message: \"\u4FDD\u5B58\u684C\u9762\u56FE\u6807\uFF0C\u8FDB\u5165\u6E38\u620F\u66F4\u5FEB\u6377\",\r\n // success: function (res) {\r\n // console.log('handling success:', res)\r\n // shortcut.install({ success: function () { console.log('handling success') } })\r\n // }, fail: function () {\r\n // console.log(\"handling fail\")\r\n // }\r\n // })\r\n // }\r\n // },\r\n // fail: function (res) {\r\n // console.log(\"mi login fail: \", res)\r\n // }\r\n // })\r\n }\r\n\r\n pay(params: string, callBack: Function): void {\r\n console.log(\"mi pay not support\")\r\n }\r\n\r\n private bannerShowing: boolean = false\r\n\r\n showBanner(position: BannerType): void {\r\n if (!sdkconfig.ycBannerId) {\r\n console.log('banner\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n return\r\n }\r\n let timeTag = Date.now()\r\n if (timeTag - this.lastBanner < 30 * 1000 ) {\r\n console.log(\"30\u79D2\u5185\u4E0D\u5F97\u518D\u6B21\u5C55\u793A---banner\")\r\n return\r\n }\r\n if (this.bannerShowing) {\r\n console.log(\"banner already showing\")\r\n return\r\n }\r\n this.hideBanner()\r\n this.bannerShowing = true\r\n this.bannerAd = this.qg.createBannerAd({\r\n adUnitId: sdkconfig.ycBannerId,\r\n adIntervals: 35\r\n // style: {\r\n // left: 0,\r\n // top: 0,\r\n // width: 1080\r\n // }\r\n })\r\n this.bannerAd.onLoad(() => {\r\n console.log(\"mi banner on load\")\r\n this.bannerShowing = true\r\n YCSDK.ins.onLoad(AdType.Banner)\r\n YCSDK.ins.onShow(AdType.Banner)\r\n })\r\n this.bannerAd.onError((err) => {\r\n console.log(\"mi banner error: \", err)\r\n this.bannerShowing = false\r\n YCSDK.ins.onError(AdType.Banner)\r\n })\r\n this.bannerAd.onClose(() => {\r\n console.log(\"mi banner on close\")\r\n this.bannerShowing = false\r\n this.lastBanner = Date.now()\r\n YCSDK.ins.onClose(AdType.Banner)\r\n })\r\n this.bannerAd.show()\r\n console.log(\"mi banner load\")\r\n }\r\n\r\n hideBanner(): void {\r\n this.bannerShowing = false\r\n if (this.bannerAd) {\r\n this.bannerAd.hide()\r\n this.bannerAd.destroy()\r\n this.bannerAd = null\r\n }\r\n }\r\n\r\n showInters(type: InterstitialType): void {\r\n switch (type) {\r\n case InterstitialType.Initial:\r\n case InterstitialType.Video:\r\n this.showInitial()\r\n break\r\n case InterstitialType.Native:\r\n this.showNative()\r\n break\r\n }\r\n }\r\n\r\n showNative() {\r\n if (this.platformVersionCode < 1110) {\r\n console.log(\"platformVersionCode below 1110, current code: \", this.platformVersionCode)\r\n return\r\n }\r\n if (!sdkconfig.ycNativeId) {\r\n console.log('\u539F\u751F\u6A21\u677F\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n return\r\n }\r\n let timeTag = Date.now()\r\n if (timeTag - this.lastNative < 30 * 1000 ) {\r\n console.log(\"30\u79D2\u5185\u4E0D\u5F97\u518D\u6B21\u5C55\u793A---native\")\r\n return\r\n }\r\n this.hideInters(InterstitialType.Native)\r\n this.customAd = this.qg.createCustomAd({\r\n adUnitId: sdkconfig.ycNativeId,\r\n style: {\r\n left: 0,\r\n top: 300,\r\n width: 1080\r\n }\r\n })\r\n this.customAd.onLoad(() => {\r\n console.log(\"mi native on load\")\r\n YCSDK.ins.onLoad(AdType.Native)\r\n })\r\n this.customAd.onClose(() => {\r\n console.log(\"mi native on close\")\r\n YCSDK.ins.onClose(AdType.Native)\r\n this.lastNative = Date.now()\r\n })\r\n this.customAd.onShow(() => {\r\n console.log(\"mi native show\")\r\n YCSDK.ins.onShow(AdType.Native)\r\n })\r\n this.customAd.onError((err) => {\r\n console.log(\"mi native error: \", err)\r\n YCSDK.ins.onError(AdType.Native)\r\n })\r\n this.customAd.show()\r\n }\r\n\r\n showInitial() {\r\n if (!sdkconfig.ycIntersId) {\r\n console.log(\"\u63D2\u5C4F\u5E7F\u544Aid\u672A\u914D\u7F6E\")\r\n return\r\n }\r\n let timeTag = Date.now()\r\n if (timeTag - this.lastInters < 30 * 1000 ) {\r\n console.log(\"30\u79D2\u5185\u4E0D\u5F97\u518D\u6B21\u5C55\u793A---inters\")\r\n return\r\n }\r\n let interstitialAd = this.qg.createInterstitialAd({\r\n adUnitId: sdkconfig.ycIntersId\r\n })\r\n interstitialAd.onLoad(() => {\r\n console.log(\"mi\u63D2\u5C4F\u5E7F\u544A\u52A0\u8F7D\u6210\u529F\")\r\n YCSDK.ins.onLoad(AdType.Inters)\r\n interstitialAd.show()\r\n YCSDK.ins.onShow(AdType.Inters)\r\n })\r\n interstitialAd.onClose(() => {\r\n console.log(\"mi innters on close\")\r\n YCSDK.ins.onClose(AdType.Inters)\r\n this.lastInters = Date.now()\r\n })\r\n interstitialAd.onError((err) => {\r\n console.log(\"mi inters error: \", err)\r\n YCSDK.ins.onError(AdType.Inters)\r\n interstitialAd.destroy()\r\n })\r\n }\r\n\r\n hideInters(type: InterstitialType): void {\r\n if (this.customAd && type == InterstitialType.Native) {\r\n this.customAd.hide()\r\n this.customAd.destroy()\r\n this.customAd = null\r\n }\r\n }\r\n\r\n showVideo(callBack: Function): boolean {\r\n this.callback = callBack\r\n let timeTag = Date.now()\r\n if (timeTag - this.lastReward < 30 * 1000 ) {\r\n console.log(\"30\u79D2\u5185\u4E0D\u5F97\u518D\u6B21\u5C55\u793A---video\")\r\n this.callback && this.callback(false)\r\n return\r\n }\r\n this.loadVideo(true)\r\n return false\r\n }\r\n\r\n loadVideo(show): void {\r\n if (!sdkconfig.ycVideoId) {\r\n console.log('\u89C6\u9891\u5E7F\u544A\u53C2\u6570\u6CA1\u6709\u914D\u7F6E')\r\n this.callback && this.callback(false)\r\n this.callback = null\r\n return\r\n }\r\n if (this.rewardedVideoAd) {\r\n this.rewardedVideoAd = this.qg.createRewardedVideoAd({\r\n adUnitId: sdkconfig.ycVideoId\r\n })\r\n console.log(\"reload video, ad id: \", sdkconfig.ycVideoId)\r\n this.rewardedVideoAd.load()\r\n return\r\n }\r\n this.rewardedVideoAd = this.qg.createRewardedVideoAd({\r\n adUnitId: sdkconfig.ycVideoId\r\n })\r\n console.log(\"create video, ad id: \", sdkconfig.ycVideoId)\r\n this.rewardedVideoAd.onLoad(() => {\r\n console.log(\"mi video on load\")\r\n YCSDK.ins.onLoad(AdType.Video)\r\n if (show) {\r\n setTimeout(() => {\r\n this.rewardedVideoAd.show()\r\n YCSDK.ins.onShow(AdType.Video)\r\n }, 100)\r\n }\r\n })\r\n this.rewardedVideoAd.onClose((isEnded) => {\r\n console.log(\"mi video on close: \", isEnded)\r\n this.lastReward = Date.now()\r\n YCSDK.ins.onClose(AdType.Video)\r\n if (isEnded.isEnded) {\r\n YCSDK.ins.onReward()\r\n this.callback && this.callback(isEnded.isEnded)\r\n } else {\r\n YCSDK.ins.onClose(AdType.Video)\r\n }\r\n })\r\n this.rewardedVideoAd.onError((err) => {\r\n console.log(\"mi video error: \", err)\r\n YCSDK.ins.onError(AdType.Video)\r\n })\r\n this.rewardedVideoAd.load()\r\n }\r\n\r\n customFunc(methodName: string, params: any[], callBack: Function) {\r\n console.log(\"custom function name:\", methodName)\r\n }\r\n}", "import { AdType } from \"../../AdType\";\r\nimport { GameInterface } from \"../../GameInterface\";\r\nimport { sdkconfig } from \"../../SDKConfig\";\r\nimport { YCSDK } from \"../../YCSDK\";\r\nimport { BannerType } from \"../BannerType\";\r\nimport { InterstitialType } from \"../InterstitialType\";\r\n\r\nexport class WeChatGame implements GameInterface {\r\n\r\n private wx = window['wx']\r\n private bannerAd\r\n\r\n init(callBack?: any): void {\r\n callBack && callBack()\r\n }\r\n\r\n login(callBack?: Function): void {\r\n\r\n }\r\n\r\n pay(params: string, callBack: Function): void {\r\n\r\n }\r\n\r\n showBanner(position: BannerType): void {\r\n if (this.bannerAd) {\r\n this.bannerAd.destroy()\r\n this.bannerAd = null\r\n }\r\n const { screenWidth, screenHeight } = this.wx.getSystemInfoSync()\r\n this.bannerAd = this.wx.createBannerAd({\r\n adUnitId: sdkconfig.ycBannerId,\r\n style: {\r\n left: 0,\r\n top: 0,\r\n width: screenWidth\r\n }\r\n })\r\n this.bannerAd.onResize((size) => {\r\n this.bannerAd.style.top = screenHeight - size.height\r\n })\r\n this.bannerAd.onLoad(() => {\r\n console.log('banner \u5E7F\u544A\u52A0\u8F7D\u6210\u529F')\r\n YCSDK.ins.onLoad(AdType.Banner)\r\n YCSDK.ins.onShow(AdType.Banner)\r\n })\r\n this.bannerAd.onError(err => {\r\n console.log('banner \u5E7F\u544A\u52A0\u8F7D\u5931\u8D25:', err)\r\n YCSDK.ins.onError(AdType.Banner)\r\n this.showNativeBanner()\r\n })\r\n this.bannerAd.show()\r\n }\r\n\r\n showNativeBanner() {\r\n const { screenWidth, screenHeight } = this.wx.getSystemInfoSync()\r\n const customAd = this.wx.createCustomAd({\r\n adUnitId: sdkconfig.ycNativeId,\r\n style: {\r\n left: (screenWidth - 360) / 2,\r\n top: screenHeight - 106,\r\n width: 360,\r\n height: 106\r\n }\r\n })\r\n customAd.onResize((res) => {\r\n console.log('on resize:', res)\r\n customAd.style.top = screenHeight - res.height\r\n customAd.style.left = (screenWidth - res.width) / 2\r\n })\r\n customAd.onLoad(() => {\r\n console.log('\u539F\u751F\u6A21\u677F\u5E7F\u544A\u52A0\u8F7D\u6210\u529F')\r\n YCSDK.ins.onLoad(AdType.Native)\r\n })\r\n customAd.onError(err => {\r\n console.log('\u539F\u751F\u5E7F\u544A\u52A0\u8F7D\u5931\u8D25', err)\r\n YCSDK.ins.onError(AdType.Native)\r\n })\r\n customAd.onClose(() => {\r\n console.log('\u539F\u751F\u6A21\u677F\u5E7F\u544A\u5173\u95ED')\r\n YCSDK.ins.onClose(AdType.Native)\r\n })\r\n customAd.show().then(() => {\r\n console.log('\u539F\u751F\u6A21\u677F\u5E7F\u544A\u663E\u793A')\r\n YCSDK.ins.onShow(AdType.Native)\r\n })\r\n }\r\n\r\n hideBanner(): void {\r\n if (this.bannerAd) {\r\n this.bannerAd.hide()\r\n this.bannerAd.destroy()\r\n this.bannerAd = null\r\n }\r\n }\r\n\r\n showInters(type: InterstitialType): void {\r\n let interstitialAd = this.wx.createInterstitialAd({ adUnitId: sdkconfig.ycIntersId })\r\n interstitialAd.onLoad(() => {\r\n console.log('\u63D2\u5C4F \u5E7F\u544A\u52A0\u8F7D\u6210\u529F')\r\n YCSDK.ins.onLoad(AdType.Inters)\r\n YCSDK.ins.onShow(AdType.Inters)\r\n })\r\n interstitialAd.onError(err => {\r\n console.log('\u63D2\u5C4F\u5E7F\u544A\u52A0\u8F7D\u5931\u8D25\uFF1A', err)\r\n YCSDK.ins.onError(AdType.Inters)\r\n })\r\n interstitialAd.onClose(res => {\r\n console.log('\u63D2\u5C4F \u5E7F\u544A\u5173\u95ED')\r\n YCSDK.ins.onClose(AdType.Inters)\r\n })\r\n interstitialAd.show().catch((err) => {\r\n console.error('\u63D2\u5C4F\u5E7F\u544A\u5C55\u793A\u5931\u8D25\uFF1A', err)\r\n YCSDK.ins.onError(AdType.Inters)\r\n })\r\n }\r\n\r\n hideInters(type: InterstitialType): void {\r\n\r\n }\r\n\r\n showVideo(callBack: Function): boolean {\r\n let rewardedVideoAd = this.wx.createRewardedVideoAd({ adUnitId: sdkconfig.ycVideoId })\r\n rewardedVideoAd.onLoad(() => {\r\n console.log('\u6FC0\u52B1\u89C6\u9891 \u5E7F\u544A\u52A0\u8F7D\u6210\u529F')\r\n YCSDK.ins.onLoad(AdType.Video)\r\n })\r\n rewardedVideoAd.onError(err => {\r\n console.log('\u6FC0\u52B1\u89C6\u9891 \u5E7F\u544A\u52A0\u8F7D\u5931\u8D25\uFF1A', err)\r\n YCSDK.ins.onError(AdType.Video, callBack)\r\n })\r\n rewardedVideoAd.onClose(res => {\r\n YCSDK.ins.onClose(AdType.Video)\r\n if (res && res.isEnded || res === undefined) {\r\n // \u6B63\u5E38\u64AD\u653E\u7ED3\u675F\uFF0C\u53EF\u4EE5\u4E0B\u53D1\u6E38\u620F\u5956\u52B1\r\n YCSDK.ins.onReward()\r\n callBack && callBack(true)\r\n } else {\r\n callBack && callBack(false)\r\n }\r\n })\r\n rewardedVideoAd.show()\r\n .catch(err => {\r\n rewardedVideoAd.load()\r\n .then(() => {\r\n rewardedVideoAd.show()\r\n YCSDK.ins.onShow(AdType.Video)\r\n })\r\n })\r\n return false\r\n }\r\n\r\n customFunc(methodName: string, params: any[], callBack: Function) {\r\n // \u521B\u5EFA \u539F\u751F\u6A21\u677F \u5E7F\u544A\u5B9E\u4F8B\uFF0C\u63D0\u524D\u521D\u59CB\u5316\r\n const { screenWidth, screenHeight } = this.wx.getSystemInfoSync()\r\n let CustomAd = this.wx.createCustomAd({\r\n adUnitId: sdkconfig.ycBigPicId,\r\n style: {\r\n left: 0,\r\n top: (screenHeight - screenWidth) / 2,\r\n width: screenWidth\r\n }\r\n })\r\n CustomAd.onResize((res) => {\r\n console.log('on resize:', res)\r\n CustomAd.style.top = screenHeight - res.height\r\n CustomAd.style.left = (screenWidth - res.width) / 2\r\n })\r\n CustomAd.onError(err => {\r\n console.error('\u77E9\u9635\u5E7F\u544A\u52A0\u8F7D\u5931\u8D25\uFF1A', err.errMsg)\r\n })\r\n // \u5728\u9002\u5408\u7684\u573A\u666F\u663E\u793A \u539F\u751F\u6A21\u677F \u5E7F\u544A\r\n CustomAd.show()\r\n\r\n }\r\n\r\n}", "import { Node } from \"cc\";\r\nimport { GameInterface } from \"../../GameInterface\";\r\nimport { BannerType } from \"../../minigame/BannerType\";\r\nimport { InterstitialType } from \"../../minigame/InterstitialType\";\r\nimport { PrivacyListener } from \"../../minigame/PrivacyListener\";\r\n\r\nexport class AndroidGame implements GameInterface {\r\n\r\n className = 'com/ycsdk/cocos/GameBridge'\r\n\r\n init(callBack?: any): void {\r\n callBack && callBack()\r\n this.login()\r\n }\r\n\r\n login(callBack?: Function): void {\r\n jsb.reflection.callStaticMethod(this.className, 'login', '()V')\r\n }\r\n\r\n showPolicy(node: Node, callBack: PrivacyListener): void {\r\n jsb.reflection.callStaticMethod(this.className, 'showPolicy', '()V')\r\n }\r\n\r\n showBanner(position: BannerType): void {\r\n jsb.reflection.callStaticMethod(this.className, 'showBanner', '()V')\r\n }\r\n\r\n hideBanner(): void {\r\n jsb.reflection.callStaticMethod(this.className, 'hideBanner', '()V')\r\n }\r\n\r\n showInters(type: InterstitialType): void {\r\n jsb.reflection.callStaticMethod(this.className, 'showInters', '()V')\r\n }\r\n\r\n hideInters(type: InterstitialType): void {\r\n jsb.reflection.callStaticMethod(this.className, 'hideInters', '()V')\r\n }\r\n\r\n showVideo(callBack: Function): boolean {\r\n let videoCallBack = function (res) {\r\n console.log('on video call back:', res)\r\n if (res) {\r\n callBack && callBack(true)\r\n } else {\r\n callBack && callBack(false)\r\n }\r\n }\r\n window['videoCallBack'] = videoCallBack\r\n jsb.reflection.callStaticMethod(this.className, 'showVideo', '()V')\r\n return false\r\n }\r\n\r\n customFunc(methodName: string, params: any[], callBack: Function) {\r\n jsb.reflection.callStaticMethod(this.className, 'customFunc', '(Ljava/lang/String;Ljava/lang/String;)V', methodName, params)\r\n }\r\n\r\n}"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["InterstitialType", "BannerType", "AdType", "sys", "view", "instantiate", "Node", "Prefab", "resources", "sys", "sys", "resources", "Prefab", "instantiate", "agree", "Node", "instantiate", "Node", "Prefab", "resources", "sys", "sys", "sys", "instantiate", "Node", "Prefab", "resources", "resources", "Prefab", "instantiate", "Node", "err", "view", "view", "sys", "resources", "Prefab", "instantiate", "agree", "Node", "sys", "view"]
|
|
7
7
|
}
|