» » » Статистика из Android-приложения на своем GAE-сайте

 

Статистика из Android-приложения на своем GAE-сайте

Автор: admin от 21-07-2014, 13:55, посмотрело: 566

Статистика из Android-приложения на своем GAE-сайте

Android, Google Analytics, App Engine — продукты одной компании. Казалось бы — что может быть проще, чем показать данные из одного продукта в другом? Например, статистику Google Analytics из Android-приложения на сайте App Engine? Оказалось, что сделать это действительно несложно. Только не все шаги очевидны.

В данной статье я постараюсь по шагам рассказать о том, как достичь желаемого. Часть, касающаяся передачи данных из приложения Android в Google Analytics сознательно пропущена, т.к. не содержит каких-либо сложностей.

Шаг 1. Доступ



  • Для того, чтобы ваше GAE-приложение (сайт) смогло использовать данные из Google Analytics, необходимо в Google Developers Console в разделе APIs для [url=https://console.developers.google.com/project/apps~
  • В самом Google Analytics, в разделе Управление пользователями необходимо дать права на Чтение и анализ сервисному пользователю — [email protected]. Именно под этим пользователем мы будем запрашивать информацию из Google Analytics. К счастью, данные из Google Analytics (в отличие от некоторых других сервисов Google, например, Google Play Services) можно получать под сервисным пользователем. Использование обычного (несервисного) пользователя потребовало бы дополнительных шагов для oauth-авторизации.

  • Для того, чтобы иметь возможность тестировать ваш код локально, без загрузки на сервера Google, необходимо создать еще одного сервисного пользователя. Подробная инструкция по его созданию и использованию приведена в ответе на StackOverflow. [email protected] работает лишь в боевой среде.



  • Шаг 2. Библиотеки и инструменты



  • Чтобы упростить доступ к Analytics API, скачиваем Google API Python Client for GAE (если используете Python). Конечно же, нужна именно версия для GAE. Документация по данной библиотеке находится тут.

  • Для тестирования запросов к Google Analytics можно использовать Google Analytics Query Explorer 2.



  • Шаг 3. Получение данных


    Теперь получить данные из Google Analytics совсем просто —
    from oauth2client.appengine import AppAssertionCredentials
    from apiclient.discovery import build
    from google.appengine.api import memcache
    import httplib2
    
    credentials = AppAssertionCredentials(scope='https://www.googleapis.com/auth/analytics.readonly')
    http = credentials.authorize(httplib2.Http(memcache))
    service = build('analytics', 'v3', http=http)
    
    active_users = None
    response = service.data().ga().get(
      ids='ga:'+profile_id, # можно получать динамически или прописать в коде
      start_date='2014-03-03',
      end_date='2014-03-09',
      metrics='ga:visitors').execute()
    if response.get('rows'):
        active_users = int(response.get('rows')[0][0])
    

    Данный код позволяет узнать количество активных пользователей в приложении за заданный период времени.

    В моем случае я запрашиваю необходимые данные из Google Analytics раз в неделю, по вторникам (именно по вторникам, т.к. один дополнительный день отводится на передачу данных от пользователей Android-приложения на сервера Google Analytics). Данные сохраняются в NDB, а на сайте отображаются с помощью Google Charts.

    Источник: Хабрахабр

    Категория: Веб-разработка, Google, Android

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

    Добавление комментария

    Имя:*
    E-Mail:
    Комментарий:
    Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
    Введите два слова, показанных на изображении: *