Создание Adobe AIR клиента для социальных сетей на примере...

19

Click here to load reader

description

How to create a Chess Game for Twitter using Adobe AIR. Presentation language: Russian.

Transcript of Создание Adobe AIR клиента для социальных сетей на примере...

Page 1: Создание Adobe AIR клиента для социальных сетей на примере Twitter

Создание Adobe AIR Создание Adobe AIR клиента для социальных клиента для социальных сетей на примере Twitterсетей на примере Twitter

Нетрибовский Дмитрий, компания «Абсолютист»

Page 2: Создание Adobe AIR клиента для социальных сетей на примере Twitter

Социальная сетьСоциальная сеть Многопользовательский веб-сайт, Многопользовательский веб-сайт,

контент которого наполняется контент которого наполняется самими участниками сетисамими участниками сети

Сервис представляет собой Сервис представляет собой автоматизированную социальную автоматизированную социальную среду, позволяющую общаться среду, позволяющую общаться группе пользователей, группе пользователей, объединенных общими интересамиобъединенных общими интересами

Page 3: Создание Adobe AIR клиента для социальных сетей на примере Twitter

Примеры социальных сетейПримеры социальных сетей

FacebookFacebook MySpaceMySpace OdnoklassnikiOdnoklassniki VkontakteVkontakte TwitterTwitter И много других…И много других…

Page 4: Создание Adobe AIR клиента для социальных сетей на примере Twitter

Доступ к информацииДоступ к информации

Web-interfaceWeb-interface

AApplication programming pplication programming interface (API)interface (API)

Имеет некоторые ограниченияИмеет некоторые ограничения

Page 5: Создание Adobe AIR клиента для социальных сетей на примере Twitter

TwitterTwitter

Сервис, представляющий собой Сервис, представляющий собой систему микроблогов, систему микроблогов, позволяющий пользователям позволяющий пользователям отправлять короткие текстовые отправлять короткие текстовые заметки, используязаметки, используя

веб-интерфейсвеб-интерфейс SMSSMS сторонние программы-клиентысторонние программы-клиенты

Page 6: Создание Adobe AIR клиента для социальных сетей на примере Twitter

Twitter APITwitter API Позволяет создавать приложения, Позволяет создавать приложения,

веб-сайты, виджеты и другие веб-сайты, виджеты и другие проекты, которые проекты, которые взаимодействуют с взаимодействуют с TwitterTwitter

Позволяет получить доступ ко Позволяет получить доступ ко всем возможностям всем возможностям TwitterTwitter,, не не используяиспользуя

веб-интерфейс веб-интерфейс twitter.comtwitter.com

Page 7: Создание Adobe AIR клиента для социальных сетей на примере Twitter

Особенности Особенности Twitter APITwitter API

Полностью основан на Полностью основан на HTTPHTTP ((вызывается вызывается URL URL с некоторыми с некоторыми параметрами)параметрами)

Формат возвращаемых значений: Формат возвращаемых значений: XML, JSON,XML, JSON, RSS RSS и и AtomAtom в некоторых в некоторых методах возможно использование методах возможно использование только определенных форматовтолько определенных форматов..

Page 8: Создание Adobe AIR клиента для социальных сетей на примере Twitter

Ограничения Ограничения Twitter APITwitter API

<=<= 1000 обновлений статуса в день 1000 обновлений статуса в день <= <= 250250 прямых сообщений в день прямых сообщений в день <=<= 150 150 запросов на получение запросов на получение

данных в часданных в час

Цель: избежать использования сервиса Цель: избежать использования сервиса не по назначению, обезопасить не по назначению, обезопасить сервер от больших нагрузок.сервер от больших нагрузок.

Page 9: Создание Adobe AIR клиента для социальных сетей на примере Twitter

Еще одно ограничение…Еще одно ограничение…

Доступ Доступ swfswf файлов к файлов к twitter.comtwitter.com закрзакрыт в crossdomain.xmlыт в crossdomain.xml

Результат: невозможность Результат: невозможность использования использования flashflash приложений приложений для доступа к для доступа к Twitter API Twitter API напрямуюнапрямую

Page 10: Создание Adobe AIR клиента для социальных сетей на примере Twitter

Выход?Выход?Использовать Использовать php php прокси, чтобы обойтипрокси, чтобы обойти

ограничения безопасности.ограничения безопасности.

Например, такой: Например, такой: proxy.phpproxy.php

И вместо вызоваИ вместо вызоваhttp://twitter.com/statuses/user_timeline/http://twitter.com/statuses/user_timeline/useruser.xml.xml

вызовемвызовемhttp://http://mymy

server.com/proxy.php?url=http://twitter.com/statuses/server.com/proxy.php?url=http://twitter.com/statuses/user_timeline/user_timeline/useruser.xml.xml

Результат: все работаеРезультат: все работаетт

<?php <?php $url = $_GET['url'];$url = $_GET['url'];readfile($url);?>readfile($url);?>

