company_banner

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

    Новые возможности 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
    Mail.ru Group
    1122,00
    Строим Интернет
    Поделиться публикацией

    Похожие публикации

    Комментарии 41

      –9
      Где-то я это уже все видел…
        –7
        Угу прикольно, только зачем вы?) когда вся аудитория во вконтакте?)
          +6
          Позволю себе немного с вами не согласиться:
          stat.mail.ru/?stat=project&pid=5

          Кроме того, по мнению многих разработчиков приложений, доход от их приложений в Моем Мире превышает доходы с других площадок, что оправдывает наше существование и опровергает теорию об отсутствии аудитории :)
            0
            А вам сложно выносить сей важный момент в пост (открытый доступ)? Ведь многое делается ради денег. Покажите экономику сразу.
              0
              Неплохая мысль для еще одного поста — показать экономику приложения, спасибо за идею. Подготовим и опубликуем. Только нужно найти разработчика, который не постесняется опубликовать свои данные, так как мы их публиковать не имеем права.
                0
                Не обязательно препарировать разработчика. Эппл, например, говорит общие цифры — продано айфонов вооот столько (аудитория), скачано приложений воооот столько (активная/ платежеспособная аудитория), а разрабочикам мы выплатили миллиард миллиардов (объем рынка).
            +5
            Аудитория в вконтаке, в одноклассниках, в мейл-ру совершенно разная. Отличается и средний возраст, платежеспособность, коэфициенты виральности и другие параметры, влияющие на монетизацию. Каждая соц сеть уникальная. Аналогично можно сказать, зачем нам вконтакт, когда вся аудитория в фейсбуке.
              0
              Совершенно верно. А в случаем Моего Мира получается даже так:
              Мейл.Ру + ICQ (dst) + Одноклассники, о чем говорилось некоторое время назад в пресс-релизах — и получается очень перспективная платформа, с гипотетически _очень_ широкими возможностями.
              +9
              вконтакт для разработчиков уже не торт(
              • НЛО прилетело и опубликовало эту надпись здесь
                0
                  +1
                  Красота, а там были нормальные фото?
                    +3
                    Напишите мне в личку, что произошло подробнее. Я попробую разобраться.
                    +3
                    Начал переводить iframe приложение с Контакта на Мейл

                    Обнаружил, что нет метода управления скролом.

                    Хотя он активно используется в наших приложениях (http://vkontakte.ru/app1891893 vkontakte.ru/app1843826)

                    Затем невозможность указать в качестве адреса iframe приложения — свой локальных хост. А это минус не дает разрабатывать приложение «дома». Приходится постоянно заливать в инет. (не дает, потому что проверяет наличие reciever.html а ессно с домашнего ПК он недоступен)

                      +3
                      + Еще

                      Вконтакте в настройках приложений есть замечательная функция «Первый запрос в приложение» там указываешь API код, и он вызывается при запуске приложения и результат подставляется в GET

                      В итоге, лично я туда вставлял вызов метода возвращающего информацию о юзере и у меня в гете всегда была информация о юзера, которую я при отсутствии/неактуальности у меня в БД — обновлял.

                      У вас же сейчас приходится делать сервер-сервер запрос с методом получения информации о юзере…
                      Что не очень удобно…

                      Почему я начал переводить приложение в Мой Мир?
                      Потому что контакт не дает возможности разработчикам раскручивать бесплатно свое приложение.

                      Попробую в Моем Мире. Если одно пойдет — то остальные тоже переводу.

                      На данный момент политика ММ мне больше нравится.
                      На вопрос в суппорт — мне ответили за пару часов.

                      Вконтакте же суппорта вообще нет.
                      В офф группы администрация почти не заходит.

                      Посмотрим, что из этого выйдет.
                        +1
                        А еще мы приложения модерируем за один рабочий день :)

                        На счет того, что с локальной машине не удобно разрабатывать, знаем, планируем улучшить этот аспект.

                        Возможность усправления скроллом сделаем.
                        • НЛО прилетело и опубликовало эту надпись здесь
                            0
                            Действительно, мы не гарантируем, что каждое приложение получит бесплатный пакет рекламы, однако есть четкие правила его получения: api.mail.ru/wiki/%D0%9A%D0%B0%D0%BA_%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B8%D1%82%D1%8C_%D0%B1%D0%B5%D1%81%D0%BF%D0%BB%D0%B0%D1%82%D0%BD%D1%8B%D0%B9_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82_%D1%80%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D1%8B

                            Если ваше приложение им соответствует, то оно получит бесплатный пакет рекламы.

                            Что касается платной рекламы, то стоимость привлечения 1 пользователя начинается от ~1-1,5 рублей.
                            • НЛО прилетело и опубликовало эту надпись здесь
                                0
                                Социальные приложения — это хороший бизнес и стоимость пользователя ОТ ~1-1,5 рублей — это очень неплохая цена. Подтверждением этому служит отсутсвие нераспроданности рекламного места под приложения. То есть люди покупают и довольны — значит, реклама отбивается.

                                По поводу правил и бесплатного пакеты вы пишите полный бред, уж извините. Вы знаете хоть один факт отказа от предоставления бесплатного пакета рекламы? Знаете причину?

                                Спросите разработчиков — все получают бесплатный пакет на нормальные, качественные и неворованные приложения без каких бы то ни было проблем.
                                • НЛО прилетело и опубликовало эту надпись здесь
                                  • НЛО прилетело и опубликовало эту надпись здесь
                          0
                          По-моему проблема с receiver решается (хотя и через костыль).

                          Есть домен в инете mysite.com. Выкладываешь на него receiver.html
                          У себя в хостах на локальной машине прописываешь 127.0.0.1 mysite.com (т.е. mysite.com для тебя будет локальным сайтом).
                          mail.ru видит один mysite.com с receiver.html на нём, а ты видишь другой. И все довольны.
                            0
                            Очень неудобный костыль.
                            А если у меня на домене mysite.com помимо разрабатываемого приложения, лежат другие? )

                            Ну вообщем не помешало бы сделать возможность без костыля :)
                              0
                              Ну для тестов-то можно выделить отдельный домен (mynewapptest.mysite.com) и спокойно разрабатывать на нём локально :) Костыль вполне рабочий. Только мне непонятно, почему он вообще требуется.
                            0
                            Метод управления скроллом добавим на следующей итерации (появится в следующий четверг).
                            +1
                            JS приложения всё так же открываются в ифрейме и изменить его высоту нет возможности?
                              +1
                              менять высоту уже можно
                                0
                                и правда, спасибо =)
                                • НЛО прилетело и опубликовало эту надпись здесь
                                  • НЛО прилетело и опубликовало эту надпись здесь
                                      0
                                      Найденные ошибки правим, сегодня выложим апдейт, отпишусь в сообществе разработчиков по состоянию дел.
                                    +1
                                    Кстати, тут есть параметр примерной стоимости смс, но нет количества этих смс.
                                    Это баг или фича? Планируете ли вы добавить ещё и кол-во смсок.?
                                    Дело в том, что, по опыту, юзеры даже за довольно дорогие услуги (по ~1000р) платят смсками, как это ни странно…
                                      +1
                                      пока можно оплачивать только одной смс. на край это можно обойти: положить смсками денег на какие-нибудь деньги@mail.ru, а потом заплатить с них. не удобно, конечно. подумаем над реализацией такой фичи.
                                  –2
                                  У меня нерезиновое flash-приложение (жесткие размеры). Хотел создать на его основе приложение для Мой мир, но там максимальные размеры что-то около 736 на 736, у меня больше. Возможно ли открывать мое приложение в отдельном окне?
                                    0
                                    открывать в новом окне нельзя, но максимальная ширина приложения 760 пикселей
                                    +2
                                    Хорошая альтернатива зажравшимся вконтактовцам. Что ж, если им (ВКонтакте) достаточно топ-10 дойных коров, пусть их и доят. Новые приложения теперь там вряд ли появятся.
                                      +2
                                      В целом Вами очень доволен, разрабатывать и тестировать удобнее, чем в том же Вконтакте.
                                      А вот, выгодность покупки у вас рекламы для раскрутки приложения вызывает сомнения, уж очень маленький процент.
                                      Удачного вам роста!
                                      Надо опробовать новое окно для билинга, остальные новый функции уже в деле.
                                      Спасибо, Вам! :)
                                        +2
                                        Потратили практически целый день на поиски причины незапускания приложения у некоторых игроков. В итоге выяснилось что зачастую событие Event.COMPLETE после вызова MailruCall.init() не возвращается. Я про Flash API, как вы уже наверное поняли. Вот тут my.mail.ru/community/myplatform/35BA464288D94A1C.html на это в том числе тоже жалуются.

                                        А вообще — да, вы движитесь в правильном направлении, молодцы!
                                          +1
                                          Чиним эту проблему, должны побороть сегодня-завтра. По результатам отпишусь.
                                          0
                                          Извиняюсь, что пишу сюда — но в сообществе для разработчиков ММ что-то небыстрая модерация.

                                          Совсем простой код, первые строки, а уже очень непонятно.

                                          var settings_we_need = ['notification'];

                                          mailru.events.listen(mailru.app.events.applicationInstallation, function(event) {
                                          alert('111');
                                          alert(dump(event));
                                          });

                                          if(mailru.session.is_app_user != 1) {
                                          mailru.app.users.requireInstallation(settings_we_need);
                                          }

                                          Окно установки появляется, но событие не отрабатывает совсем (нет alert). При согласии — перезагрузка страницы происходит. При отмене просто тишина.

                                          В логе ошибок пусто. FF 3.6.
                                          Это «лыжи не едут» или…?

                                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                          Самое читаемое