react-yandex-metrika icon indicating copy to clipboard operation
react-yandex-metrika copied to clipboard

Новая версия методов

Open eseQ opened this issue 5 years ago • 4 comments

У меня вопрос. Яндекс изменил методы, такие как hit. Сигнатура hit(url, [title[, referer[, params]]]) устарела

Раньше:

var yaCounterXXXXXX = new Ya.Metrika({id: XXXXXX});
//...
yaCounterXXXXXX.hit('#!contacts', {
    title: 'Контактная информация',
    referer: 'http://example.com/#!main'
});

Теперь: ym(XXXXXX, 'hit', url[, options])

Насколько я понимаю, в коде этого пакета используется старая версия?

window[trackerInstanceName(id)][methodName]

Есть какие-нибудь задумки на изменение этого?

eseQ avatar Mar 13 '19 08:03 eseQ

Насколько я понимаю, в коде этого пакета используется старая версия?

Не совсем так. Если быть точным, коду этого пакета по идее должно быть все равно, какая версия используется, так как аргументы он передает ровно такие же, как ему передали.

narkq avatar Mar 13 '19 11:03 narkq

Хорошо, но ведь он вызывает метод у метрики, т.е. после инициализации объект сохраняется в инстанс window и потом происходит, примерно так: ya.hit, а не ym(XXXXXX, 'hit'); Или я что-то упустил?

eseQ avatar Mar 14 '19 12:03 eseQ

Вызывает. Но аргументы-то передает пользователь функции ym, верно? Если будут переданы аргументы по старой сигнатуре, то и вызов будет по-старому, а если по новой - то и вызов будет по-новому.

Или, может быть, вопрос вовсе не про сигнатуру метода hit, а про инициализацию счетчика? Если так, то по идее при использовании новой версии счетчика нужно указать version="2" в пропсах YMInitializer, и вроде бы этого должно быть достаточно. Насколько я понимаю, функция ym - это просто обертка, где делается примерно то же самое, что и в коде этого пакета. Если Вас смущает, что используется объект Ya.Metrika2 напрямую, без обертки ym, можно переделать.

narkq avatar Mar 14 '19 16:03 narkq

Я, на самом деле, не искал и не смотрел, что такое ym коде метрики. По моим соображениям методы что были раньше (.hit и тому подобные) теперь не используются, либо по-другому вызываются с помощью ym. Не будит ли отказа от них в будущем и как это повлияет на библиотеку.

eseQ avatar Mar 15 '19 03:03 eseQ