Pull to refresh
VK
Building the Internet

Новые возможности Mail.Ru API

Reading time 4 min
Views 12K
Новые возможности Mail.Ru API
После продолжительного тестирования мы запустили целую кучу нововведений в 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
Tags:
Hubs:
+7
Comments 41
Comments Comments 41

Articles

Information

Website
vk.com
Registered
Founded
Employees
5,001–10,000 employees
Location
Россия
Representative
Миша Берггрен