SlideShare a Scribd company logo
1 of 16
Download to read offline
Интеграция проекта
в несколько социальных сетей
не причина головной боли
Алексей “Vooparker” Аникутин
Компания Rocket Jump, Москва
FlashGAMM Moscow 2013
Схема интеграции проекта
с социальной сетью
Social Platform API
Client Server
- Проектно-специфичные взаимосвязи
- Платформо-специфичные взаимосвязи
Проблемы И Особенности
1. Интеграция проекта затрагивает несколько компонентов
приложения (клиент, сервер, прочие сервисы)
2. Различные социальные платформы предоставляют разный
функционал по интеграции
3. Код, отвечающий за взаимодействие с социальной сетью, тесно
вплетен в основной код проекта
4. «Столкновения» разработчиков на одном участке кода
ЗАДАЧИ
Основная цель – упростить процесс интеграции до обычной рутины
1. Техническая составляющая интеграции в новую социальную сеть
должна занимать минимальные сроки и ресурсы (не более одной
недели)
2. Процесс интеграции не должен никаким образом сказываться на
разработке функционала
3. Процесс интеграции может происходить в несколько социальных
сетей одновременно
4. Учет специфичного функционала каждой из социальных сетей
Решение
Необходимо выделить все что так или иначе связано с интеграцией
в отдельный слой, который станет промежуточным звеном между
вашим приложением и API социальной сети.
Схема интеграции проекта
с социальной сетью
Social Platform API
Client Server
- Проектно-специфичные взаимосвязи
- Платформо-специфичные взаимосвязи
Web Platform Context Payment
Other
services
Страница приложения
Задачи:
• Интерпретация платформо-специфичных параметров запуска
приложения
• Проверка авторизации пользователя социальной сети и выдача
данных авторизации для игрового сервера
• Платформо-специфичный функционал
Клиент и контекст платформы
1. Клиент ничего не знает о том, в какой социальной сети он
запущен, он знает лишь о том, что выполняется в контексте.
2. Все задачи, связанные с социальными механиками, клиент
передает в качестве «игрового» запроса в контекст.
3. Контекст транслирует игровой запрос в конкретную механику
социальной сети, после чего возвращает в «игровом» формате
результат выполнения запроса.
Клиент и
платформо-специфичные механики
1. Несмотря на общую схожесть, разные социальные сети
предоставляют свой набор механик. Причем, чем в больше
количество социальных сетей проект интегрирован, тем меньше
пересечений.
2. Иными словами проект должен знать о том, в рамках какой
социальной сети он запущен. Или нет?
3. Для того, чтобы не оперировать знанием о текущей социальной
сети, мы используем понятие «фича».
4. В коде проекта мы просто проверяем, поддерживает ли контекст
данную «фичу».
Клиент и
платформо-специфичные механики
if(isVkontakte)
{
// call vkontakte api method
}
else if (isOdnoklassniki)
{
// call odnoklassniki api
method
}
...
else if (isFacebook)
{
// call facebook api method
}
if(Platform.context.isFeatureSupported
(SAVE_SCREENSHOT))
{
Platform.context.execute(new
SaveScreenShotRequest(bitmapData));
...
}
Схема
взаимодействия игры и контекста
Social Platform API
Platform Context Logic
Social Platform API Library
Game Logic
Translate PlatformRequests to specific actions
Custom Service API
Custom Service API Library
PlatformContext
- Проектно-специфичные взаимосвязи
- Платформо-специфичные взаимосвязи
Программный интерфейс
PlatformContext
public interface IPlatformContext
{
function configure (params:Object):void;
function execute (request:PlatformRequest):PlatformProcess;
function isFeatureSupported (name:String):Boolean;
}
Взаимодействие
сервер-сервер
Основная идея – выделение платформо-специфичного
функционала в виде набора отдельных сервисов.
Две группы сервисов:
1. «Принимающие» сервисы (платежный сервис)
2. «Отправляющие» сервисы
Схема взаимодействие
сервер-сервер
Social Platform API
Payment
Server Logic
Custom Service API
Event Service Logic
- Проектно-специфичные взаимосвязи
Event Service
- Платформо-специфичные взаимосвязи
Platform Plugin Service Plugin
Итоги
1. Четкое разделение «игрового» кода и кода, отвечающего за
интеграцию.
2. Прозрачная архитектура
3. Возможность интеграции в несколько социальных сетей
одновременно.
4. Возможность развивать игровые механики параллельно с
процессом интеграции
5. Учет платформоспецифичных механик
Спасибо за внимание
Вопросы?
Присылайте свои резюме на:
wanted@rocketjump.ru
Хотите у нас работать?

