diff --git a/com.twin.app.shoptime/src/views/MainView/MainView.jsx b/com.twin.app.shoptime/src/views/MainView/MainView.jsx
index 71d9c275..6d6ec92e 100644
--- a/com.twin.app.shoptime/src/views/MainView/MainView.jsx
+++ b/com.twin.app.shoptime/src/views/MainView/MainView.jsx
@@ -892,64 +892,190 @@ export default function MainView({ className, initService }) {
📱 Launch Params:
{(() => {
- let raw = window.PalmSystem?.launchParams || "{}";
- let parsed = JSON.parse(raw);
- let containerFlag = parsed["x-webos-app-container-launch"];
- let finalParams =
- containerFlag === true ? parsed.details : parsed;
- let contentTarget = finalParams?.contentTarget || "N/A";
+ try {
+ // 항상 모든 정보를 표시
+ const windowExists = typeof window === "object";
+ const palmSystemExists = windowExists && !!window.PalmSystem;
+ const launchParamsExists =
+ palmSystemExists &&
+ window.PalmSystem.launchParams !== undefined;
+ const launchParamsValue = palmSystemExists
+ ? window.PalmSystem.launchParams
+ : null;
+ const launchParamsType = palmSystemExists
+ ? typeof window.PalmSystem.launchParams
+ : "N/A";
- return (
- <>
-
-
- contentTarget:{" "}
+ // Redux에서 가져온 contentTarget (비교용)
+ const reduxContentTarget = deepLinkInfo.contentTarget;
+
+ // getLaunchParams() 함수 결과 확인
+ let getLaunchParamsResult = {};
+ try {
+ // helperMethods.js의 getLaunchParams 함수 직접 호출
+ if (
+ typeof window === "object" &&
+ window.PalmSystem &&
+ window.PalmSystem.launchParams
+ ) {
+ getLaunchParamsResult = JSON.parse(
+ window.PalmSystem.launchParams
+ );
+ if (
+ getLaunchParamsResult[
+ "x-webos-app-container-launch"
+ ] === true
+ ) {
+ getLaunchParamsResult = getLaunchParamsResult.details;
+ }
+ } else {
+ // localLaunchParams가 반환될 것임
+ getLaunchParamsResult = {
+ source: "localLaunchParams (fallback)",
+ };
+ }
+ } catch (e) {
+ getLaunchParamsResult = { error: e.message };
+ }
+
+ return (
+ <>
+
- {contentTarget || "MISSING"}
+ webOS환경: {palmSystemExists ? "✓" : "✗"}
-
- >
- );
+
+
+
+ raw (최초 파라미터):
+
+
+ {raw}
+
+
+
+
+ containerFlag: {String(containerFlag)}
+
+
+
+
initialParse:
+
+ {JSON.stringify(parsed, null, 2)}
+
+
+
+
+
finalParams:
+
+ {JSON.stringify(finalParams, null, 2)}
+
+
+
+
+
+ launch contentTarget:{" "}
+
+ {contentTarget || "MISSING"}
+
+
+
+ redux contentTarget:{" "}
+
+ {reduxContentTarget || "MISSING"}
+
+
+
+
+ getLaunchParams() 결과:
+
+
+ {JSON.stringify(getLaunchParamsResult, null, 2)}
+
+
+
+
+ {parseError && (
+
+ Parse Error: {parseError}
+
+ )}
+ >
+ );
+ } catch (e) {
+ return (
+
Error: {e.message}
+ );
+ }
})()}