SailPlay HUB - это инструмент, для создания собственных виджетов для работы с сервисом SailPlay.
За счет событийного взаимодействия и независимости от внешних библиотек, модуль удобно встраивается в любой фрэймворк или, написанный Вами код.
Для работы с SailPlay HUB, необходимо добавить на страницу тег:
<script src="ссылка на файл sailplay_hub.js"></script>
Модуль работает на системе событий.
Модуль взаимодействует с сервером SailPlay с помощью JSONP запросов, поэтому может располагаться на любом домене.
Основной принцип работы с модулем:
SAILPLAY.send( '{название-события}', {объект-параметр} );
SAILPLAY.on( '{название-события}', {функция-обработчик-принимающая-возвращаемый-объект} );
На данный момент реализованы следующие события:
SAILPLAY.send('init', { partner_id: 206 }); //инициируем модуль для партнера с айди = 206 SAILPLAY.on('init.success', function(){ //после успешной инициализации SAILPLAY.send('login', '38c6285d1b1bce88a1071f116704263bf2511b18'); //авторизуем пользователя }); SAILPLAY.on('login.success', function(){ //после успешной авторизации SAILPLAY.send('load.user.info'); //загружаем данные пользователя SAILPLAY.send('load.user.history'); //загружаем историю действий пользователя SAILPLAY.send('load.gifts.list'); //загружаем список подарков SAILPLAY.send('load.badges.list'); //загружаем список бейджиков SAILPLAY.send('load.actions.list'); //загружаем список действий }); SAILPLAY.on('load.gifts.list.success', function(gifts){ //после загрузки списка подарков SAILPLAY.send('gifts.purchase', gifts[0]); //пользователь получает первый подарок из списка }); SAILPLAY.on('load.actions.list.success', function(data){ //после загрузки списка действий SAILPLAY.send('actions.perform', data.actions[1]); //пользователь выполняет второе действие из списка }); SAILPLAY.on('actions.perform.complete', function(){ //после выполнения действия SAILPLAY.send('load.actions.list'); //обновляем список действий }); SAILPLAY.on('actions.social.connect.complete', function(){ //после привязки социального аккаунта пользователем SAILPLAY.send('load.actions.list'); //обновляем список действий });