More Related Content

Viewers also liked

Ринат Ибрагимов - Региональное SEO: продвижение сайтов, созданных на  Drupal
Ринат Ибрагимов - Региональное SEO: продвижение сайтов, созданных на  DrupalРинат Ибрагимов - Региональное SEO: продвижение сайтов, созданных на  Drupal
Ринат Ибрагимов - Региональное SEO: продвижение сайтов, созданных на  DrupalDrupalSib
 
Drafts of Adverts & Double Page Spreads
Drafts of Adverts & Double Page SpreadsDrafts of Adverts & Double Page Spreads
Drafts of Adverts & Double Page Spreadsshansloynn
 
Control de constitucionalidad y de convencionalidad
Control de constitucionalidad y de convencionalidadControl de constitucionalidad y de convencionalidad
Control de constitucionalidad y de convencionalidadMitzi Linares Vizcarra
 

Viewers also liked (8)

Paraolinpiadak
ParaolinpiadakParaolinpiadak
Paraolinpiadak
 
Ринат Ибрагимов - Региональное SEO: продвижение сайтов, созданных на  Drupal
Ринат Ибрагимов - Региональное SEO: продвижение сайтов, созданных на  DrupalРинат Ибрагимов - Региональное SEO: продвижение сайтов, созданных на  Drupal
Ринат Ибрагимов - Региональное SEO: продвижение сайтов, созданных на  Drupal
 
Drafts of Adverts & Double Page Spreads
Drafts of Adverts & Double Page SpreadsDrafts of Adverts & Double Page Spreads
Drafts of Adverts & Double Page Spreads
 
06 seca1
06 seca106 seca1
06 seca1
 
CvSysadminOpsDestinieLANDRAC
CvSysadminOpsDestinieLANDRACCvSysadminOpsDestinieLANDRAC
CvSysadminOpsDestinieLANDRAC
 
Paraolimpiadak
ParaolimpiadakParaolimpiadak
Paraolimpiadak
 
Control de constitucionalidad y de convencionalidad
Control de constitucionalidad y de convencionalidadControl de constitucionalidad y de convencionalidad
Control de constitucionalidad y de convencionalidad
 
Lesson three
Lesson threeLesson three
Lesson three
 

Similar to Rocket Jump: Project integration into few social networks is not a headache

Миграция Web-проекта в облако. И.Гальцев.
Миграция Web-проекта в облако. И.Гальцев.Миграция Web-проекта в облако. И.Гальцев.
Миграция Web-проекта в облако. И.Гальцев.Clouds NN
 
UAFPUG6 - PureMVC
UAFPUG6 - PureMVCUAFPUG6 - PureMVC
UAFPUG6 - PureMVCmandrew182
 
Uafpug 8 Presentation Puremvc Papervision Gallery Kuriksha Dmitry
Uafpug 8 Presentation Puremvc Papervision Gallery Kuriksha DmitryUafpug 8 Presentation Puremvc Papervision Gallery Kuriksha Dmitry
Uafpug 8 Presentation Puremvc Papervision Gallery Kuriksha DmitryMax Rozdobudko
 
Android - 15 - Social
Android - 15 - SocialAndroid - 15 - Social
Android - 15 - SocialNoveo
 
Шаблоны проектирования в Magento
Шаблоны проектирования в MagentoШаблоны проектирования в Magento
Шаблоны проектирования в MagentoPavel Usachev
 
Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...Mikhail Vanin
 
CodeFest 2013. Биллевич В. — SDK мобильного сервиса. Добавление новой функцио...
CodeFest 2013. Биллевич В. — SDK мобильного сервиса. Добавление новой функцио...CodeFest 2013. Биллевич В. — SDK мобильного сервиса. Добавление новой функцио...
CodeFest 2013. Биллевич В. — SDK мобильного сервиса. Добавление новой функцио...CodeFest
 
Новые возможности IBM WebSphere Portal v8 и IBM WCM v8
Новые возможности IBM WebSphere Portal v8 и IBM WCM v8Новые возможности IBM WebSphere Portal v8 и IBM WCM v8
Новые возможности IBM WebSphere Portal v8 и IBM WCM v8Anatoly Kireev
 
