➡️ Про геймификацию марафонаЕсли вам нравится Декан, то вам понравится и эта картинка :))
Наглядный пример того, что геймификация марафонов вещь важная, нужная и объемная.
Вот логика одного дня по общению с пользователем.
Или ответ на вопрос "Почему и как Декан шлет разные гифки" участникам 😂
Причем это только подпроцесс основного процесса. В основном процессе есть завершающие блоки, переходы на следующий день и завершение марафона (письма, сертификат и все с ними связанное).
Причем в этот раз нет монеток и доппроверок на вход участника непосредственно в урок (в прошлый раз были и влияли на гифки). Если бы они были, то это еще примерно столько же блоков.
Поэтому, когда вы спрашиваете "как" сделать бота как Декан для марафона, то это неправильный вопрос. Нужно сначала понять "что" и "когда" он будет делать.
This media is not supported in your browser
VIEW IN TELEGRAM
➡️
Так вот, когда мы формируем сегмент - то выбираем одно из основных условий пересечений И / ИЛИ.
Если вы ошиблись на этом шаге, то часто "отматывается" работа к тому моменту, когда было указано не то условие. Тоже самое происходит, если вы захотели поменять критерий сегментации.
Но можно избежать повторного указания условия. 🎉
В блоке сегмента переключение локального оператора выборки И/ИЛИ доступно по аналогии с "НЕ" - достаточно просто нажать на него, и выборка поменяет свой критерий.
Это работает везде где строятся сегменты (пользователи, покупки, заказы, рассылки) и на любом уровне вложенности оператора.
Использовали, знали?
Быстрая смена оператора в сегменте
Сейчас покажу штуку, которую мало кто использует (новички на ГК так точно), вероятно потому что она не очень очевидна при работе с сегментами. И в блоге ее тем более нет. 🙈Так вот, когда мы формируем сегмент - то выбираем одно из основных условий пересечений И / ИЛИ.
Если вы ошиблись на этом шаге, то часто "отматывается" работа к тому моменту, когда было указано не то условие. Тоже самое происходит, если вы захотели поменять критерий сегментации.
Но можно избежать повторного указания условия. 🎉
В блоке сегмента переключение локального оператора выборки И/ИЛИ доступно по аналогии с "НЕ" - достаточно просто нажать на него, и выборка поменяет свой критерий.
Это работает везде где строятся сегменты (пользователи, покупки, заказы, рассылки) и на любом уровне вложенности оператора.
Использовали, знали?
Немного раздумий пост 😖
Верстаю макет. Ни одна из картинок не может нормально скачаться, все запаковываются в архив поштучно.
Кто виноват? Вот такое написание папок в Фигме (см скрин).
1_2 и 2_2 это уже переименованные разделы. Теперь из них элементы можно забрать в один клик.
А те, которые со слешем, коварно запаковываются. Негодники.
Так что, если у вас не качаются нормально картинки - обратите внимание на то, как подписаны их родители. Слеш ведет к упаковке файлов.
Тем не менее на скрине одна тридцатая всех картинок. Вариант массовой упаковки нравится мне все больше и больше 😅
Верстаю макет. Ни одна из картинок не может нормально скачаться, все запаковываются в архив поштучно.
Кто виноват? Вот такое написание папок в Фигме (см скрин).
1_2 и 2_2 это уже переименованные разделы. Теперь из них элементы можно забрать в один клик.
А те, которые со слешем, коварно запаковываются. Негодники.
Так что, если у вас не качаются нормально картинки - обратите внимание на то, как подписаны их родители. Слеш ведет к упаковке файлов.
Тем не менее на скрине одна тридцатая всех картинок. Вариант массовой упаковки нравится мне все больше и больше 😅
Как я оттестил это лето 😂
Кратко - тест лета прошла 🙈
Дайте полную версию, демки оказалось мало!
А если серьезно, то этим летом было много задач по реализации скриптов для Геткурса конкретно по тестированию.
Мои любимчики
1️⃣ 🌟 ограничение попыток тестирования
2️⃣ 🌟 ограничение времени прохождения тестирования
3️⃣ 🌟 автоматическое прохождение теста от лица пользователя (с показателем правильности ответов)
Самый простой из них - первый. Ставишь скрипт, вписываешь максимальное значение попыток в поле и все работает.
Но девиз моих отношений с ГК- я делаю, а он выкатывает обновление.
Поэтому, первый скрипт не попал и не попадет в Клуб Магии, потому что ГК уже сделал обновление этого функционала
—-
это еще не все по теме, читайте дальше ⏬
Кратко - тест лета прошла 🙈
Дайте полную версию, демки оказалось мало!
А если серьезно, то этим летом было много задач по реализации скриптов для Геткурса конкретно по тестированию.
Мои любимчики
1️⃣ 🌟 ограничение попыток тестирования
2️⃣ 🌟 ограничение времени прохождения тестирования
3️⃣ 🌟 автоматическое прохождение теста от лица пользователя (с показателем правильности ответов)
Самый простой из них - первый. Ставишь скрипт, вписываешь максимальное значение попыток в поле и все работает.
Но девиз моих отношений с ГК
—-
это еще не все по теме, читайте дальше ⏬
Однако, как это обычно у ГК бывает, не все так гладко.
Если ваше тестирование стоит внутри урока и включена настройка "Не принимать ответ на задание, если пользователь набрал меньше ... баллов", то на последней попытке пользователь увидит сообщение о связи с тп.
Не пугайтесь, ссылка там на тикеты внутри вашего проекта 👌
➡️ Но если после того, как пользователь исчерпал свои попытки, вам эта кнопка не нужна, то вы можете в стилях написать следующее
Те сначала кнопочка будет закрыта, потом скрипт ее найдет, подменит и опубликует.
Ссылку и текст кнопки поменяйте на свое. А то ведь правда пойдут гуглить 😂
➡️ И просто на закуску, если ссылку хотите оставить прежнюю, но поменять текст
🤓 есть и другие методы решения данной задачи. Например, не менять кнопку, а сразу свою создавать.
Я предлагаю вам именно это решение, потому что на основе него вы в принципе сможете подменить любые кнопки, которые в тестировании появляются (начала тестирования, его повторного прохождения и тд) на разных его этапах.
#стили #решение #тестирование
Если ваше тестирование стоит внутри урока и включена настройка "Не принимать ответ на задание, если пользователь набрал меньше ... баллов", то на последней попытке пользователь увидит сообщение о связи с тп.
Не пугайтесь, ссылка там на тикеты внутри вашего проекта 👌
➡️ Но если после того, как пользователь исчерпал свои попытки, вам эта кнопка не нужна, то вы можете в стилях написать следующее
.lesson-mission-wrapper .testing-content .stat-block a {➡️ А вот если вам эта кнопка нужна, но вы хотите увести пользователя, например, на платную консультацию по закрытию его пробелов в знаниях или просто платное прохождение теста, то можете добавить еще и этот скрипт
display: none;
}
$(document).ready(function(){Он меняет название кнопки и ссылку, что там стоит. Стиль закрытия кнопки тоже нужен.
var testing_btn = setInterval(function(){
var testing_url = $('.lesson-mission-wrapper .testing-content .stat-block a');
if (testing_url.length > 0) {
testing_url.text('Нагуглить как быть дальше').attr('href', 'https://www.google.com/').show();
clearInterval(testing_btn);
}
}, 800);
});
Те сначала кнопочка будет закрыта, потом скрипт ее найдет, подменит и опубликует.
Ссылку и текст кнопки поменяйте на свое. А то ведь правда пойдут гуглить 😂
➡️ И просто на закуску, если ссылку хотите оставить прежнюю, но поменять текст
.lesson-mission-wrapper .testing-content .stat-block a {
font-size: 0px;
display: inline-block!important;
}
.lesson-mission-wrapper .testing-content .stat-block a:before {
font-size: 16px;
content: "Новый текст на кнопке";
}
В этом случае вам потребуется только один этот css. Первый стиль из данного сообщения не нужен. Тут стили сразу сработают, как кнопка появится, и текст будет подменен автоматически.🤓 есть и другие методы решения данной задачи. Например, не менять кнопку, а сразу свою создавать.
Я предлагаю вам именно это решение, потому что на основе него вы в принципе сможете подменить любые кнопки, которые в тестировании появляются (начала тестирования, его повторного прохождения и тд) на разных его этапах.
#стили #решение #тестирование
Внедрение Гугл таблицы на страницу ГК
Давайте начнем с нюансов
1️⃣ Вставлять можно или отдельные листы или всю таблицу
2️⃣ Если таблица будет большая, то будет полоса прокрутки (или две, вертикальная и горизонтальная). Это зависит от того, сколько данных. Например широкая таблица на декстопе будет показываться нормально, а на мобильнике появится прокрутка.
"Сделайте так, чтобы все всё видели" - запрос из области конечного удобства, тк мне страшно представить большую таблицу, которая впихнется целиком на мобильник
3️⃣ Таблица открытая к редактированию всем не будет доступна к редактированию на ГК. Это не самый верный способ публикования данных и их оперативного массового изменения.
4️⃣ Изменения в таблице не подхватываются мгновенно, им требуется время
Давайте начнем с нюансов
1️⃣ Вставлять можно или отдельные листы или всю таблицу
2️⃣ Если таблица будет большая, то будет полоса прокрутки (или две, вертикальная и горизонтальная). Это зависит от того, сколько данных. Например широкая таблица на декстопе будет показываться нормально, а на мобильнике появится прокрутка.
"Сделайте так, чтобы все всё видели" - запрос из области конечного удобства, тк мне страшно представить большую таблицу, которая впихнется целиком на мобильник
3️⃣ Таблица открытая к редактированию всем не будет доступна к редактированию на ГК. Это не самый верный способ публикования данных и их оперативного массового изменения.
4️⃣ Изменения в таблице не подхватываются мгновенно, им требуется время
продолжение ниже 👇
Если говорить еще про 3й пункт, то лучше, чтобы все данные передавались бы в таблицу из Геткурса, и пользователи бы видели на ГК конечный формат без допзначений (с отдельного листа).
О передаче данных из Геткурса в ГуглТаблицы я писала довольно давно в блоге, но если нужно могу продублировать и сюда :)
А теперь про вставку по шагам
1. Открываете нужную таблицу
2. Определяете нужный диапазон для публикации
3. Открываете Меню "Файл"
4. Там пункт "Поделиться" - "Опубликовать в Интернете"
5. Переходите на вкладку "Встроить"
6. Выбираете в выпадающем списке нужный лист
7. Ставите чекбокс на публикацию после изменений
8. После нажатия на зеленую кнопку "Опубликовать" необходимо согласится еще раз с публикацией
9. Получится код iframe
10. Его копируете и вставляете в ГК в блок html
11. Но на шаге вставки нужно задать размеры фрейма, иначе он будет мелкий, например
Добавляется непосредственно в код фрейма (у меня сейчас вид с переносами)
О передаче данных из Геткурса в ГуглТаблицы я писала довольно давно в блоге, но если нужно могу продублировать и сюда :)
А теперь про вставку по шагам
1. Открываете нужную таблицу
2. Определяете нужный диапазон для публикации
3. Открываете Меню "Файл"
4. Там пункт "Поделиться" - "Опубликовать в Интернете"
5. Переходите на вкладку "Встроить"
6. Выбираете в выпадающем списке нужный лист
7. Ставите чекбокс на публикацию после изменений
8. После нажатия на зеленую кнопку "Опубликовать" необходимо согласится еще раз с публикацией
9. Получится код iframe
10. Его копируете и вставляете в ГК в блок html
11. Но на шаге вставки нужно задать размеры фрейма, иначе он будет мелкий, например
width="100%" height="400px"(100% ширины контейнера и высота его в 400px)
Добавляется непосредственно в код фрейма (у меня сейчас вид с переносами)
Внедрение Гугл Формы на страницу ГК
Ой, ладно сейчас махать рукой: "это все знают".
Если бы знали все, то раз в неделю в чате раз об этом не спрашивали бы 😉
Поэтому!
Если вы все же решили использовать опросник Гугла, а не от ГК, то механизм вставки ниже
1. Создать форму
2. Нажать на "Отправить"
3. Перейти в раздел <>
4. Копируете HTML-код
5. Идете в ГК (страницу или урок), добавляете там html блок
6. Вставляете код
7. Изменяете размеры
Высоту можете поставить нужную вам, а ширину как 100% (в конце кода эти значения)
И напомню, что в Клубе есть замечательный и красивый звездный рейтинг, который можно дополнить своим опросником
Ой, ладно сейчас махать рукой: "это все знают".
Если бы знали все, то раз в неделю в чате раз об этом не спрашивали бы 😉
Поэтому!
Если вы все же решили использовать опросник Гугла, а не от ГК, то механизм вставки ниже
1. Создать форму
2. Нажать на "Отправить"
3. Перейти в раздел <>
4. Копируете HTML-код
5. Идете в ГК (страницу или урок), добавляете там html блок
6. Вставляете код
7. Изменяете размеры
Высоту можете поставить нужную вам, а ширину как 100% (в конце кода эти значения)
➡️ Важно!Если вы планируете использовать одну форму как опросник в нескольких уроках сразу, то можете создать страницу и в ней разместить форму. В этом случае на шаге 6-7 вам нужно использовать не блок как таковой, а именно вставку страницы (есть такой блок в конструкторе). И в самой форме тоже тогда откройте возможность отправки ответов несколько раз.
И напомню, что в Клубе есть замечательный и красивый звездный рейтинг, который можно дополнить своим опросником
Media is too big
VIEW IN TELEGRAM
Конвертация баллов в бонусные рубли
Но это легко модифицируется под тот случай, если нам нужно списывать любые баллы по шкале. В этом случае не завершайте процесс, а ведите на ожидание новых баллов и снова возвращайте в цикл проверки (можно даже в нужную ветку, например, если начисление по десяткам идет).
🌟 Логика того, что происходит на видео
1. Проверяем баллы в контрольной точке
2. Начисляем бонусные рубли
3. Увеличиваем поле пользователя на эту же сумму
4. Списываем баллы со шкалы
5. Ждем
6. Выполняем проверку и или снова проходим ветку по этому количеству баллов или уходим в следующий блок, где проверка повторяется, но уже на другое количество баллов
👣 Контрольные точки меяняйте, если нужно (например, 5т баллов, 25 баллов) в соответствии с тем, как именно формируются баллы
🎉 есть еще один вариант (через апи) - но об этом потом :)
Разбираем математический подход к задаче.В видео разобран вариант, когда нужно списать баллы по конкретной шкале и на этом все. Одномоментно (в конце курса, например)
Но это легко модифицируется под тот случай, если нам нужно списывать любые баллы по шкале. В этом случае не завершайте процесс, а ведите на ожидание новых баллов и снова возвращайте в цикл проверки (можно даже в нужную ветку, например, если начисление по десяткам идет).
🌟 Логика того, что происходит на видео
1. Проверяем баллы в контрольной точке
2. Начисляем бонусные рубли
3. Увеличиваем поле пользователя на эту же сумму
4. Списываем баллы со шкалы
5. Ждем
6. Выполняем проверку и или снова проходим ветку по этому количеству баллов или уходим в следующий блок, где проверка повторяется, но уже на другое количество баллов
👣 Контрольные точки меяняйте, если нужно (например, 5т баллов, 25 баллов) в соответствии с тем, как именно формируются баллы
🎉 есть еще один вариант (через апи) - но об этом потом :)
Конвертация баллов в бонусные рубли - как делать не надо
В видео вы наблюдаете ожидание и потом снова вход в условие.
Казалось бы, а чего тогда не сократить процесс до списания 1 балла в 5-10 минут? Ну будет он выполняться долго, но и пусть!
Дело в том, что ГК очень плохо относится к тому, когда одна проверка осуществляется многократно в пределах линейного ближайшего времени.
Если короче - то бесконечные зацикливания нужно делать очень аккуратно. В списании 5т баллов точно это не то решение, которое будет продуктивным.
Там процесс выпадет, не успев дойти и до десятки
Другие конвертации - как надо
По большому счету - что хотите, так и конвертируйте. В обе стороны :))
Те же монетки в бонусные рубли или шкалу в монетки.
Хотя я больше сторонник начислять монетки одновременно с баллами по шкале.
Или вообще использования двух шкал. Одна для баллов (прогресс), вторая для конвертации (в этом случае можно обойтись без п3)
В видео вы наблюдаете ожидание и потом снова вход в условие.
Казалось бы, а чего тогда не сократить процесс до списания 1 балла в 5-10 минут? Ну будет он выполняться долго, но и пусть!
Дело в том, что ГК очень плохо относится к тому, когда одна проверка осуществляется многократно в пределах линейного ближайшего времени.
Если короче - то бесконечные зацикливания нужно делать очень аккуратно. В списании 5т баллов точно это не то решение, которое будет продуктивным.
Там процесс выпадет, не успев дойти и до десятки
Другие конвертации - как надо
По большому счету - что хотите, так и конвертируйте. В обе стороны :))
Те же монетки в бонусные рубли или шкалу в монетки.
Хотя я больше сторонник начислять монетки одновременно с баллами по шкале.
Или вообще использования двух шкал. Одна для баллов (прогресс), вторая для конвертации (в этом случае можно обойтись без п3)
Монеты, деньги, два блока
Вообще сентябрь вышел жестко не моим месяцем. Проболеть 95% месяца (ха, а он еще не закончился) это нужно было так вляпаться...
Но! Чтобы нестареть душою ржаветь мозгами, сейчас немного поговорю с вами про баланс пользователя.
Внутри ГК баланс может существовать как значение трех составляющих
1️⃣ монеты
2️⃣ бонусный счет
3️⃣ депозит
Бонусный счет - это бонусный счет внутри ГК, который может пополняться вручную или через процессы. Может быть использован для полной или частичной оплаты предложения (только предложение нужно грамотно настроить).
Депозит - это реальные деньги клиента, которые попадают чаще всего как транзакции из заказов при возвратах или партнерских выплатах. Реальные деньги, которые ГК будет списывать в заказе в первую очередь.
Но иногда школа хочет завести свою"валюту", например - тунгрики. А почему нет? Или здоровайки (отсыпьте мне мешок!). Помимо придумать, есть вопрос с выводом.
Проще всего сделать это через монеты, которые можно переименовать, да и меньше проблем они потом приносят в работе. А вот тут начинается актуальное. А как переименовать?
Если вы берете блок "Баланс текущего пользователя", то вам потребуется скрипт или стили, которые будут осуществлять подмену первого значения и уберут лишние строки.
Однако, есть вариант проще.
Можно взять блок html, поставить галочку "заменять переменные" и вывести то, что нужно. Сразу с нужным названием. Стабильно работает везде.
Список отдельных переменных
Монеты: {balance_points}
Бонусный счет: {balance_virtual}
Депозит: {balance_deposit}
Вообще сентябрь вышел жестко не моим месяцем. Проболеть 95% месяца (ха, а он еще не закончился) это нужно было так вляпаться...
Но! Чтобы не
Внутри ГК баланс может существовать как значение трех составляющих
1️⃣ монеты
2️⃣ бонусный счет
3️⃣ депозит
*режим ликбеза on*Монеты - валюта внутри ГК, которая может быть подключена через запрос в тп ГК. Начисляется через ручные действия, процессы или шкалу достижений. Может служить внутренней валютой проекта и потратить ее "влет и сразу" нельзя.
Бонусный счет - это бонусный счет внутри ГК, который может пополняться вручную или через процессы. Может быть использован для полной или частичной оплаты предложения (только предложение нужно грамотно настроить).
Депозит - это реальные деньги клиента, которые попадают чаще всего как транзакции из заказов при возвратах или партнерских выплатах. Реальные деньги, которые ГК будет списывать в заказе в первую очередь.
*режим ликбеза off*Как валюту настроишь, так ученики ее и получат :) Если вы хотели делать продажу материалов за внутреннюю валюту, то стоит подумать какая она будет изначально. Монеты? Бонусные рубли? Как ученик будет получать и тратить? Делать конвертер одного в другое? Или просто обменник монет на нулевые предложения?
Но иногда школа хочет завести свою"валюту", например - тунгрики. А почему нет? Или здоровайки (отсыпьте мне мешок!). Помимо придумать, есть вопрос с выводом.
Проще всего сделать это через монеты, которые можно переименовать, да и меньше проблем они потом приносят в работе. А вот тут начинается актуальное. А как переименовать?
Если вы берете блок "Баланс текущего пользователя", то вам потребуется скрипт или стили, которые будут осуществлять подмену первого значения и уберут лишние строки.
Однако, есть вариант проще.
Можно взять блок html, поставить галочку "заменять переменные" и вывести то, что нужно. Сразу с нужным названием. Стабильно работает везде.
Список отдельных переменных
Монеты: {balance_points}
Бонусный счет: {balance_virtual}
Депозит: {balance_deposit}
image_2022-09-26_09-58-42.png
367.5 KB
🔥 Вот и стартовала Кодожорка №3
на скрине два тайминга - сколько было видео и сколько осталось.
26 минут против 67
потому что просили покороче 🤣
p.s. сам макет показывается по верхнему видео, так что в живую он еще краше и доверстан)
на скрине два тайминга - сколько было видео и сколько осталось.
26 минут против 67
потому что просили покороче 🤣
p.s. сам макет показывается по верхнему видео, так что в живую он еще краше и доверстан)
This media is not supported in your browser
VIEW IN TELEGRAM
Домашнее задание формата "заполнение пропусков"
🌟Данный формат дз популярен в языковых онлайн-школах, где идет проверка знаний ученика в "боевом режиме", и от него требуется внести свой ответ в пропуски.
🧐 Но у ГК такого формата - нет: ученик может или в поле дз ввести свои ответы (просто как слова, пронумеровав) или скопировать весь текст дз и в нем уже заполнить пропуски.
В обоих вариантах неудобно то, что учитель не видит задание целиком или не видит какие именно слова указал ученик, что существенно увеличивает время проверки.
Поэтому - раз нет, то надо сделать :))
😇 В данном кейсе ученику предлагается не только провести работу над текстовыми упражнениями, где пропуски внутри предложений или диалогов, но так же послушать аудио и наслух вписать значение.
При этом разметка довольно простая и админу не требуется писать гору кода, чтобы все заработало. Достаточно поставить файлы в тему и указать ключевое слово, которое активирует разметку внутри задания.
Ученик же заполняет пропуски сразу в поле, где текст дз. По нажатию на кнопку отправки ответа, весь текст публикуется в поле ответа, где видно что именно ученик ввел как ответ. Благодаря этому видно, какие значения указал ученик и как именно выглядело задание в первоначальном варианте.
✍️ В этой реализации Заказчик попросил не ставить автоматическую проверку на правильность ответа, хотя это тоже возможно. Поэтому все ответы загораются просто синим (в цвет самого оформления проекта), но можно было сразу раскрашивать правильные ответы в зеленый, а неправильные в красный, что еще бы сократило время проверки.
#кейс #скрипты #дз
Восстановление блоков в уроке
А вы замечали, что часть функционала у ГК запрятана так, что к ней очень быстро не подберешься, даже если она нужна "вотпрямщаз" и нативно должна быть под рукой всегда? 🙈
У меня такая история произошла с восстановлением блоков в уроках. Я знала, что был апдейт и сама функция есть, но в ожидаемом месте я ее не обнаружила, когда она мне потребовалась 😂
А лазить в настройки тренинга не всегда очень удобно, если он кастомизирован сильно.
И вроде функционал есть, но приходится до него добираться просто по ссылкам из соседнего раздела или хранить в чертогах памяти то, какой урл вызвать 🙊
Поэтому родилось это решение - добавление кнопки восстановления блоков сразу в меню действий самого урока (клик по кнопке открывает дополнительную страницу с управлением блоками). То самое место, где она и должна быть!
Решение выложу в чат, если данный пост наберет 200 огоньков 😊
апд - решение здесь 🔥