@inappstory/game-center-api 1.0.8 → 1.0.9
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/lib/ResourceManager.js +16 -10
- package/lib/index.d.ts +3 -2
- package/lib/index.js +3 -1
- package/package.json +1 -1
package/lib/ResourceManager.js
CHANGED
|
@@ -45,15 +45,21 @@ class ResourceManager {
|
|
|
45
45
|
const promise = ((resourceForFetch, relatedResources) => {
|
|
46
46
|
return new Promise(async (resolve, reject) => {
|
|
47
47
|
const resouceKeys = relatedResources.map(resource => resource.key);
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
const uri = resourceForFetch.getUri();
|
|
49
|
+
const originUri = resourceForFetch.getOriginUri();
|
|
50
|
+
let objectUrl = await this.createObjectUrlByUri(uri, resouceKeys);
|
|
51
|
+
if (objectUrl === null && uri !== originUri)
|
|
52
|
+
objectUrl = await this.createObjectUrlByUri(originUri, resouceKeys);
|
|
51
53
|
if (objectUrl === null) {
|
|
52
|
-
|
|
54
|
+
const image = new Image();
|
|
55
|
+
image.onload = () => resolve();
|
|
56
|
+
image.onerror = () => reject(`Can't load resource for [${resouceKeys.join(", ")}]`);
|
|
57
|
+
image.src = originUri;
|
|
53
58
|
}
|
|
54
59
|
else {
|
|
55
|
-
for (const resource of relatedResources)
|
|
60
|
+
for (const resource of relatedResources) {
|
|
56
61
|
resource.setCacheUri(objectUrl);
|
|
62
|
+
}
|
|
57
63
|
resolve();
|
|
58
64
|
}
|
|
59
65
|
});
|
|
@@ -64,18 +70,18 @@ class ResourceManager {
|
|
|
64
70
|
for (const resList of this.resLists)
|
|
65
71
|
resList["onCacheDone"]();
|
|
66
72
|
}
|
|
67
|
-
async createObjectUrlByUri(
|
|
68
|
-
if (!
|
|
69
|
-
|
|
73
|
+
async createObjectUrlByUri(uri, resouceKeys) {
|
|
74
|
+
if (!uri)
|
|
75
|
+
throw `Resource uri for [${resouceKeys.join(", ")}] can't be empty string`;
|
|
70
76
|
try {
|
|
71
|
-
const response = await (0, fetchLocalFile_1.fetchLocalFile)(
|
|
77
|
+
const response = await (0, fetchLocalFile_1.fetchLocalFile)(uri);
|
|
72
78
|
if (response != null)
|
|
73
79
|
return URL.createObjectURL(await response.blob());
|
|
74
80
|
else
|
|
75
81
|
throw "";
|
|
76
82
|
}
|
|
77
83
|
catch (err) {
|
|
78
|
-
console.warn(`Error to fetch ${
|
|
84
|
+
console.warn(`Error to fetch ${uri} for related images [${resouceKeys.join(", ")}]`, err);
|
|
79
85
|
return null;
|
|
80
86
|
}
|
|
81
87
|
}
|
package/lib/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { getDynamicResourceAsset, getDynamicResourceFont, getProjectFontFamilySt
|
|
|
4
4
|
import { sendIasApiRequest } from "./iasApi";
|
|
5
5
|
import { gameLocalData } from "./localData";
|
|
6
6
|
import { closeGameReader, createSdkApi, reloadGameReader } from "./sdkApi";
|
|
7
|
-
import { gameLoadedSdkCallback } from "./sdkApi/initGame";
|
|
7
|
+
import { gameLoadedSdkCallback, gameLoadFailedSdkCallback } from "./sdkApi/initGame";
|
|
8
8
|
import { openUrl } from "./sdkApi/openUrl";
|
|
9
9
|
import { share } from "./sdkApi/share";
|
|
10
10
|
import { vibrate } from "./sdkApi/vibrate";
|
|
@@ -20,7 +20,7 @@ export type { RequestInfo as APIRequestInfo, Response as APIResponse } from "./i
|
|
|
20
20
|
export type { Placeholder, GameLaunchConfig };
|
|
21
21
|
export type { ProjectFontFamily } from "./gameResources";
|
|
22
22
|
export type { ResourceInterface } from "./ResourceManager";
|
|
23
|
-
export { createSdkApi, closeGameReader, gameLoadedSdkCallback, gameLaunchConfig, isIos, isWeb, isAndroid, isDev, getSdkVersion, getSemverSdkVersion, gameLocalData, sendIasApiRequest, openUrl, share, vibrate, getDynamicResourceAsset, getDynamicResourceFont, getProjectFontFamilyStylesheet, getIsDemoMode, getSessionId, getApiBaseUrl, ScreenOrientation, PlaceholderType, fetchLocalFile, openStory, ResourceManager, dynamicResourceAssets, dynamicResourceFonts, staticResourcesImagePlaceholders, StaticResourceList, eventGame, reloadGameReader, };
|
|
23
|
+
export { createSdkApi, closeGameReader, gameLoadedSdkCallback, gameLoadFailedSdkCallback, gameLaunchConfig, isIos, isWeb, isAndroid, isDev, getSdkVersion, getSemverSdkVersion, gameLocalData, sendIasApiRequest, openUrl, share, vibrate, getDynamicResourceAsset, getDynamicResourceFont, getProjectFontFamilyStylesheet, getIsDemoMode, getSessionId, getApiBaseUrl, ScreenOrientation, PlaceholderType, fetchLocalFile, openStory, ResourceManager, dynamicResourceAssets, dynamicResourceFonts, staticResourcesImagePlaceholders, StaticResourceList, eventGame, reloadGameReader, };
|
|
24
24
|
declare const GameCenterApi: {
|
|
25
25
|
createSdkApi: ({ mounted, beforeUnmount: beforeUnmountCb, onSdkCloseGameReaderIntent, onPause, onResume, onBackGesture, onAudioFocusChange, filterPlaceholders, }: Partial<{
|
|
26
26
|
mounted: () => void;
|
|
@@ -37,6 +37,7 @@ declare const GameCenterApi: {
|
|
|
37
37
|
showClose: boolean;
|
|
38
38
|
backGesture: boolean;
|
|
39
39
|
}>> | undefined) => void;
|
|
40
|
+
gameLoadFailedSdkCallback: (reason: string, canTryReload: boolean) => void;
|
|
40
41
|
gameLaunchConfig: GameLaunchConfig;
|
|
41
42
|
isIos: any;
|
|
42
43
|
isWeb: boolean;
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default = exports.reloadGameReader = exports.eventGame = exports.StaticResourceList = exports.staticResourcesImagePlaceholders = exports.dynamicResourceFonts = exports.dynamicResourceAssets = exports.ResourceManager = exports.openStory = exports.fetchLocalFile = exports.PlaceholderType = exports.ScreenOrientation = exports.getApiBaseUrl = exports.getSessionId = exports.getIsDemoMode = exports.getProjectFontFamilyStylesheet = exports.getDynamicResourceFont = exports.getDynamicResourceAsset = exports.vibrate = exports.share = exports.openUrl = exports.sendIasApiRequest = exports.gameLocalData = exports.getSemverSdkVersion = exports.getSdkVersion = exports.isDev = exports.isAndroid = exports.isWeb = exports.isIos = exports.gameLaunchConfig = exports.gameLoadedSdkCallback = exports.closeGameReader = exports.createSdkApi = void 0;
|
|
3
|
+
exports.default = exports.reloadGameReader = exports.eventGame = exports.StaticResourceList = exports.staticResourcesImagePlaceholders = exports.dynamicResourceFonts = exports.dynamicResourceAssets = exports.ResourceManager = exports.openStory = exports.fetchLocalFile = exports.PlaceholderType = exports.ScreenOrientation = exports.getApiBaseUrl = exports.getSessionId = exports.getIsDemoMode = exports.getProjectFontFamilyStylesheet = exports.getDynamicResourceFont = exports.getDynamicResourceAsset = exports.vibrate = exports.share = exports.openUrl = exports.sendIasApiRequest = exports.gameLocalData = exports.getSemverSdkVersion = exports.getSdkVersion = exports.isDev = exports.isAndroid = exports.isWeb = exports.isIos = exports.gameLaunchConfig = exports.gameLoadFailedSdkCallback = exports.gameLoadedSdkCallback = exports.closeGameReader = exports.createSdkApi = void 0;
|
|
4
4
|
const env_1 = require("./env");
|
|
5
5
|
Object.defineProperty(exports, "getSdkVersion", { enumerable: true, get: function () { return env_1.getSdkVersion; } });
|
|
6
6
|
Object.defineProperty(exports, "getSemverSdkVersion", { enumerable: true, get: function () { return env_1.getSemverSdkVersion; } });
|
|
@@ -31,6 +31,7 @@ Object.defineProperty(exports, "createSdkApi", { enumerable: true, get: function
|
|
|
31
31
|
Object.defineProperty(exports, "reloadGameReader", { enumerable: true, get: function () { return sdkApi_1.reloadGameReader; } });
|
|
32
32
|
const initGame_1 = require("./sdkApi/initGame");
|
|
33
33
|
Object.defineProperty(exports, "gameLoadedSdkCallback", { enumerable: true, get: function () { return initGame_1.gameLoadedSdkCallback; } });
|
|
34
|
+
Object.defineProperty(exports, "gameLoadFailedSdkCallback", { enumerable: true, get: function () { return initGame_1.gameLoadFailedSdkCallback; } });
|
|
34
35
|
const openUrl_1 = require("./sdkApi/openUrl");
|
|
35
36
|
Object.defineProperty(exports, "openUrl", { enumerable: true, get: function () { return openUrl_1.openUrl; } });
|
|
36
37
|
const share_1 = require("./sdkApi/share");
|
|
@@ -52,6 +53,7 @@ const GameCenterApi = {
|
|
|
52
53
|
createSdkApi: sdkApi_1.createSdkApi,
|
|
53
54
|
closeGameReader: sdkApi_1.closeGameReader,
|
|
54
55
|
gameLoadedSdkCallback: initGame_1.gameLoadedSdkCallback,
|
|
56
|
+
gameLoadFailedSdkCallback: initGame_1.gameLoadFailedSdkCallback,
|
|
55
57
|
gameLaunchConfig: gameLaunchConfig_1.gameLaunchConfig,
|
|
56
58
|
isIos: env_1.isIos,
|
|
57
59
|
isWeb: env_1.isWeb,
|