презентация Адеев Николай, Artsofte для Tеlecom&Clouds 2014
презентация Адеев Николай, Artsofte для Tеlecom&Clouds 2014презентация Адеев Николай, Artsofte для Tеlecom&Clouds 2014
презентация Адеев Николай, Artsofte для Tеlecom&Clouds 2014Artsofte IT company
 
методология Rad (46)
методология Rad (46)методология Rad (46)
методология Rad (46)romachka_pole
 
1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NETMedia Gorod
 
Разработка профессионального стандарта "Специалист по интеграции облачных при...
Разработка профессионального стандарта "Специалист по интеграции облачных при...Разработка профессионального стандарта "Специалист по интеграции облачных при...
Разработка профессионального стандарта "Специалист по интеграции облачных при...Сергей Лебедев
 
Модульная структура. Цветцих Денис D2D Just.NET
Модульная структура. Цветцих Денис D2D Just.NETМодульная структура. Цветцих Денис D2D Just.NET
Модульная структура. Цветцих Денис D2D Just.NETDev2Dev
 
Модульная структура
Модульная структураМодульная структура
Модульная структураDenis Tsvettsih
 
Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"Fwdays
 
«трудности при разработке сложных распределённых систем на Java. способы реше...
«трудности при разработке сложных распределённых систем на Java. способы реше...«трудности при разработке сложных распределённых систем на Java. способы реше...
«трудности при разработке сложных распределённых систем на Java. способы реше...MDDay_4
 
Backend as a service Scorocode for mobile, web and desktop apps
Backend as a service Scorocode for mobile, web and desktop appsBackend as a service Scorocode for mobile, web and desktop apps
Backend as a service Scorocode for mobile, web and desktop appsMichael Epikhin
 
Микросервисы в .NET Core
Микросервисы в .NET CoreМикросервисы в .NET Core
Микросервисы в .NET CoreAndrew Gubskiy
 
Symfony2 practice
Symfony2 practiceSymfony2 practice
Symfony2 practiceSkorney
 

Similar to Rocket Jump: Project integration into few social networks is not a headache (20)

Миграция Web-проекта в облако. И.Гальцев.
Миграция Web-проекта в облако. И.Гальцев.Миграция Web-проекта в облако. И.Гальцев.
Миграция Web-проекта в облако. И.Гальцев.
 
UAFPUG6 - PureMVC
UAFPUG6 - PureMVCUAFPUG6 - PureMVC
UAFPUG6 - PureMVC
 
Uafpug 8 Presentation Puremvc Papervision Gallery Kuriksha Dmitry
Uafpug 8 Presentation Puremvc Papervision Gallery Kuriksha DmitryUafpug 8 Presentation Puremvc Papervision Gallery Kuriksha Dmitry
Uafpug 8 Presentation Puremvc Papervision Gallery Kuriksha Dmitry
 
PureMVC and Papervision
PureMVC and PapervisionPureMVC and Papervision
PureMVC and Papervision
 
Android - 15 - Social
Android - 15 - SocialAndroid - 15 - Social
Android - 15 - Social
 
Шаблоны проектирования в Magento
Шаблоны проектирования в MagentoШаблоны проектирования в Magento
Шаблоны проектирования в Magento
 
Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...Идентификация и аутентификация - встроенные функции безопасности или задачи с...
Идентификация и аутентификация - встроенные функции безопасности или задачи с...
 
CodeFest 2013. Биллевич В. — SDK мобильного сервиса. Добавление новой функцио...
CodeFest 2013. Биллевич В. — SDK мобильного сервиса. Добавление новой функцио...CodeFest 2013. Биллевич В. — SDK мобильного сервиса. Добавление новой функцио...
CodeFest 2013. Биллевич В. — SDK мобильного сервиса. Добавление новой функцио...
 
Новые возможности IBM WebSphere Portal v8 и IBM WCM v8
Новые возможности IBM WebSphere Portal v8 и IBM WCM v8Новые возможности IBM WebSphere Portal v8 и IBM WCM v8
Новые возможности IBM WebSphere Portal v8 и IBM WCM v8
 
презентация Адеев Николай, Artsofte для Tеlecom&Clouds 2014
презентация Адеев Николай, Artsofte для Tеlecom&Clouds 2014презентация Адеев Николай, Artsofte для Tеlecom&Clouds 2014
презентация Адеев Николай, Artsofte для Tеlecom&Clouds 2014
 
методология Rad (46)
методология Rad (46)методология Rad (46)
методология Rad (46)
 
1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET
 
