@apps-in-toss/devtools 3.2.0 → 3.4.0

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/mock/2x.d.ts CHANGED
@@ -604,6 +604,43 @@ declare const requestTossPayPaysBilling: ((options: {
604
604
  isSupported: () => true;
605
605
  };
606
606
  //#endregion
607
+ //#region src/mock/viral/index.d.ts
608
+ /** 바이럴 캠페인 조회 mock이에요. */
609
+ declare function getViralCampaign(params: {
610
+ campaignId: string;
611
+ }): Promise<{
612
+ campaignId: string;
613
+ benefitName: string;
614
+ display: {
615
+ title: string | null;
616
+ benefitText: string | null;
617
+ conditionText: string | null;
618
+ ctaText: string | null;
619
+ };
620
+ active: boolean;
621
+ campaignStatus: "WAITING" | "IN_PROGRESS" | "ENDED";
622
+ participationAvailable: boolean;
623
+ participationUnavailableReason: "INACTIVE" | "NOT_STARTED" | "ENDED" | "ALL_RULES_ACHIEVED" | null;
624
+ rules: Array<{
625
+ ruleId: string;
626
+ ruleKey: string;
627
+ revision: number;
628
+ title: string;
629
+ currentValue: number;
630
+ targetValue: number;
631
+ status: "IN_PROGRESS" | "ACHIEVED" | "EXPIRED";
632
+ achievedAt: string | null;
633
+ }>;
634
+ }>;
635
+ /** 바이럴 캠페인 공유 mock이에요. */
636
+ declare function shareViralCampaign(params: {
637
+ campaignId: string;
638
+ }): Promise<void>;
639
+ /** 파트너사 바이럴 캠페인 보상 지급 시점 기록 mock이에요. */
640
+ declare function trackViral(params: {
641
+ eventName: string;
642
+ }): Promise<void>;
643
+ //#endregion
607
644
  //#region src/mock/navigation/index.d.ts
608
645
  declare function closeView(): Promise<void>;
609
646
  declare function openURL(url: string): Promise<void>;
@@ -1143,4 +1180,4 @@ declare function listUserPresets(): MockPreset[];
1143
1180
  declare function saveUserPreset(label: string, state: MockPresetState, description?: string): MockPreset;
1144
1181
  declare function deleteUserPreset(id: string): void;
1145
1182
  //#endregion
1146
- export { Accuracy, type AitDevtoolsState, Analytics, type AnalyticsLogEntry, type ConsentedUserData, type ConsentedUserDataKey, type DeclaredAgeRange, type DeviceApiMode, type DeviceModes, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, type HapticFeedbackType, IAP, type IapNextResult, type LocationCoords, type MockContact, type MockData, type MockIapProduct, type MockLocation, type MockPreset, type MockPresetState, type NetworkStatus, OpenCameraPermissionError, type OperationalEnvironment, PermissionError, type PermissionName, type PermissionStatus, type PlatformOS, type Primitive, SafeAreaInsets, type SafeAreaInsets$1 as SafeAreaInsetsType, SetClipboardTextPermissionError, StartUpdateLocationPermissionError, Storage, TossAds, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent };
1183
+ export { Accuracy, type AitDevtoolsState, Analytics, type AnalyticsLogEntry, type ConsentedUserData, type ConsentedUserDataKey, type DeclaredAgeRange, type DeviceApiMode, type DeviceModes, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, type HapticFeedbackType, IAP, type IapNextResult, type LocationCoords, type MockContact, type MockData, type MockIapProduct, type MockLocation, type MockPreset, type MockPresetState, type NetworkStatus, OpenCameraPermissionError, type OperationalEnvironment, PermissionError, type PermissionName, type PermissionStatus, type PlatformOS, type Primitive, SafeAreaInsets, type SafeAreaInsets$1 as SafeAreaInsetsType, SetClipboardTextPermissionError, StartUpdateLocationPermissionError, Storage, TossAds, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, getViralCampaign, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, shareViralCampaign, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent, trackViral };
package/dist/mock/2x.js CHANGED
@@ -1932,6 +1932,44 @@ function getSafeAreaInsets() {
1932
1932
  return Promise.resolve({ ...aitState.state.safeAreaInsets });
1933
1933
  }
1934
1934
  //#endregion
1935
+ //#region src/mock/viral/index.ts
1936
+ /** 바이럴 캠페인 조회 mock이에요. */
1937
+ async function getViralCampaign(params) {
1938
+ console.log("[@apps-in-toss/devtools] getViralCampaign:", params.campaignId);
1939
+ return {
1940
+ campaignId: params.campaignId,
1941
+ benefitName: "mock-benefit",
1942
+ display: {
1943
+ title: "바이럴 캠페인 제목",
1944
+ benefitText: "친구를 초대하면 리워드를 받아요",
1945
+ conditionText: "3명 초대 시 달성",
1946
+ ctaText: "공유하기"
1947
+ },
1948
+ active: true,
1949
+ campaignStatus: "IN_PROGRESS",
1950
+ participationAvailable: true,
1951
+ participationUnavailableReason: null,
1952
+ rules: [{
1953
+ ruleId: "rule-1",
1954
+ ruleKey: "invite",
1955
+ revision: 1,
1956
+ title: "친구 3명 초대",
1957
+ currentValue: 1,
1958
+ targetValue: 3,
1959
+ status: "IN_PROGRESS",
1960
+ achievedAt: null
1961
+ }]
1962
+ };
1963
+ }
1964
+ /** 바이럴 캠페인 공유 mock이에요. */
1965
+ async function shareViralCampaign(params) {
1966
+ console.log("[@apps-in-toss/devtools] shareViralCampaign:", params.campaignId);
1967
+ }
1968
+ /** 파트너사 바이럴 캠페인 보상 지급 시점 기록 mock이에요. */
1969
+ async function trackViral(params) {
1970
+ console.log("[@apps-in-toss/devtools] trackViral:", params.eventName);
1971
+ }
1972
+ //#endregion
1935
1973
  //#region src/mock/bridge-factories.ts
1936
1974
  /** Generic bridge escape hatches exposed by both SDK lines. */
1937
1975
  const asyncBridgeRegistry = {
@@ -1945,11 +1983,14 @@ const asyncBridgeRegistry = {
1945
1983
  getDeclaredAgeRange,
1946
1984
  getNetworkStatus,
1947
1985
  getServerTime,
1986
+ getViralCampaign,
1948
1987
  openPDFViewer,
1949
1988
  openURL,
1950
1989
  requestReview,
1951
1990
  saveBase64Data,
1952
- share
1991
+ share,
1992
+ shareViralCampaign,
1993
+ trackViral
1953
1994
  };
1954
1995
  function createAsyncBridge(method) {
1955
1996
  return async (...args) => {
@@ -2387,4 +2428,4 @@ function captureCurrentState(snapshot) {
2387
2428
  };
2388
2429
  }
2389
2430
  //#endregion
2390
- export { Accuracy, Analytics, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, IAP, OpenCameraPermissionError, PermissionError, SafeAreaInsets, SetClipboardTextPermissionError, StartUpdateLocationPermissionError, Storage, TossAds, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent };
2431
+ export { Accuracy, Analytics, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, IAP, OpenCameraPermissionError, PermissionError, SafeAreaInsets, SetClipboardTextPermissionError, StartUpdateLocationPermissionError, Storage, TossAds, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, getViralCampaign, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, shareViralCampaign, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent, trackViral };
package/dist/mock/3x.d.ts CHANGED
@@ -197,6 +197,7 @@ declare const Storage: typeof SDK.Storage;
197
197
  declare const TossAuth: typeof SDK.TossAuth;
198
198
  declare const TossPay: typeof SDK.TossPay;
199
199
  declare const User: typeof SDK.User;
200
+ declare const Viral: typeof SDK.Viral;
200
201
  //#endregion
201
202
  //#region src/mock/ads/index.d.ts
202
203
  declare const TossAds: {
@@ -567,6 +568,43 @@ declare function checkoutPayment(options: {
567
568
  reason?: string;
568
569
  }>;
569
570
  //#endregion
571
+ //#region src/mock/viral/index.d.ts
572
+ /** 바이럴 캠페인 조회 mock이에요. */
573
+ declare function getViralCampaign(params: {
574
+ campaignId: string;
575
+ }): Promise<{
576
+ campaignId: string;
577
+ benefitName: string;
578
+ display: {
579
+ title: string | null;
580
+ benefitText: string | null;
581
+ conditionText: string | null;
582
+ ctaText: string | null;
583
+ };
584
+ active: boolean;
585
+ campaignStatus: "WAITING" | "IN_PROGRESS" | "ENDED";
586
+ participationAvailable: boolean;
587
+ participationUnavailableReason: "INACTIVE" | "NOT_STARTED" | "ENDED" | "ALL_RULES_ACHIEVED" | null;
588
+ rules: Array<{
589
+ ruleId: string;
590
+ ruleKey: string;
591
+ revision: number;
592
+ title: string;
593
+ currentValue: number;
594
+ targetValue: number;
595
+ status: "IN_PROGRESS" | "ACHIEVED" | "EXPIRED";
596
+ achievedAt: string | null;
597
+ }>;
598
+ }>;
599
+ /** 바이럴 캠페인 공유 mock이에요. */
600
+ declare function shareViralCampaign(params: {
601
+ campaignId: string;
602
+ }): Promise<void>;
603
+ /** 파트너사 바이럴 캠페인 보상 지급 시점 기록 mock이에요. */
604
+ declare function trackViral(params: {
605
+ eventName: string;
606
+ }): Promise<void>;
607
+ //#endregion
570
608
  //#region src/mock/navigation/index.d.ts
571
609
  declare function closeView(): Promise<void>;
572
610
  declare function openURL(url: string): Promise<void>;
@@ -1033,4 +1071,4 @@ declare function listUserPresets(): MockPreset[];
1033
1071
  declare function saveUserPreset(label: string, state: MockPresetState, description?: string): MockPreset;
1034
1072
  declare function deleteUserPreset(id: string): void;
1035
1073
  //#endregion
1036
- export { Accuracy, type AitDevtoolsState, Analytics, type AnalyticsLogEntry, Clipboard, type ConsentedUserData, type ConsentedUserDataKey, type DeclaredAgeRange, Device, type DeviceApiMode, type DeviceModes, Environment, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, File, Game, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, type HapticFeedbackType, IAP, type IapNextResult, type LocationCoords, Migration, type MockContact, type MockData, type MockIapProduct, type MockLocation, type MockPreset, type MockPresetState, type NetworkStatus, Notification, OpenCameraPermissionError, type OperationalEnvironment, PermissionError, type PermissionName, type PermissionStatus, type PlatformOS, type Primitive, Promotion, Review, SafeArea, SafeAreaInsets, type SafeAreaInsets$1 as SafeAreaInsetsType, Screen, SetClipboardTextPermissionError, Share, StartUpdateLocationPermissionError, Storage, TossAds, TossAuth, TossPay, User, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent };
1074
+ export { Accuracy, type AitDevtoolsState, Analytics, type AnalyticsLogEntry, Clipboard, type ConsentedUserData, type ConsentedUserDataKey, type DeclaredAgeRange, Device, type DeviceApiMode, type DeviceModes, Environment, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, File, Game, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, type HapticFeedbackType, IAP, type IapNextResult, type LocationCoords, Migration, type MockContact, type MockData, type MockIapProduct, type MockLocation, type MockPreset, type MockPresetState, type NetworkStatus, Notification, OpenCameraPermissionError, type OperationalEnvironment, PermissionError, type PermissionName, type PermissionStatus, type PlatformOS, type Primitive, Promotion, Review, SafeArea, SafeAreaInsets, type SafeAreaInsets$1 as SafeAreaInsetsType, Screen, SetClipboardTextPermissionError, Share, StartUpdateLocationPermissionError, Storage, TossAds, TossAuth, TossPay, User, Viral, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, getViralCampaign, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, shareViralCampaign, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent, trackViral };
package/dist/mock/3x.js CHANGED
@@ -1865,6 +1865,44 @@ const SafeAreaInsets = {
1865
1865
  }
1866
1866
  };
1867
1867
  //#endregion
1868
+ //#region src/mock/viral/index.ts
1869
+ /** 바이럴 캠페인 조회 mock이에요. */
1870
+ async function getViralCampaign(params) {
1871
+ console.log("[@apps-in-toss/devtools] getViralCampaign:", params.campaignId);
1872
+ return {
1873
+ campaignId: params.campaignId,
1874
+ benefitName: "mock-benefit",
1875
+ display: {
1876
+ title: "바이럴 캠페인 제목",
1877
+ benefitText: "친구를 초대하면 리워드를 받아요",
1878
+ conditionText: "3명 초대 시 달성",
1879
+ ctaText: "공유하기"
1880
+ },
1881
+ active: true,
1882
+ campaignStatus: "IN_PROGRESS",
1883
+ participationAvailable: true,
1884
+ participationUnavailableReason: null,
1885
+ rules: [{
1886
+ ruleId: "rule-1",
1887
+ ruleKey: "invite",
1888
+ revision: 1,
1889
+ title: "친구 3명 초대",
1890
+ currentValue: 1,
1891
+ targetValue: 3,
1892
+ status: "IN_PROGRESS",
1893
+ achievedAt: null
1894
+ }]
1895
+ };
1896
+ }
1897
+ /** 바이럴 캠페인 공유 mock이에요. */
1898
+ async function shareViralCampaign(params) {
1899
+ console.log("[@apps-in-toss/devtools] shareViralCampaign:", params.campaignId);
1900
+ }
1901
+ /** 파트너사 바이럴 캠페인 보상 지급 시점 기록 mock이에요. */
1902
+ async function trackViral(params) {
1903
+ console.log("[@apps-in-toss/devtools] trackViral:", params.eventName);
1904
+ }
1905
+ //#endregion
1868
1906
  //#region src/mock/bridge-factories.ts
1869
1907
  /** Generic bridge escape hatches exposed by both SDK lines. */
1870
1908
  const asyncBridgeRegistry = {
@@ -1878,11 +1916,14 @@ const asyncBridgeRegistry = {
1878
1916
  getDeclaredAgeRange: getDeclaredAgeRange$1,
1879
1917
  getNetworkStatus,
1880
1918
  getServerTime: getServerTime$1,
1919
+ getViralCampaign,
1881
1920
  openPDFViewer: openPDFViewer$1,
1882
1921
  openURL,
1883
1922
  requestReview: requestReview$1,
1884
1923
  saveBase64Data: saveBase64Data$1,
1885
- share
1924
+ share,
1925
+ shareViralCampaign,
1926
+ trackViral
1886
1927
  };
1887
1928
  function createAsyncBridge(method) {
1888
1929
  return async (...args) => {
@@ -2614,5 +2655,10 @@ const User = {
2614
2655
  getConsentedData: getConsentedUserData,
2615
2656
  getDeclaredAgeRange
2616
2657
  };
2658
+ const Viral = {
2659
+ getCampaign: getViralCampaign,
2660
+ share: shareViralCampaign,
2661
+ track: trackViral
2662
+ };
2617
2663
  //#endregion
2618
- export { Accuracy, Analytics, Clipboard, Device, Environment, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, File, Game, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, IAP, Migration, Notification, OpenCameraPermissionError, PermissionError, Promotion, Review, SafeArea, SafeAreaInsets, Screen, SetClipboardTextPermissionError, Share, StartUpdateLocationPermissionError, Storage, TossAds, TossAuth, TossPay, User, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent };
2664
+ export { Accuracy, Analytics, Clipboard, Device, Environment, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, File, Game, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, IAP, Migration, Notification, OpenCameraPermissionError, PermissionError, Promotion, Review, SafeArea, SafeAreaInsets, Screen, SetClipboardTextPermissionError, Share, StartUpdateLocationPermissionError, Storage, TossAds, TossAuth, TossPay, User, Viral, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, getViralCampaign, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, shareViralCampaign, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent, trackViral };
@@ -197,6 +197,7 @@ declare const Storage: typeof SDK.Storage;
197
197
  declare const TossAuth: typeof SDK.TossAuth;
198
198
  declare const TossPay: typeof SDK.TossPay;
199
199
  declare const User: typeof SDK.User;
200
+ declare const Viral: typeof SDK.Viral;
200
201
  //#endregion
201
202
  //#region src/mock/ads/index.d.ts
202
203
  declare const TossAds: {
@@ -567,6 +568,43 @@ declare function checkoutPayment(options: {
567
568
  reason?: string;
568
569
  }>;
569
570
  //#endregion
571
+ //#region src/mock/viral/index.d.ts
572
+ /** 바이럴 캠페인 조회 mock이에요. */
573
+ declare function getViralCampaign(params: {
574
+ campaignId: string;
575
+ }): Promise<{
576
+ campaignId: string;
577
+ benefitName: string;
578
+ display: {
579
+ title: string | null;
580
+ benefitText: string | null;
581
+ conditionText: string | null;
582
+ ctaText: string | null;
583
+ };
584
+ active: boolean;
585
+ campaignStatus: "WAITING" | "IN_PROGRESS" | "ENDED";
586
+ participationAvailable: boolean;
587
+ participationUnavailableReason: "INACTIVE" | "NOT_STARTED" | "ENDED" | "ALL_RULES_ACHIEVED" | null;
588
+ rules: Array<{
589
+ ruleId: string;
590
+ ruleKey: string;
591
+ revision: number;
592
+ title: string;
593
+ currentValue: number;
594
+ targetValue: number;
595
+ status: "IN_PROGRESS" | "ACHIEVED" | "EXPIRED";
596
+ achievedAt: string | null;
597
+ }>;
598
+ }>;
599
+ /** 바이럴 캠페인 공유 mock이에요. */
600
+ declare function shareViralCampaign(params: {
601
+ campaignId: string;
602
+ }): Promise<void>;
603
+ /** 파트너사 바이럴 캠페인 보상 지급 시점 기록 mock이에요. */
604
+ declare function trackViral(params: {
605
+ eventName: string;
606
+ }): Promise<void>;
607
+ //#endregion
570
608
  //#region src/mock/navigation/index.d.ts
571
609
  declare function closeView(): Promise<void>;
572
610
  declare function openURL(url: string): Promise<void>;
@@ -1033,4 +1071,4 @@ declare function listUserPresets(): MockPreset[];
1033
1071
  declare function saveUserPreset(label: string, state: MockPresetState, description?: string): MockPreset;
1034
1072
  declare function deleteUserPreset(id: string): void;
1035
1073
  //#endregion
1036
- export { Accuracy, type AitDevtoolsState, Analytics, type AnalyticsLogEntry, Clipboard, type ConsentedUserData, type ConsentedUserDataKey, type DeclaredAgeRange, Device, type DeviceApiMode, type DeviceModes, Environment, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, File, Game, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, type HapticFeedbackType, IAP, type IapNextResult, type LocationCoords, Migration, type MockContact, type MockData, type MockIapProduct, type MockLocation, type MockPreset, type MockPresetState, type NetworkStatus, Notification, OpenCameraPermissionError, type OperationalEnvironment, PermissionError, type PermissionName, type PermissionStatus, type PlatformOS, type Primitive, Promotion, Review, SafeArea, SafeAreaInsets, type SafeAreaInsets$1 as SafeAreaInsetsType, Screen, SetClipboardTextPermissionError, Share, StartUpdateLocationPermissionError, Storage, TossAds, TossAuth, TossPay, User, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent };
1074
+ export { Accuracy, type AitDevtoolsState, Analytics, type AnalyticsLogEntry, Clipboard, type ConsentedUserData, type ConsentedUserDataKey, type DeclaredAgeRange, Device, type DeviceApiMode, type DeviceModes, Environment, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, File, Game, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, type HapticFeedbackType, IAP, type IapNextResult, type LocationCoords, Migration, type MockContact, type MockData, type MockIapProduct, type MockLocation, type MockPreset, type MockPresetState, type NetworkStatus, Notification, OpenCameraPermissionError, type OperationalEnvironment, PermissionError, type PermissionName, type PermissionStatus, type PlatformOS, type Primitive, Promotion, Review, SafeArea, SafeAreaInsets, type SafeAreaInsets$1 as SafeAreaInsetsType, Screen, SetClipboardTextPermissionError, Share, StartUpdateLocationPermissionError, Storage, TossAds, TossAuth, TossPay, User, Viral, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, getViralCampaign, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, shareViralCampaign, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent, trackViral };
@@ -1865,6 +1865,44 @@ const SafeAreaInsets = {
1865
1865
  }
1866
1866
  };
1867
1867
  //#endregion
1868
+ //#region src/mock/viral/index.ts
1869
+ /** 바이럴 캠페인 조회 mock이에요. */
1870
+ async function getViralCampaign(params) {
1871
+ console.log("[@apps-in-toss/devtools] getViralCampaign:", params.campaignId);
1872
+ return {
1873
+ campaignId: params.campaignId,
1874
+ benefitName: "mock-benefit",
1875
+ display: {
1876
+ title: "바이럴 캠페인 제목",
1877
+ benefitText: "친구를 초대하면 리워드를 받아요",
1878
+ conditionText: "3명 초대 시 달성",
1879
+ ctaText: "공유하기"
1880
+ },
1881
+ active: true,
1882
+ campaignStatus: "IN_PROGRESS",
1883
+ participationAvailable: true,
1884
+ participationUnavailableReason: null,
1885
+ rules: [{
1886
+ ruleId: "rule-1",
1887
+ ruleKey: "invite",
1888
+ revision: 1,
1889
+ title: "친구 3명 초대",
1890
+ currentValue: 1,
1891
+ targetValue: 3,
1892
+ status: "IN_PROGRESS",
1893
+ achievedAt: null
1894
+ }]
1895
+ };
1896
+ }
1897
+ /** 바이럴 캠페인 공유 mock이에요. */
1898
+ async function shareViralCampaign(params) {
1899
+ console.log("[@apps-in-toss/devtools] shareViralCampaign:", params.campaignId);
1900
+ }
1901
+ /** 파트너사 바이럴 캠페인 보상 지급 시점 기록 mock이에요. */
1902
+ async function trackViral(params) {
1903
+ console.log("[@apps-in-toss/devtools] trackViral:", params.eventName);
1904
+ }
1905
+ //#endregion
1868
1906
  //#region src/mock/bridge-factories.ts
1869
1907
  /** Generic bridge escape hatches exposed by both SDK lines. */
1870
1908
  const asyncBridgeRegistry = {
@@ -1878,11 +1916,14 @@ const asyncBridgeRegistry = {
1878
1916
  getDeclaredAgeRange: getDeclaredAgeRange$1,
1879
1917
  getNetworkStatus,
1880
1918
  getServerTime: getServerTime$1,
1919
+ getViralCampaign,
1881
1920
  openPDFViewer: openPDFViewer$1,
1882
1921
  openURL,
1883
1922
  requestReview: requestReview$1,
1884
1923
  saveBase64Data: saveBase64Data$1,
1885
- share
1924
+ share,
1925
+ shareViralCampaign,
1926
+ trackViral
1886
1927
  };
1887
1928
  function createAsyncBridge(method) {
1888
1929
  return async (...args) => {
@@ -2614,5 +2655,10 @@ const User = {
2614
2655
  getConsentedData: getConsentedUserData,
2615
2656
  getDeclaredAgeRange
2616
2657
  };
2658
+ const Viral = {
2659
+ getCampaign: getViralCampaign,
2660
+ share: shareViralCampaign,
2661
+ track: trackViral
2662
+ };
2617
2663
  //#endregion
2618
- export { Accuracy, Analytics, Clipboard, Device, Environment, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, File, Game, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, IAP, Migration, Notification, OpenCameraPermissionError, PermissionError, Promotion, Review, SafeArea, SafeAreaInsets, Screen, SetClipboardTextPermissionError, Share, StartUpdateLocationPermissionError, Storage, TossAds, TossAuth, TossPay, User, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent };
2664
+ export { Accuracy, Analytics, Clipboard, Device, Environment, FetchAlbumPhotosPermissionError, FetchContactsPermissionError, File, Game, GetClipboardTextPermissionError, GetCurrentLocationPermissionError, GoogleAdMob, IAP, Migration, Notification, OpenCameraPermissionError, PermissionError, Promotion, Review, SafeArea, SafeAreaInsets, Screen, SetClipboardTextPermissionError, Share, StartUpdateLocationPermissionError, Storage, TossAds, TossAuth, TossPay, User, Viral, aitState, appLogin, applyPreset, appsInTossEvent, appsInTossSignTossCert, builtInPresets, captureCurrentState, checkoutPayment, closeView, contactsViral, createAsyncBridge, createConstantBridge, createEventBridge, deleteUserPreset, env, eventLog, fetchAlbumItems, fetchAlbumPhotos, fetchContacts, generateHapticFeedback, getAnonymousKey, getAppsInTossGlobals, getClipboardText, getConsentedUserData, getCurrentLocation, getDeclaredAgeRange, getDefaultPlaceholderImages, getDeviceId, getGameCenterGameProfile, getGroupId, getIsTossLoginIntegratedService, getLocale, getNetworkStatus, getOperationalEnvironment, getPermission, getPlatformOS, getSafeAreaInsets, getSchemeUri, getServerTime, getTossAppVersion, getTossShareLink, getUserKeyForGame, getViralCampaign, graniteEvent, grantPromotionReward, grantPromotionRewardForGame, isMinVersionSupported, listUserPresets, loadFullScreenAd, matchesPreset, onVisibilityChangedByTransparentServiceWeb, openCamera, openGameCenterLeaderboard, openPDFViewer, openPermissionDialog, openURL, partner, requestNotificationAgreement, requestPermission, requestReview, requestTossPayPaysBilling, saveBase64Data, saveUserPreset, setClipboardText, setDeviceOrientation, setIosSwipeGestureEnabled, setScreenAwakeMode, setSecureScreen, share, shareViralCampaign, showFullScreenAd, startUpdateLocation, submitGameCenterLeaderBoardScore, tdsEvent, trackViral };
@@ -30614,7 +30614,7 @@ function Panel() {
30614
30614
  color: "#666",
30615
30615
  fontWeight: 400
30616
30616
  },
30617
- children: ["v", "3.2.0"]
30617
+ children: ["v", "3.4.0"]
30618
30618
  }),
30619
30619
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
30620
30620
  type: "button",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apps-in-toss/devtools",
3
- "version": "3.2.0",
3
+ "version": "3.4.0",
4
4
  "description": "Browser development tools for Apps in Toss mini-apps — mock SDK, floating devtools panel, and universal bundler plugin. devDependency only; contributes nothing to a production bundle",
5
5
  "keywords": [
6
6
  "apps-in-toss",
@@ -67,7 +67,7 @@
67
67
  "unplugin": "^3.2.0"
68
68
  },
69
69
  "devDependencies": {
70
- "@apps-in-toss/web-framework": "^3.2.0",
70
+ "@apps-in-toss/web-framework": "^3.4.0",
71
71
  "@apps-in-toss/web-framework-2x": "npm:@apps-in-toss/web-framework@2.10.8",
72
72
  "@testing-library/dom": "10.4.1",
73
73
  "@testing-library/react": "16.3.2",