메타프레임 메서드 및 이벤트 살펴보기

window.metaframe 개체

스크립트가 로드되면 애플리케이션의 글로벌 window 개체에서 metaframe 개체를 사용할 수 있습니다. 메타프레임 개체에는 웹 애플리케이션에서 메타프레임을 관리하는 데 필요한 메서드 목록이 포함되어 있습니다.

window.metaframe.create 메서드

메서드 시그니처:

Copy
Full screen
Small screen
    window.metaframe.create: (parameters: {
     loginProjectId: string,
     merchantId?: number,
     projectId?: number,
     orbsApiHostId?: string,
     isMobile?: boolean,
     isCollapsed?: boolean,
     layoutSettings?: {
         desktop: {
           widgetMarginTop?: number,
         },
         mobile: {
           widgetMarginTop?: number,
         },
       },
    }) => void;
    

    웹 애플리케이션에서 메타프레임을 초기화합니다.

    매개 변수유형설명
    parameters
    object메타프레임 실행을 위한 매개 변수가 있는 개체입니다.
    parameters.loginProjectId
    string로그인 ID. 이를 얻으려면 관리자 페이지를 열고 로그인 > 대시보드 > 로그인 프로젝트 섹션으로 이동합니다. 필수 항목입니다.
    parameters.merchantId
    string판매자 ID. 이 매개변수는 관리자 페이지의 다음 위치에서 확인할 수 있습니다.
    • 회사 설정 > 회사 섹션에서
    • 모든 관리자 페이지의 브라우저 주소 표시줄에 있는 URL에서. URL 형식은 https:​//publisher.xsolla.com/<merchant ID>/<Publisher Account section>과 같습니다.
    관리자 페이지의 프로젝트 설정에서 인게임 재화 또는 Backpack 기능이 활성화된 경우 필수 항목입니다.
    parameters.projectID
    string프로젝 ID. 프로젝트의 이름 바로 옆에 있는 관리자 페이지에서 이 매개 변수를 찾을 수 있습니다.
    관리자 페이지의 프로젝트 설정에서 Backpack 기능이 활성화된 경우 필수 항목입니다.
    parameters.orbsApiHostId
    string호스트 ID. 이를 얻으려면 integration@xsolla.com 통합 팀 또는 csm@xsolla.com 고객 성공 관리자에게 문의하여 프로젝트 ID와 판매자 ID를 전달하세요.
    관리자 페이지의 프로젝트 설정에서 인게임 재화 기능이 활성화된 경우 필수 항목입니다.
    parameters.isMobile
    boolean메타프레임이 기본적으로 모바일 레이아웃을 사용하는지 여부입니다.
    parameters.isCollapsed
    boolean위젯이 기본적으로 축소(최소화)된 상태로 표시되는지 여부입니다. 기본값은 true입니다.
    parameters.layoutSettings
    object위젯 레이아웃을 사용자 지정하기 위한 매개 변수가 있는 개체입니다.
    parameters.layoutSettings.desktop
    object데스크톱 버전 위젯의 레이아웃을 사용자 지정하기 위한 매개 변수가 있는 개체입니다. 필수.
    parameters.layoutSettings.desktop.widgetMarginTop
    number뷰포트와 상대적인 메타프레임 위젯의 상단 여백(픽셀 단위)입니다. 기본값은 16입니다.
    parameters.parameters.layoutSettings.mobile
    object모바일 버전 위젯의 레이아웃을 사용자 지정하기 위한 매개 변수가 있는 개체입니다. 필수.
    parameters.layoutSettings.mobile.widgetMarginTop
    number뷰포트와 상대적인 메타프레임 위젯의 상단 여백(픽셀 단위)입니다. 기본값은 72입니다.
    알림
    모바일 버전의 위젯 위치는 관리자 페이지에서 구성할 수 있습니다. 자세한 내용은 모바일 버전 설정 섹션에서 확인할 수 있습니다.

    window.metaframe.setIsMobile 메서드

    메서드 시그니처:

    Copy
    Full screen
    Small screen
      window.metaframe.setIsMobile(isMobile: boolean)
      

      메타프레임을 데스크톱에서 모바일 버전으로 또는 그 반대로 전환합니다.

      매개 변수유형설명
      isMobile
      boolean메타프레임을 모바일 버전으로 전환할지 여부. true로 설정된 경우, 메타프레임이 모바일 버전으로 전환됩니다. false로 설정된 경우, 메타프레임이 데스크톱 버전으로 전환됩니다.
      알림
      모바일 버전의 위젯 위치는 관리자 페이지에서 구성할 수 있습니다. 자세한 내용은 모바일 버전 설정 섹션에서 확인할 수 있습니다.

      window.metaframe.partnerActions 개체

      이 개체에는 메타프레임에서 동작을 트리거하는 메서드가 포함되어 있습니다.

      이 개체의 메서드를 사용하기 전에 메타프레임이 완전히 로드되었는지 확인해야 합니다. 이렇게 하려면 메타프레임 로드 이벤트를 구독합니다. 이벤트가 처리되면 개체의 메서드를 사용할 수 있습니다.

      메타프레임 로드 이벤트에 리스너를 설정하는 예시:

      Copy
      Full screen
      Small screen
      window.addEventListener("@metaframe-partner-events:app-loaded", () => {
      
       //Here you can use partner actions
      
      });
      

      window.metaframe.partnerActions.openBackpackItemPage 메서드

      메서드 시그니처:

      Copy
      Full screen
      Small screen
        openBackpackItemPage: (itemId: string) => void;
        

        Backpack 섹션에서 지정한 항목의 페이지를 엽니다.

        메서드가 적절히 작동하려면 다음 조건이 충족되어야 합니다:

        • 관리자 페이지에서 Backpack 기능이 활성화됩니다.
        • 사용자가 메타프레임 측에서 인증됩니다.

        매개 변수유형설명
        itemId
        string아이템 생성 API 메서드를 호출할 때 전달되는 아이템의 내부 ID입니다.

        window.metaframe.partnerActions.openLogin 메서드

        메서드 시그니처:

        Copy
        Full screen
        Small screen
          openLogin: () => void;
          

          사용자 권한 부여 양식을 엽니다. 사용자에게 이미 권한이 부여된 경우 브라우저 콘솔에 오류가 표시됩니다.

          window.metaframe.partnerActions.openProfile 메서드

          메서드 시그니처:

          Copy
          Full screen
          Small screen
            openProfile: () => void;
            

            현재 사용자의 Profile 섹션을 엽니다. 사용자에게 권한이 없는 경우 브라우저 콘솔에 오류가 표시됩니다.

            window.metaframe.partnerActions.openWallet 메서드

            메서드 시그니처:

            Copy
            Full screen
            Small screen
              openWallet: () => void;
              

              현재 사용자의 Wallet 섹션을 엽니다. 사용자에게 권한이 없는 경우 브라우저 콘솔에 오류가 표시됩니다.

              알림
              메서드가 적절히 작동하려면 위젯에서 Wallet 섹션을 구성해야 합니다.

              window.metaframe.partnerActions.openBackpack 메서드

              메서드 시그니처:

              Copy
              Full screen
              Small screen
                openBackpack: () => void;
                

                현재 사용자에 대한 Backpack 섹션을 엽니다. 사용자에게 권한이 없는 경우 브라우저 콘솔에 오류가 표시됩니다.

                알림
                메서드가 적절히 작동하려면 다음 조건이 충족되어야 합니다:
                • 관리자 페이지에서 Backpack 기능이 활성화됩니다.
                • 사용자가 메타프레임 측에서 인증됩니다.

                window.metaframe.partnerActions.openCustomMiniApp 메서드

                메서드 시그니처:

                Copy
                Full screen
                Small screen
                  openCustomMiniApp: (params: {miniAppName: string}) => void;
                  

                  다음 조건 중 하나가 충족되면 Iframe 유형으로 지정된 사용자 지정 섹션을 엽니다:

                  • 지정된 사용자 지정 섹션 설정의 사용자 로그인 이전에 이 앱 표시 토글이 활성화될 경우 현재 사용자에게 권한이 부여되지 않습니다.
                  • 지정된 사용자 섹션 설정의 사용자 로그인 후 이 앱 표시 토글이 활성화될 경우 현재 사용자에게 권한이 부여됩니다.

                  조건이 충족되지 않으면 브라우저 콘솔에 오류가 표시됩니다.

                  알림
                  메서드가 적절히 작동하려면 위젯에서 Iframe 유형이 있는 사용자 지정 섹션을 구성해야 합니다. 메서드를 호출하기 전에 메타프레임 위젯이 지정된 사용자 지정 섹션을 성공적으로 로드했는지 확인합니다. 이렇게 하려면 사용자 지정 섹션 로딩 이벤트 추적을 클릭합니다.
                  매개 변수유형설명
                  params
                  object매개 변수가 있는 개체입니다.
                  params.miniAppName
                  string사용자 지정 섹션의 설정에서 Iframe 유형으로 지정한 앱 이름입니다. 필수.

                  window.metaframe.partnerActions.pushNotification 메서드

                  메서드 시그니처:

                  Copy
                  Full screen
                  Small screen
                    pushNotification: (params: {
                      type: string; // use “success”, “warning”, “error” or “info”
                      text: string;
                      button?: {
                        text: string;
                        onClick: () => void;
                      };
                      durationInMs?: number;
                    }) => void;
                    

                    새 알림을 알림 스택으로 푸시합니다.

                    매개 변수유형설명
                    params
                    object매개 변수가 있는 개체입니다.
                    paramps.type
                    string알림 유형입니다. 가능 값: “success”, “warning”, “error”, “info”. 필수.
                    paramps.text
                    string알림 텍스트입니다. 필수.
                    params.button.text
                    string복사 버튼. 필수.
                    params.button.onClick
                    () => void버튼 클릭 시 호출되는 함수입니다.필수.
                    params.durationInMs
                    number화면에 알림이 표시되는 시간(밀리초)입니다.

                    window.metaframe.partnerActions.setIsCustomMiniAppVisible 메서드

                    메서드 시그니처:

                    Copy
                    Full screen
                    Small screen
                      setIsCustomMiniAppVisible: (params: {
                        miniAppName: string;
                        isVisible: boolean;
                      }) => void;
                      

                      지정된 사용자 지정 섹션을 표시하거나 숨깁니다.

                      알림
                      메서드가 적절히 작동하려면 위젯에서 사용자 지정 섹션을 구성해야 합니다. 메서드를 호출하기 전에 메타프레임 위젯이 지정된 사용자 지정 섹션을 성공적으로 로드했는지 확인합니다. 이렇게 하려면 사용자 지정 섹션 로딩 이벤트 추적을 클릭합니다.
                      매개 변수유형설명
                      params
                      object매개 변수가 있는 개체입니다.
                      params.miniAppName
                      string사용자 지정 섹션의 설정에 지정된 앱 이름입니다. 필수.
                      params.isVisible
                      boolean위젯에 지정된 사용자 지정 섹션을 표시할지 여부입니다. 필수.

                      위젯 이벤트

                      다음 메타프레임 이벤트를 구독할 수 있습니다:

                      매개 변수유형
                      @metaframe-partner-events:app-loaded이 이벤트는 메타프레임이 성공적으로 로드된 후 window.metaframe.create 메서드가 호출되면 트리거됩니다.
                      @metaframe-partner-events:not-authorized-mini-apps-loaded메타프레임이 사용자 로그인 후 이 앱 표시 토글이 활성화된 설정의 사용자 지정 섹션을 성공적으로 로드할 경우 이 이벤트가 트리거됩니다.
                      @metaframe-partner-events:authorized-mini-apps-loaded메타프레임이 사용자 로그인 후 이 앱 표시 토글이 활성화된 설정의 사용자 지정 섹션을 포함하여 구성된 모든 위젯 섹션을 성공적으로 로드할 경우 이 이벤트가 트리거됩니다.
                      @metaframe-partner-events:login-successful사용자가 메타프레임에 성공적으로 로그인할 때 이 이벤트가 트리거됩니다. 사용자의 인증 토큰이 있는 detail 개체를 포함합니다.
                      @metaframe-partner-events:logout-successful이 이벤트는 사용자가 시스템에서 성공적으로 로그아웃할 때 트리거됩니다.
                      @metaframe-partner-events:mini-app-menu-button-clicked:<YOUR_MINI_APP_NAME>사용자가 메타프레임 사용자 지정 섹션을 클릭하면 이 이벤트가 트리거됩니다.
                      @metaframe:custom-action:<ACTION_ID>이 이벤트는 메타프레임에서 사용자가 작업 유형 사용자 지정 섹션을 선택하면 트리거됩니다. 자세한 정보는 사용자 지정 섹션의 이벤트 추적을 참조하십시오.

                      사용자 지정 섹션의 이벤트 추적

                      메타프레임에 작업 유형이 있는 사용자 지정 섹션을 추가할 수 있습니다. 이 섹션은 클릭 시 웹사이트 열기와 같은 작업을 수행하는 버튼으로 표시됩니다.

                      사용자 지정 섹션 클릭 이벤트를 추적하려면 @metaframe:custom-action:<ACTION_ID> 이벤트를 구독해야 합니다. 여기에서, <ACTION_ID>는 사용자 지정 섹션 설정 시 관리자 페이지에 생성된 작업 ID입니다.

                      사용자 지정 섹션 클릭 이벤트에 대한 리스너 설정 예시:

                      Copy
                      Full screen
                      Small screen
                      document.addEventListener("@metaframe:custom-action:00000000-0000-0000-0000-000000000000", () => {
                      
                       // Your code here...
                      
                      })
                      
                      이 기사가 도움이 되었나요?
                      감사합니다!
                      개선해야 할 점이 있을까요? 메시지
                      유감입니다
                      이 기사가 도움이 안 된 이유를 설명해 주세요. 메시지
                      의견을 보내 주셔서 감사드립니다!
                      메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.
                      마지막 업데이트: 2024년 12월 12일

                      오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누르세요.

                      문제 보고
                      콘텐츠를 항상 검토합니다. 여러분의 피드백은 콘텐츠를 개선에 도움이 됩니다.
                      후속 조치를 위해 이메일을 제공해 주세요
                      의견을 보내 주셔서 감사드립니다!