После продолжительного тестирования мы запустили целую кучу нововведений в Mail.Ru API для социальных приложений и внешних сайтов.
JS API и Flash API
Теперь вы можете делать вызовы к API прямо из клиентской части ваших приложений в Моем Мире и на внешних сайтах. Для этого вам нужно подключить и использовать JS API.Специально для flash-приложений мы разработали Flash API, позволяющее просто и удобно использовать все обширные возможности клиентского JS API.
Новые возможности для приложений и сайтов
Вместе с появлением клиентских API у нас появилась возможность реализовать множество очень полезных функций, которой мы не преминули воспользоваться.Запрос установки приложения
Теперь вы можете в клиентской части приложения просто вызвать метод mailru.app.users.requireInstallation и сказать, какие настройки (привилегии) вы хотите получить от пользователя. В результате вызова метода пользователю будет показан стандартный диалог установки приложения с проставленными настройками, которые вы запросили:Приглашение друзей
Тоже самое и с приглашениями. Теперь вы сами можете в нужный момент поднимать окно приглашения друзей в приложение с помощью функции mailru.app.friends.inviteЗапрос настройки или привилегии
Если вам необходима какая-то настройка, которую пользователь не предоставил — вы можете поднять диалог запроса данной привилегии с помощью функции mailru.common.users.requirePremission и узнать результат выбора пользователя — предоставил он запрошенную привилегию или нет.Запись в Гостевую Книгу
Это новый мощнейший инструмент вирального распространения приложений. С помощью записи в гостевую книгу вы можете рассказать о вашем приложении не только друзьям текущего пользователя, но и любым другим пользователям Моего Мира, вне зависимости от того, установлено у них приложение или нет.Гостевая книга — это личное пространство пользователя, в которое могут делать записи все пользователи Моего Мира, если хозяин Книги не запретил этого. Гостевая книга отображается в профиле пользователя под лентой активности «Что Нового»:
Вызвать диалог записи в Гостевую книгу вы можете с помощью функции mailru.common.guestbook.publish
В качестве параметров вы можете передать идентификатор пользователя, которому будет добавлена запись, заголовок записи, описание, картинку и до двух ссылок действия, ведущих на страницу приложения. Через эти ссылки вы можете передавать произвольный набор параметров, что позволяет реализовать любую бизнес-логику по обработке пришедших по этим ссылкам пользователей.
Запись в ленту активности Что Нового
Новый метод в JS API mailru.common.stream.publish, которая призвана заменить серверный вызов из REST API stream.publish.У нового метода есть несколько существенных преимуществ: картинки к записи загружаются с вашего сервера на лету, для записи можно указывать несколько ссылок действия, записи могут помечаться как понравившиеся и распространяться вглубь социального графа.
Мы рекомендуем активно переходить на использование нового метода записи в ленту активности Что Нового, так как он обладает большей эффективностью для разработчиков приложений и решает проблему некачественного контента для Платформы. С момента анонса серверный вызов stream.publish объявляется устаревшим и в будущем его поддержка для веб-приложений и сайтов может быть прекращена, о чем мы предупредим заранее.
Поднятие окна оплаты
Для биллинга мы тоже приготовили приятное обновление — новый метод mailru.app.payments.showDialog, вызываемый из клиентской части приложения, позволяет снизить задержку между вызовом и отображением диалога оплаты, а также программно отследить факт прохождения платежа. Сам диалог выглядит следующим образом:Теперь вы можете быстро, красиво и элегантно оповестить пользователя о начислении купленных золотых или оказании оплаченной услуги. Одним словом, highly recommended for usage, ведь это увеличит ваши доходы!
Создание фото-альбома
Хотите создать фотоальбом у пользователя для своего приложения? Или несколько? Не проблема, с новой функцией mailru.common.photos.createAlbum у вас появилась такая возможность.Сохранение фото в альбоме пользователя
Раньше разработчики не могли добавлять фотографии в альбом пользователя, а теперь могут – с помощью функции mailru.common.photos.upload. Идеальный способ для многочисленных приложений по улучшению аватар.Подробнее об использовании новых возможностей можно ознакомиться в документации: JS API, Flash API.
Пример простейшего приложения
На самом деле, начать использовать новые возможности можно быстро и непринужденно. Простейшее iframe-приложение может выглядеть примерно так:<html> <head> <script type="text/javascript" src="http://connect.mail.ru/js/loader.js"></script> </head> <body> <div id="sandbox"> <button id="inviteFrineds" type="button" onclick="invite();">Пригласить друзей</button> <button id="stream" type="button" onclick="stream();">Добавить запись в «Что нового»</button> </div> <script type="text/javascript"> mailru.loader.require('api', function() { mailru.app.init('ваш приватный ключ из настроек приложения'); // все готово, здесь можно работать с функциями API //проверяем, установлено ли приложение у пользователя if (mailru.session.is_app_user != 1) { //если не установлено - вызываем диалог установки с разрешением на размещение виджета mailru.app.users.requireInstallation(['widget']); return false; } }); function invite() { mailru.app.friends.invite(); return false; } function stream() { mailru.common.stream.publish({ 'title': 'Заголовок', 'text': 'Текст', 'img_url': 'http://bitman.me/mailru/demo/img/stream_pic.jpeg', 'action_links': [ { 'text': 'ссылка действия', 'href': document.location.host + '#link1' } ] }); return false; } </script> </body> </html>
Более полный пример лежит на github, там же есть пример использования библиотеки на внешнем сайте.
Создать приложение или зарегистрировать сайт для экспериментов можно на портале для разработчиков api.mail.ru
Постскриптум
Хочется сказать отдельное спасибо всем разработчикам, принимавшим активное участие в тестировании новых возможностей — без вашей помощи этот релиз случился бы позже и получился бы намного менее качественным.Если у хабрасообщества есть интерес к теме социальных приложений и интеграции социальных API на сайты, то мы можем организовать онлайн-конференцию на хабре, на которой я и другие члены нашей команды ответим на любые заданные хабраюзерами вопросы. Пишите в комментариях, насколько вам это интересно.
За бананами обращайтесь на app@corp.mail.ru
Старался для вас Алексей Терехов из команды Платформа@Mail.Ru