@apps-in-toss/web-bridge 1.8.1 → 1.9.1
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/CHANGELOG.md +16 -0
- package/dist/bridge.d.ts +1 -0
- package/dist/bridge.js +1 -1
- package/dist/getServerTime.d.ts +37 -0
- package/dist/index.cjs +8 -0
- package/dist/index.d.cts +5 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +7 -0
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @apps-in-toss/web-bridge
|
|
2
2
|
|
|
3
|
+
## 1.9.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
[[AIT-3945] getServerTime web-bridge 배포](https://github.toss.bz/toss/apps-in-toss-sdk/pull/31)
|
|
8
|
+
|
|
9
|
+
getServerTime 브릿지에 isSupported 를 추가합니다
|
|
10
|
+
|
|
11
|
+
## 1.9.0
|
|
12
|
+
|
|
13
|
+
### Minor Changes
|
|
14
|
+
|
|
15
|
+
[[AIT-3902] getServerTime 앱브릿지 추가](https://github.toss.bz/toss/apps-in-toss-sdk/pull/24)
|
|
16
|
+
|
|
17
|
+
서버 시간을 가져오는 getServerTime 브릿지를 추가합니다.
|
|
18
|
+
|
|
3
19
|
## 1.8.1
|
|
4
20
|
|
|
5
21
|
## 1.8.0
|
package/dist/bridge.d.ts
CHANGED
|
@@ -28,6 +28,7 @@ export * from './submitGameCenterLeaderBoardScore';
|
|
|
28
28
|
export * from './getUserKeyForGame';
|
|
29
29
|
export * from './getIsTossLoginIntegratedService';
|
|
30
30
|
export * from './grantPromotionRewardForGame';
|
|
31
|
+
export * from './getServerTime';
|
|
31
32
|
export * from './getLocale';
|
|
32
33
|
export * from './getSchemeUri';
|
|
33
34
|
export * from './getPlatformOS';
|
package/dist/bridge.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createAsyncBridge,createConstantBridge,createEventBridge}from"@apps-in-toss/bridge-core";var createEvents=function(){return{emit:function emit(event,args){for(var callbacks=this.events[event]||[],i=0,length=callbacks.length;i<length;i++){callbacks[i](args)}},events:{},on:function on(event,cb){var _this=this;var _this_events,_event;((_this_events=this.events)[_event=event]||(_this_events[_event]=[])).push(cb);return function(){var _this_events_event;_this.events[event]=(_this_events_event=_this.events[event])===null||_this_events_event===void 0?void 0:_this_events_event.filter(function(i){return cb!==i})}}}};if(typeof window!=="undefined"){window.__GRANITE_NATIVE_EMITTER=createEvents()}export var closeView=createAsyncBridge("closeView");export var generateHapticFeedback=createAsyncBridge("generateHapticFeedback");export var share=createAsyncBridge("share");export var setSecureScreen=createAsyncBridge("setSecureScreen");export var setScreenAwakeMode=createAsyncBridge("setScreenAwakeMode");export var getNetworkStatus=createAsyncBridge("getNetworkStatus");export var setIosSwipeGestureEnabled=createAsyncBridge("setIosSwipeGestureEnabled");export var openURL=createAsyncBridge("openURL");export var openPermissionDialog=createAsyncBridge("openPermissionDialog");export var getPermission=createAsyncBridge("getPermission");export var requestPermission=createAsyncBridge("requestPermission");export var setClipboardText=createConstantBridge("setClipboardText");export var getClipboardText=createConstantBridge("getClipboardText");export var fetchContacts=createConstantBridge("fetchContacts");export var fetchAlbumPhotos=createConstantBridge("fetchAlbumPhotos");export var getCurrentLocation=createConstantBridge("getCurrentLocation");export var openCamera=createConstantBridge("openCamera");export var appLogin=createAsyncBridge("appLogin");export var eventLog=createAsyncBridge("eventLog");export var getTossShareLink=createAsyncBridge("getTossShareLink");export var setDeviceOrientation=createAsyncBridge("setDeviceOrientation");export var checkoutPayment=createAsyncBridge("checkoutPayment");export var saveBase64Data=createAsyncBridge("saveBase64Data");export var appsInTossSignTossCert=createAsyncBridge("appsInTossSignTossCert");export var getGameCenterGameProfile=createAsyncBridge("getGameCenterGameProfile");export var openGameCenterLeaderboard=createAsyncBridge("openGameCenterLeaderboard");export var submitGameCenterLeaderBoardScore=createAsyncBridge("submitGameCenterLeaderBoardScore");export var getUserKeyForGame=createAsyncBridge("getUserKeyForGame");export var getIsTossLoginIntegratedService=createAsyncBridge("getIsTossLoginIntegratedService");export var grantPromotionRewardForGame=createAsyncBridge("grantPromotionRewardForGame");export var getLocale=createConstantBridge("getLocale");export var getSchemeUri=createConstantBridge("getSchemeUri");export var getPlatformOS=createConstantBridge("getPlatformOS");export var getOperationalEnvironment=createConstantBridge("getOperationalEnvironment");export var getTossAppVersion=createConstantBridge("getTossAppVersion");export var getDeviceId=createConstantBridge("getDeviceId");export var contactsViral=createEventBridge("contactsViral");export var startUpdateLocation=createEventBridge("startUpdateLocation");export var onVisibilityChangedByTransparentServiceWeb=createEventBridge("onVisibilityChangedByTransparentServiceWeb");
|
|
1
|
+
import{createAsyncBridge,createConstantBridge,createEventBridge}from"@apps-in-toss/bridge-core";var createEvents=function(){return{emit:function emit(event,args){for(var callbacks=this.events[event]||[],i=0,length=callbacks.length;i<length;i++){callbacks[i](args)}},events:{},on:function on(event,cb){var _this=this;var _this_events,_event;((_this_events=this.events)[_event=event]||(_this_events[_event]=[])).push(cb);return function(){var _this_events_event;_this.events[event]=(_this_events_event=_this.events[event])===null||_this_events_event===void 0?void 0:_this_events_event.filter(function(i){return cb!==i})}}}};if(typeof window!=="undefined"){window.__GRANITE_NATIVE_EMITTER=createEvents()}export var closeView=createAsyncBridge("closeView");export var generateHapticFeedback=createAsyncBridge("generateHapticFeedback");export var share=createAsyncBridge("share");export var setSecureScreen=createAsyncBridge("setSecureScreen");export var setScreenAwakeMode=createAsyncBridge("setScreenAwakeMode");export var getNetworkStatus=createAsyncBridge("getNetworkStatus");export var setIosSwipeGestureEnabled=createAsyncBridge("setIosSwipeGestureEnabled");export var openURL=createAsyncBridge("openURL");export var openPermissionDialog=createAsyncBridge("openPermissionDialog");export var getPermission=createAsyncBridge("getPermission");export var requestPermission=createAsyncBridge("requestPermission");export var setClipboardText=createConstantBridge("setClipboardText");export var getClipboardText=createConstantBridge("getClipboardText");export var fetchContacts=createConstantBridge("fetchContacts");export var fetchAlbumPhotos=createConstantBridge("fetchAlbumPhotos");export var getCurrentLocation=createConstantBridge("getCurrentLocation");export var openCamera=createConstantBridge("openCamera");export var appLogin=createAsyncBridge("appLogin");export var eventLog=createAsyncBridge("eventLog");export var getTossShareLink=createAsyncBridge("getTossShareLink");export var setDeviceOrientation=createAsyncBridge("setDeviceOrientation");export var checkoutPayment=createAsyncBridge("checkoutPayment");export var saveBase64Data=createAsyncBridge("saveBase64Data");export var appsInTossSignTossCert=createAsyncBridge("appsInTossSignTossCert");export var getGameCenterGameProfile=createAsyncBridge("getGameCenterGameProfile");export var openGameCenterLeaderboard=createAsyncBridge("openGameCenterLeaderboard");export var submitGameCenterLeaderBoardScore=createAsyncBridge("submitGameCenterLeaderBoardScore");export var getUserKeyForGame=createAsyncBridge("getUserKeyForGame");export var getIsTossLoginIntegratedService=createAsyncBridge("getIsTossLoginIntegratedService");export var grantPromotionRewardForGame=createAsyncBridge("grantPromotionRewardForGame");export var getServerTime=createAsyncBridge("getServerTime");export var getLocale=createConstantBridge("getLocale");export var getSchemeUri=createConstantBridge("getSchemeUri");export var getPlatformOS=createConstantBridge("getPlatformOS");export var getOperationalEnvironment=createConstantBridge("getOperationalEnvironment");export var getTossAppVersion=createConstantBridge("getTossAppVersion");export var getDeviceId=createConstantBridge("getDeviceId");export var contactsViral=createEventBridge("contactsViral");export var startUpdateLocation=createEventBridge("startUpdateLocation");export var onVisibilityChangedByTransparentServiceWeb=createEventBridge("onVisibilityChangedByTransparentServiceWeb");
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @public
|
|
3
|
+
* @category 시간
|
|
4
|
+
* @name getServerTime
|
|
5
|
+
* @description
|
|
6
|
+
* 토스 앱 서버의 현재 시간을 Unix timestamp 형식으로 가져와요.
|
|
7
|
+
* 디바이스 시간이 아닌 서버 기준 시간을 반환하므로 클라이언트 시간 조작에 따른 보상 중복 수령 등의 치팅을 방지할 수 있어요.
|
|
8
|
+
*
|
|
9
|
+
* @returns {Promise<number | undefined>} 서버 시간을 Unix timestamp 밀리초 단위로 반환해요. (예: 1705123456789) 지원하지 않는 버전에서는 `undefined`를 반환해요.
|
|
10
|
+
* @property {() => boolean} isSupported 현재 앱 버전이 이 기능을 지원하는지 확인하는 함수예요.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```tsx
|
|
14
|
+
* import { getServerTime } from '@apps-in-toss/web-framework';
|
|
15
|
+
*
|
|
16
|
+
* async function checkRewardEligibility() {
|
|
17
|
+
* // 버전 체크를 먼저 수행하는 것을 권장해요
|
|
18
|
+
* if (!getServerTime.isSupported()) {
|
|
19
|
+
* console.log('이 기능은 지원되지 않는 버전입니다.');
|
|
20
|
+
* return;
|
|
21
|
+
* }
|
|
22
|
+
*
|
|
23
|
+
* const serverTime = await getServerTime();
|
|
24
|
+
* const rewardDeadline = 1705200000000;
|
|
25
|
+
*
|
|
26
|
+
* if (serverTime && serverTime > rewardDeadline) {
|
|
27
|
+
* console.log('보상 수령 기간이 지났습니다.');
|
|
28
|
+
* }
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare function getServerTime(): Promise<number | undefined>;
|
|
33
|
+
export declare namespace getServerTime {
|
|
34
|
+
var isSupported: () => boolean;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export {};
|
package/dist/index.cjs
CHANGED
|
@@ -35,6 +35,7 @@ __export(index_exports, {
|
|
|
35
35
|
getClipboardText: () => getClipboardText,
|
|
36
36
|
getCurrentLocation: () => getCurrentLocation,
|
|
37
37
|
getSafeAreaInsets: () => getSafeAreaInsets,
|
|
38
|
+
getServerTime: () => getServerTime,
|
|
38
39
|
graniteEvent: () => graniteEvent,
|
|
39
40
|
isMinVersionSupported: () => isMinVersionSupported,
|
|
40
41
|
loadFullScreenAd: () => loadFullScreenAd,
|
|
@@ -1102,6 +1103,12 @@ var TossAds = {
|
|
|
1102
1103
|
})
|
|
1103
1104
|
};
|
|
1104
1105
|
|
|
1106
|
+
// src/getServerTime.ts
|
|
1107
|
+
var import_bridge_core24 = require("@apps-in-toss/bridge-core");
|
|
1108
|
+
var getServerTime = Object.assign((0, import_bridge_core24.createAsyncBridge)("getServerTime"), {
|
|
1109
|
+
isSupported: (0, import_bridge_core24.createConstantBridge)("getServerTime_isSupported")
|
|
1110
|
+
});
|
|
1111
|
+
|
|
1105
1112
|
// src/index.ts
|
|
1106
1113
|
__reExport(index_exports, require("@apps-in-toss/types"), module.exports);
|
|
1107
1114
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -1119,6 +1126,7 @@ __reExport(index_exports, require("@apps-in-toss/types"), module.exports);
|
|
|
1119
1126
|
getClipboardText,
|
|
1120
1127
|
getCurrentLocation,
|
|
1121
1128
|
getSafeAreaInsets,
|
|
1129
|
+
getServerTime,
|
|
1122
1130
|
graniteEvent,
|
|
1123
1131
|
isMinVersionSupported,
|
|
1124
1132
|
loadFullScreenAd,
|
package/dist/index.d.cts
CHANGED
|
@@ -889,4 +889,8 @@ declare const TossAds: {
|
|
|
889
889
|
};
|
|
890
890
|
};
|
|
891
891
|
|
|
892
|
-
|
|
892
|
+
declare const getServerTime: (() => Promise<number | undefined>) & {
|
|
893
|
+
isSupported: () => boolean;
|
|
894
|
+
};
|
|
895
|
+
|
|
896
|
+
export { type AddAccessoryButtonOptions, type AppsInTossEvent, type AppsInTossGlobals, type CompletedOrRefundedOrdersResult, GoogleAdMob, type GraniteEvent, IAP, type IapCreateOneTimePurchaseOrderOptions, type IapProductListItem, SafeAreaInsets$1 as SafeAreaInsets, Storage, type TdsEvent, TossAds, type AttachOptions as TossAdsAttachOptions, type BannerSlotCallbacks as TossAdsBannerSlotCallbacks, type BannerSlotErrorPayload as TossAdsBannerSlotErrorPayload, type BannerSlotEventPayload as TossAdsBannerSlotEventPayload, type InitializeOptions as TossAdsInitializeOptions, appsInTossEvent, env, fetchAlbumPhotos, fetchContacts, getAppsInTossGlobals, getClipboardText, getCurrentLocation, getSafeAreaInsets, getServerTime, graniteEvent, isMinVersionSupported, loadFullScreenAd, openCamera, partner, setClipboardText, showFullScreenAd, startUpdateLocation, tdsEvent };
|
package/dist/index.d.ts
CHANGED
|
@@ -889,4 +889,8 @@ declare const TossAds: {
|
|
|
889
889
|
};
|
|
890
890
|
};
|
|
891
891
|
|
|
892
|
-
|
|
892
|
+
declare const getServerTime: (() => Promise<number | undefined>) & {
|
|
893
|
+
isSupported: () => boolean;
|
|
894
|
+
};
|
|
895
|
+
|
|
896
|
+
export { type AddAccessoryButtonOptions, type AppsInTossEvent, type AppsInTossGlobals, type CompletedOrRefundedOrdersResult, GoogleAdMob, type GraniteEvent, IAP, type IapCreateOneTimePurchaseOrderOptions, type IapProductListItem, SafeAreaInsets$1 as SafeAreaInsets, Storage, type TdsEvent, TossAds, type AttachOptions as TossAdsAttachOptions, type BannerSlotCallbacks as TossAdsBannerSlotCallbacks, type BannerSlotErrorPayload as TossAdsBannerSlotErrorPayload, type BannerSlotEventPayload as TossAdsBannerSlotEventPayload, type InitializeOptions as TossAdsInitializeOptions, appsInTossEvent, env, fetchAlbumPhotos, fetchContacts, getAppsInTossGlobals, getClipboardText, getCurrentLocation, getSafeAreaInsets, getServerTime, graniteEvent, isMinVersionSupported, loadFullScreenAd, openCamera, partner, setClipboardText, showFullScreenAd, startUpdateLocation, tdsEvent };
|
package/dist/index.js
CHANGED
|
@@ -1061,6 +1061,12 @@ var TossAds = {
|
|
|
1061
1061
|
})
|
|
1062
1062
|
};
|
|
1063
1063
|
|
|
1064
|
+
// src/getServerTime.ts
|
|
1065
|
+
import { createAsyncBridge as createAsyncBridge15, createConstantBridge as createConstantBridge9 } from "@apps-in-toss/bridge-core";
|
|
1066
|
+
var getServerTime = Object.assign(createAsyncBridge15("getServerTime"), {
|
|
1067
|
+
isSupported: createConstantBridge9("getServerTime_isSupported")
|
|
1068
|
+
});
|
|
1069
|
+
|
|
1064
1070
|
// src/index.ts
|
|
1065
1071
|
export * from "@apps-in-toss/types";
|
|
1066
1072
|
export {
|
|
@@ -1077,6 +1083,7 @@ export {
|
|
|
1077
1083
|
getClipboardText,
|
|
1078
1084
|
getCurrentLocation,
|
|
1079
1085
|
getSafeAreaInsets,
|
|
1086
|
+
getServerTime,
|
|
1080
1087
|
graniteEvent,
|
|
1081
1088
|
isMinVersionSupported,
|
|
1082
1089
|
loadFullScreenAd,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apps-in-toss/web-bridge",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.9.1",
|
|
5
5
|
"description": "Web Bridge for Apps In Toss",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"typecheck": "tsc --noEmit",
|
|
@@ -27,11 +27,11 @@
|
|
|
27
27
|
"dist"
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@apps-in-toss/types": "1.
|
|
30
|
+
"@apps-in-toss/types": "1.9.1"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@apps-in-toss/bridge-core": "1.
|
|
34
|
-
"@apps-in-toss/framework": "1.
|
|
33
|
+
"@apps-in-toss/bridge-core": "1.9.1",
|
|
34
|
+
"@apps-in-toss/framework": "1.9.1",
|
|
35
35
|
"@swc/core": "^1.12.7",
|
|
36
36
|
"picocolors": "^1.1.1",
|
|
37
37
|
"ts-morph": "^26.0.0",
|