Metaframeのメソッドとイベントを探る

window.metaframeオブジェクト

スクリプトがロードされると、metaframeオブジェクトは、アプリケーションのグローバルなwindowオブジェクトで利用できるようになります。Metaframeオブジェクトには、ウェブアプリケーションで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>
    アドミンページのプロジェクト設定で、「仮想通貨」または「バックパック」機能が有効になっている場合は必須です。
    parameters.projectID
    stringプロジェクトID。このパラメータは、アドミンページトのプロジェクト名の横にあります。
    アドミンページのプロジェクト設定で、「バックパック」機能が有効になっている場合は必須です。
    parameters.orbsApiHostId
    stringホストID。取得するには、integration@xsolla.comの統合チームまたはcsm@xsolla.comまでカスタマーサクセスマネージャーを連絡して、プロジェクトIDとマーチャントIDを渡しました。
    アドミンページのプロジェクト設定で、「仮想通貨」機能が有効になっている場合は必須です。
    parameters.isMobile
    booleanMetaframeがデフォルトでモバイルレイアウトを使用するか。
    parameters.isCollapsed
    booleanウィジェットがデフォルトで折りたたまれている(最小化されている)かどうか。デフォルト値はtrueです。
    parameters.layoutSettings
    objectウィジェットのレイアウトをカスタマイズするためのパラメータを持つオブジェクト。
    parameters.layoutSettings.desktop
    objectデスクトップ版ウィジェットのレイアウトをカスタマイズするためのパラメータを持つオブジェクト。必須です
    parameters.layoutSettings.desktop.widgetMarginTop
    numberビューポートを基準としたメタフレームウィジェットの上余白(px単位)。デフォルト値は16
    parameters.parameters.layoutSettings.mobile
    objectモバイル版ウィジェットのレイアウトをカスタマイズするためのパラメータを持つオブジェクト。必須です
    parameters.layoutSettings.mobile.widgetMarginTop
    numberビューポートを基準としたメタフレームウィジェットの上余白(px単位)。デフォルト値は72
    お知らせ
    モバイル版のウィジェットの位置は、アドミンページで設定できます。詳細な情報は、モバイル版の設定セクションに記載されています。

    window.metaframe.setIsMobileメソッド

    メソッド署名:

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

      Metaframeをデスクトップ版からモバイル版に、またはその逆に切り替えます。

      パラメータ種類説明文
      isMobile
      booleanMetaframeをモバイル版に切り替えるかどうか。trueに設定すると、Metaframeはモバイル版に切り替わります。falseに設定すると、デスクトップ版に切り替わります。
      お知らせ
      モバイル版のウィジェットの位置は、アドミンページで設定できます。詳細な情報は、モバイル版の設定セクションに記載されています。

      window.metaframe.partnerActionsオブジェクト

      オブジェクトにはMetaframeでアクションをトリガーするメソッドが含まれます。

      このオブジェクトのメソッドを使用する前に、Metaframeが完全にロードされていることを確認する必要があります。これを行うには、Metaframeのロードイベントをサブスクリプします。イベントが処理されると、このオブジェクトのメソッドが使用可能になります。

      Metaframeのロードイベントにリスナーを設定する例:

      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セクションで指定したアイテムのページを開きます。

        このメソッドが正しく機能するためには、次の条件を満たす必要があります:

        • アドミンページで「バックパック」機能が有効になっています。
        • ユーザーはMetaframeに認証されます。

        パラメータ種類説明文
        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セクションを開きます。ユーザーが認証されていない場合は、ブラウザコンソールにエラーが表示されます。

                お知らせ
                このメソッドが正しく機能するためには、次の条件を満たす必要があります:
                • アドミンページで「バックパック」機能が有効になっています。
                • ユーザーはMetaframeに認証されます。

                window.metaframe.partnerActions.openCustomMiniAppメソッド

                メソッド署名:

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

                  以下のいずれかの条件を満たす場合、指定されたカスタムセクションをiframeタイプで開きます:

                  • 指定したカスタムセクションの設定でユーザーログイン前にこのアプリを表示するトグルが有効で、現在のユーザーが認証されていない場合。
                  • 指定したカスタムセクションの設定でユーザーログイン後にこのアプリを表示するトグルが有効で、現在のユーザーが認証された場合。

                  条件が満たされない場合は、ブラウザコンソールにエラーが表示されます。

                  お知らせ
                  この方法が正しく機能するためには、ウィジェットでiframeタイプのカスタムセクションを構成する必要があります。 メソッドを呼び出す前に、メタフレームウィジェットが指定したカスタムセクションを正常に読み込みました。これを行うには、カスタムセクションをロードするのイベントを追跡します
                  パラメータ種類説明文
                  params
                  objectパラメータを持つオブジェクト。
                  params.miniAppName
                  stringiframeタイプのカスタムセクションの設定で指定されたアプリ名。必須です

                  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イベントをサブスクライブできます:

                      パラメータ種類
                      @metaframe-partner-events:app-loadedこのイベントは、window.metaframe.createメソッドが呼び出された後、Metaframeが正常に読み込まれると発生します。
                      @metaframe-partner-events:not-authorized-mini-apps-loadedこのイベントは、ユーザログイン前にこのアプリを表示するトグルが有効になっている設定で、メタフレームがカスタムセクションを正常にロードするとトリガーされます。
                      @metaframe-partner-events:authorized-mini-apps-loadedこのイベントは、ユーザログイン後にこのアプリを表示するトグルが有効になっている設定のカスタムセクションを含む、すべての設定されたウィジェットセクションがメタフレームに正常に読み込まれるとトリガーされます。
                      @metaframe-partner-events:login-successfulこのイベントは、ユーザーがMetaframeに正常にログインするとトリガーされます。detailオブジェクトとユーザの認証トークンが含まれます。
                      @metaframe-partner-events:logout-successfulこのイベントは、ユーザーがシステムから正常にログアウトするとトリガーされます。
                      @metaframe-partner-events:mini-app-menu-button-clicked:<YOUR_MINI_APP_NAME>このイベントは、ユーザーがメタフレームのカスタムセクションをクリックするとトリガーされます。
                      @metaframe:custom-action:<ACTION_ID>このイベントは、ユーザーがMetaframeで「アクション」タイプのカスタムセクションを選択したときに発生します。詳細については、カスタムセクションのイベントを追跡するを参照してください。

                      カスタムセクションのイベントの追跡

                      メタフレームには、アクションタイプのカスタムセクションを追加できます。このセクションは、クリックするとウェブサイトを開くなどのアクションを実行するボタンとして表示されます。

                      カスタムセクションをクリックしたイベントを追跡するには、@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日

                      誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。

                      問題を報告する
                      当社は常にコンテンツを見直しています。お客様のご意見は改善に役立ちます。
                      フォローアップ用のメールをご提供してください
                      ご意見ありがとうございました!