Методы и события 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,
    
    }) => void;
    

    Инициализирует Metaframe в вашем веб-приложении. Метод принимает объект parameters со следующими параметрами, необходимыми для запуска Metaframe:

    ПараметрТипОписание
    loginProjectId
    stringID варианта авторизации. Чтобы получить его, откройте проект в Личном кабинете, перейдите в раздел Login > Дашборд > проект авторизации. Обязательный.
    merchantId
    stringID продавца. Вы можете найти этот параметр в Личном кабинете:
    • В разделе Настройки компании > Компания.
    • Адресной строке браузера на любой странице Личного кабинета. URL-адрес имеет вид https:​//publisher.xsolla.com/<merchant ID>/<Publisher Account section>.
    Обязательный, если в настройках проекта в Личном кабинете активирована функция Виртуальные валюты или Рюкзак.
    projectID
    stringID проекта. Вы можете найти этот параметр в Личном кабинете рядом с названием проекта.
    Обязательный, если в настройках проекта в Личном кабинете активирована функция Рюкзак.
    orbsApiHostId
    stringID хоста. Для его получения обратитесь к команде интеграции через integration@xsolla.com или к персональному менеджеру проекта через csm@xsolla.com и передайте ID проекта и ID продавца.
    Обязательный, если в настройках проекта в Личном кабинете активирована функция Виртуальные валюты.
    isMobile
    booleanИспользует ли Metaframe мобильную версию по умолчанию.
    Примечание
    Расположение виджета в мобильной версии можно настроить в Личном кабинете. Подробные сведения приведены в разделе Настройка мобильной версии.

    Метод window.metaframe.setIsMobile

    Сигнатура метода:

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

      Переключает Metaframe с настольной на мобильную версию или наоборот.

      ПараметрТипОписание
      isMobile
      booleanСледует ли переключать Metaframe на мобильную версию. Если установлено значение true, то Metaframe переключится на мобильную версию. Если установлено значение false, то Metaframe переключится на настольную версию.
      Примечание
      Расположение виджета в мобильной версии можно настроить в Личном кабинете. Подробные сведения приведены в разделе Настройка мобильной версии.

      Объект 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
        window.metaframe.partnerActions.openBackpackItemPage(itemId: string)
        

        Открывает страницу указанного товара в разделе Backpack.

        Для корректной работы метода необходимо соблюдение следующих условий:

        • В Личном кабинете активирована функция Рюкзак.
        • Пользователь авторизовался в Metaframe.

        ПараметрТипОписание
        itemId
        stringВнутренний ID предмета, который передается при вызове метода API на создание предмета.

        Отслеживание событий

        Вы можете подписаться на следующие события Metaframe:

        ПараметрТип
        @metaframe-partner-events:app-loadedСобытие срабатывает при успешной загрузке Metaframe после вызова метода window.metaframe.create.
        @metaframe-partner-events:login-successfulСобытие срабатывает при успешной авторизации пользователя в Metaframe и содержит объект detail с авторизационным токеном пользователя.
        @metaframe-partner-events:logout-successfulСобытие срабатывает при успешном выходе пользователя из системы.
        @metaframe:custom-action:<ACTION_ID>Событие срабатывает, если пользователь выбирает в Metaframe пользовательский раздел с типом Действие. Подробные сведения приведены в разделе Отслеживание событий пользовательских разделов.

        Отслеживание событий пользовательских разделов

        Вы можете добавить в Metaframe пользовательский раздел с типом Действие. Такой раздел отображается в виде кнопки, при нажатии на которую совершается действие, например, переход на веб-сайт.

        Для отслеживания события выбора пользовательского раздела вам требуется подписаться на событие @metaframe:custom-action:<ACTION_ID>, гдe <ACTION_ID> — ID действия, сформированный в Личном кабинете при настройке пользовательского раздела.

        Пример установки слушателя на событие выбора пользовательского раздела:

        Copy
        Full screen
        Small screen
        document.addEventListener("@metaframe:custom-action:00000000-0000-0000-0000-000000000000", () => {
        
         // Your code here...
        
        })
        
        Была ли статья полезна?
        Спасибо!
        Что может сделать страницу еще лучше? Сообщение
        Жаль, что так произошло
        Расскажите, почему статья не была полезна. Сообщение
        Спасибо за обратную связь!
        Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.
        Последнее обновление: 9 октября 2024

        Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.

        Сообщите о проблеме
        Мы постоянно улучшаем качество нашей документации. Ваш отзыв поможет нам в этом.
        Укажите email-адрес, чтобы мы могли связаться с вами
        Спасибо за обратную связь!