Skip to content

Commit

Permalink
Auto-load the CrazyGames extension when the domain is part of crazyga…
Browse files Browse the repository at this point in the history
…mes.com (#1333)
  • Loading branch information
Bouh committed Jul 10, 2024
1 parent e98560e commit 238b3d9
Showing 1 changed file with 44 additions and 34 deletions.
78 changes: 44 additions & 34 deletions extensions/reviewed/CrazyGamesAdApi.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,11 @@
"name": "CrazyGamesAdApi",
"previewIconUrl": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODkiIGhlaWdodD0iMTAwIiB2aWV3Qm94PSIwIDAgODkgMTAwIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTg0LjkwMzQgMjUuODkyOUM4NS4wNzI3IDE4LjY4MjQgODQuNjQ5NCA2LjExNjk0IDgwLjA3NzYgMC44NzQ4NTlDNzcuNTcyOSAtMS45OTY2NCA3MS42MTgzIDIuODA4MDEgNjcuNzY2MSA2LjUxOTA5QzYxLjM4MSAzLjQwNzcxIDUzLjUzNTUgMS44NzY3MSA0My45OTY4IDEuODc2NzFDMzQuNDU4IDEuODc2NzEgMjYuNjE5NiAzLjQxNDc2IDIwLjI0MTYgNi41MTkwOUMxNi4zODI0IDIuODA4MDEgMTAuNDM0OCAtMS45ODk1OSA3LjkzMDE0IDAuODgxOTE1QzMuMzY1MzcgNi4xMTY5NCAyLjkzNSAxOC42NDAxIDMuMTA0MzIgMjUuODU3NkMxLjA1MTIzIDMxLjUwMTkgMCAzOC4wOTE1IDAgNDUuNjEyNUMwIDYxLjQzMDQgNC41Mjk1IDczLjE0MjIgMTMuNDU0NCA4MC40NzI3QzE5LjQ2NTYgODUuMzk3MyAyNy4zMTgxIDg4LjIzMzUgMzcuMzIyNSA4OS4wODcyQzM2Ljg2MDcgODkuMzE4MSAzNi4zOTIzIDg5LjU0NjggMzUuOTE3NyA4OS43Nzg1TDM1LjkxNjMgODkuNzc5MkwzNS45MTU5IDg5Ljc3OTRDMzUuMTg3NSA5MC4xMzUgMzQuNDQ0NyA5MC40OTc3IDMzLjY4OSA5MC44ODYzTDMwLjA2MjYgOTIuNjY0MkwyOC4wMDI1IDkzLjY3MzFDMjcuNDEwMiA5My45ODI5IDI2LjgxMjMgOTQuMjgyIDI2LjIwNjUgOTQuNTg1MkwyNi4yMDYyIDk0LjU4NTRDMjQuNzY5NyA5NS4zMDQyIDIzLjI4ODQgOTYuMDQ1NSAyMS43MzAzIDk3LjAwMzJMMjEuMTg3IDk3LjI5MjVDMjEuMDMxOCA5Ny40MDU0IDIwLjg4MzcgOTcuNTk1OSAyMC44NTU0IDk3LjgwNzVDMjAuNzg0OSA5OC4yMDk3IDIxLjA2MDEgOTguNTkwNyAyMS40NjIyIDk4LjY0NzFDMjIuMDU4NyA5OC43MzY4IDIyLjY1MzMgOTguODM0NSAyMy4yNDggOTguOTMyMkwyMy4yNDgzIDk4LjkzMjJDMjQuNjY1IDk5LjE2NSAyNi4wODE2IDk5LjM5NzcgMjcuNTIyNyA5OS41MjE5TDI5LjA0NjYgOTkuNjkxM0MyOS41NDc2IDk5Ljc0NzcgMzAuMDU1NSA5OS43OSAzMC41NzA2IDk5LjgxODNMMzMuNjMyNiA5OS45ODc2QzM3LjczMTcgMTAwLjA1OCA0MS44NTkxIDk5LjgzMjQgNDUuOTUxMSA5OS4xOTAzQzUwLjAzNjEgOTguNTc2NSA1NC4wNTA2IDk3LjQzMzYgNTcuOTA5OCA5NS44NDYxQzYxLjc1NSA5NC4yNTg3IDY1LjQyMzcgOTIuMTkxNSA2OC43NDY4IDg5LjY3MjhDNzUuMzM2NCA4NC41NTc3IDgwLjUxNSA3Ny42NzE3IDgzLjU5ODEgNjkuOTk1NkM4NC43MjcgNjcuMjE1OCA4NS41NjY2IDY0LjMzMDIgODYuMTczMyA2MS40MDIyQzg3LjM5MzkgNTYuNzAzNCA4OC4wMTQ4IDUxLjQ0MDEgODguMDE0OCA0NS42MTI1Qzg4LjAxNDggMzguMTEyNyA4Ni45NzA2IDMxLjUzNzIgODQuOTI0NSAyNS45TDg0LjkwMzQgMjUuODkyOVpNNDMuOTg5NyA3My41MjMyQzI3LjEyNzYgNzMuNTIzMiAxNS45MDI2IDY4Ljc4MiAxNS45MDI2IDQ1LjYwNTRDMTUuOTAyNiAzNC42NzY4IDE4LjQwNzMgMjcuMjc1OCAyMy41NzE3IDIzLjAyODVDMjcuOTMxOSAxOS40MzAzIDM0LjYyMDMgMTcuNjg3NiA0My45ODk3IDE3LjY4NzZDNTMuMzU5MiAxNy42ODc2IDYwLjA0NzYgMTkuNDQ0NCA2NC40MDc4IDIzLjAyODVDNjkuNTU4MSAyNy4yNjg3IDcyLjA3NjkgMzQuNjU1NiA3Mi4wNzY5IDQ1LjYwNTRDNzIuMDc2OSA2OC43ODIgNjAuODUxOSA3My41MjMyIDQzLjk4OTcgNzMuNTIzMlpNMzUuMDI5NiAzOS42NzE5QzM1LjAyOTYgMzcuNTkwNiAzNi40MTI0IDM1LjgyNjggMzguMzEwMyAzNS4yMzQxQzM3LjI2NjEgMzQuMjY3NiAzNS44NjkxIDMzLjY3NDkgMzQuMzMxMSAzMy42NzQ5QzMxLjEwNjggMzMuNjc0OSAyOC40NjgxIDM2LjI5OTUgMjguNDY4MSAzOS41MDI2VjUxLjE1NzlDMjguNDY4MSA1NC4zNjEgMzEuMTA2OCA1Ni45ODU2IDM0LjMzMTEgNTYuOTg1NkMzNy41NTU0IDU2Ljk4NTYgNDAuMTk0IDU0LjM2ODEgNDAuMTk0IDUxLjE1NzlWNDQuMzAwMkM0MC4wMzE4IDQ0LjMxNDMgMzkuODY5NSA0NC4zMjg0IDM5LjcwNzIgNDQuMzI4NEMzNy4xMTc5IDQ0LjMyODQgMzUuMDIyNSA0Mi4yNDcxIDM1LjAyMjUgMzkuNjc5TDM1LjAyOTYgMzkuNjcxOVpNNTcuMjExNCAzNC44ODg0QzU1LjQxMjMgMzUuNTM3NSA1NC4xMjgyIDM3LjI0NDkgNTQuMTI4MiAzOS4yNTU3VjM5LjI2MjdDNTQuMTI4MiA0MS44MzA4IDU2LjIyMzYgNDMuOTEyMSA1OC44MTI5IDQzLjkxMjFDNTkuMDUyOCA0My45MTIxIDU5LjI4NTYgNDMuODkxIDU5LjUxMTQgNDMuODU1N1Y1MS4xNTc5QzU5LjUxMTQgNTQuMzY4MSA1Ni44NzI3IDU2Ljk4NTYgNTMuNjQ4NCA1Ni45ODU2QzUwLjQyNDIgNTYuOTg1NiA0Ny43ODU1IDU0LjM2MSA0Ny43ODU1IDUxLjE1NzlWMzkuNTAyNkM0Ny43ODU1IDM2LjI5OTUgNTAuNDI0MiAzMy42NzQ5IDUzLjY0ODQgMzMuNjc0OUM1NC45ODg5IDMzLjY3NDkgNTYuMjIzNiAzNC4xMzM1IDU3LjIxMTQgMzQuODg4NFoiIGZpbGw9IiMwQzBEMTQiLz4KPC9zdmc+Cg==",
"shortDescription": "Allow games to be hosted on CrazyGames website and display ads.",
"version": "1.3.0",
"version": "1.3.1",
"description": [
"Please refer to [CrazyGames' guide](https://docs.crazygames.com/sdk/html5-v2/intro/) to know when to call the different actions.",
"",
"### Patch note",
"- 1.3.0: The SDK have to be manually called via an action."
"The SDK is automatically loaded on CrazyGames domains, but can be forced with the action of the same name if it fail."
],
"origin": {
"identifier": "CrazyGamesAdApi",
Expand Down Expand Up @@ -48,11 +47,30 @@
" hasVideoAdJustFinishedPlaying: false,",
" isAdBlockerDetected: false,",
" links: new Map(),",
"};"
" logger: new gdjs.Logger(\"CrazyGames SDK\"),",
"};",
"",
"if (document.referrer && new URL(document.referrer).hostname.endsWith(\".crazygames.com\")) {",
" const addScript = (src) => {",
" return new Promise((resolve, reject) => {",
" const scriptElement = document.createElement('script');",
"",
" scriptElement.setAttribute('src', src);",
" scriptElement.addEventListener('load', resolve);",
" scriptElement.addEventListener('error', reject);",
"",
" document.body.appendChild(scriptElement);",
" });",
" }",
" addScript('https://sdk.crazygames.com/crazygames-sdk-v2.js').then(() => {",
" gdjs._crazyGamesExtension.isSdkReady = true;",
" gdjs._crazyGamesExtension.logger.log(\"CrazyGames SDK successfully initialized.\");",
" });",
"}"
],
"parameterObjects": "",
"useStrict": true,
"eventsSheetExpanded": false
"eventsSheetExpanded": true
}
],
"parameters": [],
Expand Down Expand Up @@ -120,8 +138,6 @@
{
"type": "BuiltinCommonInstructions::JsCode",
"inlineCode": [
"const logger = new gdjs.Logger(\"CrazyGames SDK\");",
"",
"const roomId = eventsFunctionContext.getArgument(\"RoomId\");",
"",
"window.CrazyGames.SDK.game.showInviteButton({",
Expand All @@ -130,9 +146,9 @@
" //param3: \"value\"",
"}, (error, result) => {",
" if (error) {",
" logger.error(\"Invite button link error\", error);",
" gdjs._crazyGamesExtension.logger.error(\"Invite button link error\", error);",
" } else {",
" logger.log(\"Invite button link\", result);",
" gdjs._crazyGamesExtension.logger.log(\"Invite button link\", result);",
" }",
"});"
],
Expand Down Expand Up @@ -179,21 +195,20 @@
{
"type": "BuiltinCommonInstructions::JsCode",
"inlineCode": [
"const logger = new gdjs.Logger(\"CrazyGames SDK\");\r",
"const addScript = (src) => {\r",
" return new Promise((resolve, reject) => {\r",
" const scriptElement = document.createElement('script');\r",
"\r",
" scriptElement.setAttribute('src', src);\r",
" scriptElement.addEventListener('load', resolve);\r",
" scriptElement.addEventListener('error', reject);\r",
"\r",
" document.body.appendChild(scriptElement);\r",
" });\r",
"}\r",
"addScript('https://sdk.crazygames.com/crazygames-sdk-v2.js').then(() => {\r",
" gdjs._crazyGamesExtension.isSdkReady = true;\r",
" logger.log(\"CrazyGames SDK successfully initialized.\");\r",
"const addScript = (src) => {",
" return new Promise((resolve, reject) => {",
" const scriptElement = document.createElement('script');",
"",
" scriptElement.setAttribute('src', src);",
" scriptElement.addEventListener('load', resolve);",
" scriptElement.addEventListener('error', reject);",
"",
" document.body.appendChild(scriptElement);",
" });",
"}",
"addScript('https://sdk.crazygames.com/crazygames-sdk-v2.js').then(() => {",
" gdjs._crazyGamesExtension.isSdkReady = true;",
" gdjs._crazyGamesExtension.logger.log(\"CrazyGames SDK successfully initialized.\");",
"})"
],
"parameterObjects": "",
Expand Down Expand Up @@ -399,8 +414,6 @@
{
"type": "BuiltinCommonInstructions::JsCode",
"inlineCode": [
"const logger = new gdjs.Logger(\"CrazyGames SDK\");",
"",
"const adType = eventsFunctionContext.getArgument(\"AdType\");",
"",
"const volume = runtimeScene.getSoundManager().getGlobalVolume();",
Expand All @@ -422,7 +435,7 @@
" if (runtimeScene.getSoundManager().getGlobalVolume() === 0) {",
" runtimeScene.getSoundManager().setGlobalVolume(volume);",
" }",
" logger.error(`Error ${adType} ad (callback): `, error, errorData);",
" gdjs._crazyGamesExtension.logger.error(`Error ${adType} ad (callback): `, error, errorData);",
" },",
"});"
],
Expand Down Expand Up @@ -544,12 +557,11 @@
"inlineCode": [
"const roomId = eventsFunctionContext.getArgument(\"RoomId\");",
"",
"const logger = new gdjs.Logger(\"CrazyGames SDK\");",
"window.CrazyGames.SDK.game.inviteLink(",
" { roomId },",
" (error, link) => {",
" if (error) {",
" logger.error(\"Invite link error.\", error);",
" gdjs._crazyGamesExtension.logger.error(\"Invite link error.\", error);",
" } else {",
" gdjs._crazyGamesExtension.links.set(roomId, link);",
" eventsFunctionContext.task.resolve();",
Expand Down Expand Up @@ -659,10 +671,9 @@
{
"type": "BuiltinCommonInstructions::JsCode",
"inlineCode": [
"const logger = new gdjs.Logger(\"CrazyGames SDK\");",
"window.CrazyGames.SDK.ad.hasAdblock((error, result) => {",
" if (error) {",
" logger.error(\"Unable to scan adblockers.\", error);",
" gdjs._crazyGamesExtension.logger.error(\"Unable to scan adblockers.\", error);",
" gdjs._crazyGamesExtension.latestError = error;",
" } else {",
" gdjs._crazyGamesExtension.isAdBlockerDetected = result;",
Expand Down Expand Up @@ -750,7 +761,6 @@
{
"type": "BuiltinCommonInstructions::JsCode",
"inlineCode": [
"const logger = new gdjs.Logger(\"CrazyGames SDK\");",
"const bannerName = eventsFunctionContext.getArgument(\"BannerName\");",
"const positionX = eventsFunctionContext.getArgument(\"PositionX\");",
"const positionY = eventsFunctionContext.getArgument(\"PositionY\");",
Expand Down Expand Up @@ -780,10 +790,10 @@
" height: size.height,",
"}, (error, result) => {",
" if (error) {",
" logger.error(\"Error on request banner.\", error);",
" gdjs._crazyGamesExtension.logger.error(\"Error on request banner.\", error);",
" } else {",
" // Result is always undefined when requesting banners",
" logger.log(\"End request banner\", result === undefined ? \"Requesting banners\" : result);",
" gdjs._crazyGamesExtension.logger.log(\"End request banner\", result === undefined ? \"Requesting banners\" : result);",
" eventsFunctionContext.task.resolve();",
" }",
"});"
Expand Down

0 comments on commit 238b3d9

Please sign in to comment.