Настройка RUM

Для корректного сбора RUM-статистики необходимо, чтобы каждая страница уникально идентифицировалась по имени. При этом, идентифицировать страницу по URL не всегда возможно, потому что одна и та же страница иногда строится с различными адресами (отличающимися параметрами). В данной статье описано как правильно настроить имя страницы для различных шаблонов страниц.

Правила именования

Все имена страниц должны соответствовать структуре: <Имя продукта>_<Имя раздела>-tab-<Имя вкладки>

Если URL адрес страниц составлен в соответствии с правилами, то в большинстве случаев имя страницы будет соответствовать адресу страницы, где все "/" заменены на "-".

Пример:

Адрес страницы: online.sbis.ru/tasks/onme/tab/done

Имя продукта: OSR
Имя раздела: tasks-onme
Имя вкладки: done

Имя страницы для RUM: OSR_tasks-onme-tab-done

Задание имени страницам

Страницы online.sbis.ru, описанные в navx

Для страниц, которые описаны в navx, имя страницы формируется автоматически и никаких дополнительных настроек не требуется.

К примеру, имя для вкладки "Диалоги" на странице контактов, находящийся по адресу "online.sbis.ru/contacts/tab/dialogs", автоматически определится, как "OSR_contacts-tab-dialogs". При этом, если пользователь просто перейдет на страницу контактов ("online.sbis.ru/contacts") без указания конкретной вкладки, мы автоматически проставим название загружаемой вкладки в имя страницы.

Если вам не подходит стандартное имя страницы, есть возможность задать своё имя. Это может пригодиться, если вы знаете, что адрес вашей страницы будет меняться, но хотите сохранить статистику под одним именем. Для этого необходимо в pageConfig страницы указать параметр pageName.

При задании своего имени страницы следует учитывать следующие моменты:

  • К имени страницы автоматически добавляется OSR_, который позволяет отличить страницы online.sbis.ru;
  • Если pageName указан только у родительской страницы, а в описании вкладок не указан, то к имени будет добавлен постфикс -tab-<tabName>;
  • Если вы хотите дать своё имя страницам со вкладками, то можно указать pageName непосредственно в конфиге вкладок.

Пример:

<navigation>
    <item url="/messenger/">
        <pageConfig>
             {
                 ...
                 "pageName": "messenger",
                 ...
             }
        </pageConfig>
        <tabs>
            <tab url="chats">
                <pageConfig>
                {
                    ...
                    "pageName": "chats"
                    ...
                }
                </pageConfig>
            </tab>
            <tab url="people">
                <pageConfig>
                  ...
                </pageConfig>
            </tab>
        </tabs>
    </item>
</navigation>

В данном примере добавляется 2 страницы:

  • Адрес: "online.sbis.ru/messenger/tab/chats";
    Имя в RUM: "OSR_chats"
  • Адрес: "online.sbis.ru/messenger/tab/people";
    Имя в RUM: "OSR_messenger-tab-people"

Другие Wasaby страницы

Во все шаблоны страниц была добавлена опция pageName. Указанное в опции имя без каких-либо модификаций записывается в RUM.

Опция поддержана у следующих шаблонов:

  1. SbisEnvUI.Bootstrap
  2. Page.Template:Base
  3. OnlinePage.Template:Base
  4. OnlinePage.Template:Entity
  5. OnlineSbisRu.Template:Entity

Пример:

<SbisEnvUI.Bootstrap pageName="PRODUCT_pagePath-tab-tabName" />

WS3 страницы

Если ваша страница строится на WS3 шаблоне OnlineBaseInner2, то нужно определить метод pageName и вернуть имя страницы.

Пример:

define('MyTestPage/MyTestPage',
  [
    'Core/Deferred',
    'WS3Page/MasterPage/OnlineBaseInner2'
  ],
function(cDeferred, view) {
    return view.extend({
      pageName: function() {
        var pageName = 'PRODUCT_pagePath-tab-tabName';
        return new cDeferred().callback(pageName);
      }
    });
});