Page 11: Создание Adobe AIR клиента для социальных сетей на примере Twitter

Все работает, но…Все работает, но…

Вспомним ограничение:Вспомним ограничение:

<=<= 150 150 запросов в часзапросов в час

Запрсы бывают:Запрсы бывают:• в рамках учетной записи пользователяв рамках учетной записи пользователя• в рамках в рамках IP IP адресаадреса

В итоге: В итоге: через некоторое время через некоторое время proxy.phpproxy.php

перестанет получать доступ к перестанет получать доступ к twitter APItwitter API..

Page 12: Создание Adobe AIR клиента для социальных сетей на примере Twitter

Почему Почему Adobe AIR?Adobe AIR?

crossdomain.xmlcrossdomain.xml не влияет на не влияет на права доступаправа доступа

У каждого пользователя У каждого пользователя свой свой IPIP адресадрес

Кросс-платформенностьКросс-платформенность ММы все-таки разрабатываем ы все-таки разрабатываем flash flash

приложенияприложения……

Page 13: Создание Adobe AIR клиента для социальных сетей на примере Twitter

Создание клиента. Создание клиента. Авторизация.Авторизация.

Способ 1:Способ 1:• Используя протокол Используя протокол OAuthOAuth

(Более сложный и более безопасный)(Более сложный и более безопасный) Способ 2:Способ 2:

• Используя Используя Basic Access AuthenticationBasic Access Authentication

(Менее сложный и менее безопасный)(Менее сложный и менее безопасный)

((подробнее подробнее в документации в документации Twitter)Twitter)

Page 14: Создание Adobe AIR клиента для социальных сетей на примере Twitter

Создание клиентаСоздание клиента.. Получение/отправка данныхПолучение/отправка данных

Шаг1. Сформировать запросШаг1. Сформировать запросurl=url=http://twitter.com/statuses/public_timeline.xml?http://twitter.com/statuses/public_timeline.xml?

count=5count=5

Шаг2. Шаг2. Отправить запросОтправить запросurlLurlLoader.load(oader.load( new UrlRequest( url ) new UrlRequest( url ) ))

Шаг3. Обработать результатШаг3. Обработать результат(Исходя из запрошенного формата)(Исходя из запрошенного формата)

Подробно про запросы написано здесь:Подробно про запросы написано здесь:http://apiwiki.twitter.com/Twitter-API-Documentationhttp://apiwiki.twitter.com/Twitter-API-Documentation

Page 15: Создание Adobe AIR клиента для социальных сетей на примере Twitter

На что обратить внимание при На что обратить внимание при создании клиента для создании клиента для TwitterTwitter

Следить за количством Следить за количством сделанных/оставшихся запросовсделанных/оставшихся запросов

Исходя из этого подобрать (настраивать) Исходя из этого подобрать (настраивать) оптимальное время обновления данныхоптимальное время обновления данных

Кэшировать Кэшировать полученнполученные данныеые данные Длина сообщения не может превышать Длина сообщения не может превышать

140 символов140 символов Дублируемые сообщения не публикуютсяДублируемые сообщения не публикуются Функциональность сервиса все время Функциональность сервиса все время

развивается и меняетсяразвивается и меняется

Page 16: Создание Adobe AIR клиента для социальных сетей на примере Twitter

Клиент для игры в шахматы Клиент для игры в шахматы через через TwitterTwitter..

Возможности:Возможности:1.1. АвторизацияАвторизация

2.2. Получение списка друзей и выбор из них Получение списка друзей и выбор из них оппонентаоппонента

3.3. Начало новой игры/продолжение ранее начатойНачало новой игры/продолжение ранее начатой

4.4. Публикация ссылки с ходом на Публикация ссылки с ходом на TwitterTwitter

5.5. СчитСчитывание хода противника с ывание хода противника с TwitterTwitter

6.6. При длине сообщения, превышающей 140 При длине сообщения, превышающей 140 символов, сворачивание ссылки на ход при символов, сворачивание ссылки на ход при помощи внешнего сервисапомощи внешнего сервиса

7.7. Отображение позиции в игреОтображение позиции в игре

8.8. Чат через публикацию сообщений в Чат через публикацию сообщений в TwitterTwitter

Page 17: Создание Adobe AIR клиента для социальных сетей на примере Twitter

Клиент для игры в шахматы Клиент для игры в шахматы через через TwitterTwitter..

• Ходы остаются “записаны” Ходы остаются “записаны” в в Twitter Twitter и игра может быть и игра может быть воспроизведенавоспроизведена

• Другие пользователи могут Другие пользователи могут просмотреть игрупросмотреть игру

Page 18: Создание Adobe AIR клиента для социальных сетей на примере Twitter

Клиент для игры в шахматы через Клиент для игры в шахматы через TwitterTwitter. . Демонстрация.Демонстрация.

TwitterTwitter КлиентКлиент

Page 19: Создание Adobe AIR клиента для социальных сетей на примере Twitter

Вопросы?Вопросы?