Разработка профессионального стандарта "Специалист по интеграции облачных при...
Разработка профессионального стандарта "Специалист по интеграции облачных при...Разработка профессионального стандарта "Специалист по интеграции облачных при...
Разработка профессионального стандарта "Специалист по интеграции облачных при...
 
Модульная структура. Цветцих Денис D2D Just.NET
Модульная структура. Цветцих Денис D2D Just.NETМодульная структура. Цветцих Денис D2D Just.NET
Модульная структура. Цветцих Денис D2D Just.NET
 
Модульная структура
Модульная структураМодульная структура
Модульная структура
 
Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"
 
«трудности при разработке сложных распределённых систем на Java. способы реше...
«трудности при разработке сложных распределённых систем на Java. способы реше...«трудности при разработке сложных распределённых систем на Java. способы реше...
«трудности при разработке сложных распределённых систем на Java. способы реше...
 
Backend as a service Scorocode for mobile, web and desktop apps
Backend as a service Scorocode for mobile, web and desktop appsBackend as a service Scorocode for mobile, web and desktop apps
Backend as a service Scorocode for mobile, web and desktop apps
 
Микросервисы в .NET Core
Микросервисы в .NET CoreМикросервисы в .NET Core
Микросервисы в .NET Core
 
Symfony2 practice
Symfony2 practiceSymfony2 practice
Symfony2 practice
 

More from DevGAMM Conference

The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...DevGAMM Conference
 
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...DevGAMM Conference
 
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...DevGAMM Conference
 
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...DevGAMM Conference
 
AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)DevGAMM Conference
 
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...DevGAMM Conference
 
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...DevGAMM Conference
 
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...DevGAMM Conference
 
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...DevGAMM Conference
 
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)DevGAMM Conference
 
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)DevGAMM Conference
 
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...DevGAMM Conference
 
How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...DevGAMM Conference
 
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)DevGAMM Conference
 
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...DevGAMM Conference
 
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...DevGAMM Conference
 
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...DevGAMM Conference
 
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...DevGAMM Conference
 
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...DevGAMM Conference
 
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...DevGAMM Conference
 

More from DevGAMM Conference (20)

