Уведомления ВКонтакте (права доступа, разработка игры для ВКонтакте)
В этой статье
я расскажу вам забавную историю о том, как я внедрил push-уведомления в браузерную игру Повелитель Рыцарей. Или статья о том, как искать проблему там, где её нет.
Суть задачи
заключалась в том, чтобы внедрить в игру уведомления, возникающие при наступлении определенных событий. В моём случае события - это 1, 7 и 30 дней неактивности игрока.
Запрос прав
Для того, чтобы присылать игрокам уведомления, необходимо запросить на это права. А для того, чтобы запросить ВКонтакте какие-либо права, необходимо изучить язык программирования Java Script для взаимодействия с VK Bridge. Что в общем-то не так уж и просто для начинающего разработчика игр, коим я и являюсь, как вы, наверняка, помните.
Если реализовать запрос прав по типовому сценарию, который описан в мануале для разработчиков, то при запросе прав будет появляться подобное диалоговое окно.
Исходя из той информации, которую мне удалось нарыть на просторах интернета, возникновение таких окон на старте игры или в начале игры, когда игрок еще ей не увлекся, чревато потерей игрока. При виде диалогового окна, в котором требуются разрешения на какие-либо права, игрок может закрыть игру и больше никогда в нее не вернуться. А это мне не нужно.
Если заходить в игры ВКонтакте, то в подавляющем большинстве игр будет при первом входе возникать следующее всплывающее окно:
Т.е. каким-то образом разработчики игр автоматически получают права на рассылку уведомлений игроку, без его на то прямого согласия путем взаимодействия с диалоговым окном.
Однако, сколько бы я не искал информацию про внедрение автоматического получения прав на рассылку уведомлений игрокам, ничего найти так и не смог. Хотя в течение месяца брался за решение задачи раза три. Все попытки были впустую, максимум, чего я мог бы добиться - это диалоговое окно, пугающее игроков.
Когда я уже почти отчаялся найти решение проблемы, мне пришла в голову мысль спросить об этом напрямую в группе разработчиков игр. Полчаса ожидания ответа и... вуаля... Всё оказалось гениально и просто.
Когда я занимался публикацией игры Повелитель Рыцарей, я заходил в неё со всех своих домашних устройств. А когда заходишь в игру - она тут же добавляется в раздел "Мои игры". Таким образом я стал участником (игроком) игры Повелитель Рыцарей еще до её публикации в каталогах ВК. А согласно правилам ВКонтакте, рассылать уведомления можно лишь в играх, размещенных в каталогах. Т.е. моя игра не была в каталогах, поэтому при первом входе в игру права на рассылку уведомлений не были предоставлены автоматически. А когда модераторы одобрили игру, событие "первого входа в игру" по очевидным причинам уже не возникало. Итак, чтобы игра автоматически получала права на рассылку уведомлений игрокам никаких кодов на Java Script писать не нужно. Всё происходит само, автоматически, при первом входе в игру. Так что, когда я удалил игру, а потом снова её добавил, всё заработало!
Спасибо хорошему совету от коллеги разработчика!
Послесловие
Спасибо, что прочитали эту статью до конца, я стараюсь регулярно делиться информацией о разработке игр для ВКонтакте.
Узнать больше о разработке игры Повелитель Рыцарей и об этапах её публикации на платформе ВКонтакте можно в следующих статьях:
Хостинг для игр ВК:
Размещение игры на Хостинге (ВКонтакте Игры, HTML5, Веб-сервер, Beget, Домен, HTTPS)
Отчет: 7 дней после публикации игры ВКонтакте:
7 дней Игре ВКонтакте (Статистика, Сколько игроков, Платил ли за рекламу, Цели, Ожидания, Выводы)