The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...The art of small steps, or how to make sound for games in conditions of war /...
The art of small steps, or how to make sound for games in conditions of war /...
 
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
Breaking up with FMOD - Why we ended things and embraced Metasounds / Daniel ...
 
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
How Audio Objects Improve Spatial Accuracy / Mads Maretty Sønderup (Audiokine...
 
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
Why indie developers should consider hyper-casual right now / Igor Gurenyov (...
 
AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)AI / ML for Indies / Tyler Coleman (Retora Games)
AI / ML for Indies / Tyler Coleman (Retora Games)
 
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
Agility is the Key: Power Up Your GameDev Project Management with Agile Pract...
 
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
New PR Tech and AI Tools for 2023: A Game Changer for Outreach / Kirill Perev...
 
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
Playable Ads - Revolutionizing mobile games advertising / Jakub Kukuryk (Popc...
 
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
Creative Collaboration: Managing an Art Team / Nastassia Radzivonava (Glera G...
 
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
From Local to Global: Unleashing the Power of Payments / Jan Kuhlmannn (Xsolla)
 
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
Strategies and case studies to grow LTV in 2023 / Julia Iljuk (Balancy)
 
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
Why is ASO not working in 2023 and how to change it? / Olena Vedmedenko (Keya...
 
How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...How to increase wishlists & game sales from China? Growth marketing tactics &...
How to increase wishlists & game sales from China? Growth marketing tactics &...
 
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
Turkish Gaming Industry and HR Insights / Mustafa Mert EFE (Zindhu)
 
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
Building an Awesome Creative Team from Scratch, Capable of Scaling Up / Sasha...
 
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
Seven Reasons Why Your LiveOps Is Not Performing / Alexander Devyaterikov (Be...
 
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
The Power of Game and Music Collaborations: Reaching and Engaging the Masses ...
 
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...Branded Content: How to overcome players' immunity to advertising / Alex Brod...
Branded Content: How to overcome players' immunity to advertising / Alex Brod...
 
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
Resurrecting Chasm: The Rift - A Source-less Remastering Journey / Gennadii P...
 
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
How NOT to do showcase events: Behind the scenes of Midnight Show / Andrew Ko...
 

Rocket Jump: Project integration into few social networks is not a headache

  • 1. Интеграция проекта в несколько социальных сетей не причина головной боли Алексей “Vooparker” Аникутин Компания Rocket Jump, Москва FlashGAMM Moscow 2013
  • 2. Схема интеграции проекта с социальной сетью Social Platform API Client Server - Проектно-специфичные взаимосвязи - Платформо-специфичные взаимосвязи
  • 3. Проблемы И Особенности 1. Интеграция проекта затрагивает несколько компонентов приложения (клиент, сервер, прочие сервисы) 2. Различные социальные платформы предоставляют разный функционал по интеграции 3. Код, отвечающий за взаимодействие с социальной сетью, тесно вплетен в основной код проекта 4. «Столкновения» разработчиков на одном участке кода
  • 4. ЗАДАЧИ Основная цель – упростить процесс интеграции до обычной рутины 1. Техническая составляющая интеграции в новую социальную сеть должна занимать минимальные сроки и ресурсы (не более одной недели) 2. Процесс интеграции не должен никаким образом сказываться на разработке функционала 3. Процесс интеграции может происходить в несколько социальных сетей одновременно 4. Учет специфичного функционала каждой из социальных сетей
  • 5. Решение Необходимо выделить все что так или иначе связано с интеграцией в отдельный слой, который станет промежуточным звеном между вашим приложением и API социальной сети.
  • 6. Схема интеграции проекта с социальной сетью Social Platform API Client Server - Проектно-специфичные взаимосвязи - Платформо-специфичные взаимосвязи Web Platform Context Payment Other services
  • 7. Страница приложения Задачи: • Интерпретация платформо-специфичных параметров запуска приложения • Проверка авторизации пользователя социальной сети и выдача данных авторизации для игрового сервера • Платформо-специфичный функционал
  • 8. Клиент и контекст платформы 1. Клиент ничего не знает о том, в какой социальной сети он запущен, он знает лишь о том, что выполняется в контексте. 2. Все задачи, связанные с социальными механиками, клиент передает в качестве «игрового» запроса в контекст. 3. Контекст транслирует игровой запрос в конкретную механику социальной сети, после чего возвращает в «игровом» формате результат выполнения запроса.
  • 9. Клиент и платформо-специфичные механики 1. Несмотря на общую схожесть, разные социальные сети предоставляют свой набор механик. Причем, чем в больше количество социальных сетей проект интегрирован, тем меньше пересечений. 2. Иными словами проект должен знать о том, в рамках какой социальной сети он запущен. Или нет? 3. Для того, чтобы не оперировать знанием о текущей социальной сети, мы используем понятие «фича». 4. В коде проекта мы просто проверяем, поддерживает ли контекст данную «фичу».
  • 10. Клиент и платформо-специфичные механики if(isVkontakte) { // call vkontakte api method } else if (isOdnoklassniki) { // call odnoklassniki api method } ... else if (isFacebook) { // call facebook api method } if(Platform.context.isFeatureSupported (SAVE_SCREENSHOT)) { Platform.context.execute(new SaveScreenShotRequest(bitmapData)); ... }
  • 11. Схема взаимодействия игры и контекста Social Platform API Platform Context Logic Social Platform API Library Game Logic Translate PlatformRequests to specific actions Custom Service API Custom Service API Library PlatformContext - Проектно-специфичные взаимосвязи - Платформо-специфичные взаимосвязи
  • 12. Программный интерфейс PlatformContext public interface IPlatformContext { function configure (params:Object):void; function execute (request:PlatformRequest):PlatformProcess; function isFeatureSupported (name:String):Boolean; }
  • 13. Взаимодействие сервер-сервер Основная идея – выделение платформо-специфичного функционала в виде набора отдельных сервисов. Две группы сервисов: 1. «Принимающие» сервисы (платежный сервис) 2. «Отправляющие» сервисы
  • 14. Схема взаимодействие сервер-сервер Social Platform API Payment Server Logic Custom Service API Event Service Logic - Проектно-специфичные взаимосвязи Event Service - Платформо-специфичные взаимосвязи Platform Plugin Service Plugin
  • 15. Итоги 1. Четкое разделение «игрового» кода и кода, отвечающего за интеграцию. 2. Прозрачная архитектура 3. Возможность интеграции в несколько социальных сетей одновременно. 4. Возможность развивать игровые механики параллельно с процессом интеграции 5. Учет платформоспецифичных механик
  • 16. Спасибо за внимание Вопросы? Присылайте свои резюме на: wanted@rocketjump.ru Хотите у нас работать?