Обновить
16K+

Google API *

API, предоставляемый сервисами Google

9,04
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Отслеживание брошенных корзин с помощью Google Analytics: 4 простых шага

Время на прочтение5 мин
Охват и читатели6.7K

Пожалуй один из главных вопросов всех владельцев магазина на Shopify звучит как: почему покупатель бросает корзину и не совершает покупку? Представьте, если бы вы пошли в супермаркет, набрали полную тележку продуктов, но уже подойдя к кассе решили вовсе уйти из магазина, оставив сотрудников магазина в недоумении. В среднем, 70% покупателей покинет магазин, так и не купив товар, добавленный в корзину.

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

Читать далее

Core Web Vitals: как Google решил оценивать сайты

Время на прочтение7 мин
Охват и читатели27K


Всем привет!

Сегодня поговорим о важности пользовательского взаимодействия, ведь совсем скоро придется подготовить свои сайты к максимальному ускорению загрузки. Возможно, вы уже слышали про Core Web Vitals…

В прошлом году Google начал масштабный пересмотр факторов ранжирования в поисковике, чтобы улучшить качество поисковой выдачи. И в ноябре команда Google анонсировала Core Web Vitals — новые факторы оценки качества ресурсов, которые смогут влиять на индексацию и вступят в силу в мае 2021 года. Давайте разбираться.
Читать дальше →

Создание документов на диске Google на базе событий в CRM-системах: аmoCRM и Битрикс24

Время на прочтение5 мин
Охват и читатели5.4K

Появившиеся в 2006 году сервисы Google по работе с текстовыми документами (Google Docs) и таблицами (Google Sheets), дополненные 6 лет спустя возможностями работы с виртуальным диском (Google Drive), завоевали широкую любовь пользователей, лишив компанию Microsoft сложившейся десятилетиями монополии на работу с офисным программным обеспечением.

В связи с популярностью последних часто возникает задача сделать новый или обновить существующий Google-файл в привязке к событиям в CRM-системе.

Разберемся, какие шаги необходимо выполнить, чтобы создать собственный сценарий интеграции.

Читать далее

SafetyNet Attestation — описание и реализация проверки на PHP

Время на прочтение10 мин
Охват и читатели11K

В эту тему пришлось детально погрузиться во время работы над обеспечением стандартных механизмов верификации устройств для разных мобильных платформ. Задача сводилась к разработке полноценной реализацию проверки JWS-токенов по протоколу SafetyNet на серверной стороне.

После многочасовых поисков и скрупулёзного изучения официальной документации Google решил поделиться полученным опытом. Потому что, кроме официальной документации, я нашел только отрывочные описания частных примеров реализации на разных ЯП. И ни намека на комплексное объяснение особенностей проверки по SafetyNet на сервере.

Статья будет полезна разработчикам, которые хотят подробнее разобраться с технологией верификации устройств по протоколу SafetyNet Attestation. Для изучения описательной части не обязательно знать какой-либо язык программирования. Я сознательно убрал примеры кода, чтобы сфокусироваться именно на алгоритмах проверки. Сам пример реализации на PHP сформулирован в виде подключаемой через composer библиотеки и будет описан ниже.

А в конце статьи — ссылка на разработанную мной библиотеку на PHP, которая обеспечивает полный цикл верификации JWS.

Читать далее

Проектирование API: почему для представления отношений в API лучше использовать ссылки, а не ключи

Время на прочтение14 мин
Охват и читатели7.8K
image Привет, Хабр!

У нас выходит долгожданное второе издание книги "Веб-разработка с применением Node и Express".

В рамках исследования этой темы нами была найдена концептуальная статья о проектировании веб-API по модели, где вместо ключей и значений базы данных применяются ссылки на ресурсы. Оригинал — из блога Google Cloud, добро пожаловать под кат.
Читать дальше →

Как я воровал данные с пользовательских аккаунтов в Google

Время на прочтение8 мин
Охват и читатели41K
Вы со мной не знакомы, но существует известная вероятность, что я знаком с вами. Причина в том, что у меня есть полный, неограниченный доступ к приватной информации миллионов людей, размещённой на аккаунтах Google. Отправленные по почте выписки по банковским счетам, медицинские документы, хранящиеся на Google Drive, сохранённые и пересланные чаты из Facebook, голосовые сообщения на Google Voice, личные фотографии на Google Photos. Список можно продолжать. Никто из них не знает об этом сейчас и никогда не узнает в будущем. Возможно, в их число входите и вы.

И как же я такое провернул? Всё началось с разработанного мной приложения. По очевидным причинам, обнародовать название я не стану. Приложение довольно нехитрое, оно рассчитано на людей, увлекающихся фитнесом, и предлагает возможности типа внесения данных о скорости во время пробежки или готовых комплексов силовых упражнений. Как и многие другие продукты, оно требует, чтобы пользователь первым делом создал аккаунт. По данным аналитики, примерно 60% людей вместо того, чтобы полностью проходить процедуру регистрации, соблазняются заманчивой кнопкой «Войти с Google».

Читать дальше →

Приложение отвечает: как мы уменьшили количество ANR-ошибок в шесть раз. Часть 1, про сбор данных

Время на прочтение6 мин
Охват и читатели12K

Пожалуй, одна из худших проблем, которая может случиться с вашим приложением, — ошибка ANR (Application Not Responding), когда приложение не отвечает. Если таких ошибок много, они могут негативно влиять не только на пользовательский опыт, но и на позицию в выдаче Google Play и фичеринг. 

В начале прошлого года количество ANRs в приложении Badoo превышало порог “Bad Behaviour” в Google Play. Поэтому мы собрали команду для решения этой проблемы и потратили несколько месяцев, экспериментируя с разными подходами. В результате мы смогли уменьшить количество таких ошибок более чем в шесть раз.

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

В первой части мы поговорим об основах: что представляет собой ошибка ANR и как её лучше отслеживать. Если вы уже знакомы с этой темой, предлагаю перейти ко второй части, в которой я расскажу о наших способах решения этой проблемы.

Читать далее

Конструктор плейлистов для Spotify

Время на прочтение4 мин
Охват и читатели6.3K

Статья о том, как Spotify Web API (SWA) и платформа Google Apps Script (GAS) позволили превратить библиотеку в гибкий конструктор плейлистов с бесплатным исполнением по расписанию.

Под конструктором плейлистов понимаем механизм сбора, фильтрации, сортировки и добавления треков.

Читать далее

Внедряем кросс-платформенные пуш-уведомления: дополнительные возможности

Время на прочтение10 мин
Охват и читатели7.8K

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


Читать дальше →

Разворачиваем сервер для проверки In-app purchase за 60 минут

Время на прочтение9 мин
Охват и читатели12K

Всем привет! Сегодня расскажу вам как развернуть сервер для проверки In-app Purchase и In-app Subscription для iOS и Android (server-server validation).


На хабре есть статья от 2013 года про серверную проверку покупок. В статье говорится о том, что валидация в первую очередь необходима для предотвращения доступа к платному контенту при помощи джейлбрейка и другого софта. На мой взгляд в 2020 году эта проблема не так актуальна, и в первую очередь сервер с проверкой покупок необходима для синхронизации покупок в рамках одного аккаунта на нескольких устройствах


В проверке чеков покупок нет никакой технической сложности, по факту сервер просто «проксирует» запрос и сохраняет данные о покупке.



Читать дальше →

Настройка синхронизации google calendar с web приложением

Время на прочтение3 мин
Охват и читатели15K
В данной статье рассматривается ситуация, когда приложению необходимо получить доступ к одному или нескольким календарям, находящимся под управлением владельца приложения (то есть у приложения изначально есть права на использование и изменение информации в этих календарях).

Пример кода приведен на языке программирования Python.
Читать дальше →

Как мы в очередной раз пытаемся заменить людей на роботов

Время на прочтение3 мин
Охват и читатели2.1K
Эта история о том, как мы в 4-ый раз запускаем стартап.

Как появилась идея


Всё началось с увиденного поста про новую платформу Maxine с ИИ для апгрейда видеосвязи от Nvidia, одна из особенностей этой платформы является синхронный перевод в виде титров, данная фича реализована при помощи фреймворка от той же Nvidia под название Jarvis, данный фреймворк предназначен для мультимодальных разговорных сервисов искусственного интеллекта, обеспечивающая производительность графических процессоров в реальном времени. Именно эта концепция синхронного перевода легла в основу нашей платформы аудио- и видео- связи. Поскольку это новая платформа, она должна иметь ряд особенностей по сравнению с другими подобными платформами, поэтому мы решили добавить этим титрам голос, формируя голосовой профиль пользователя и синтезируя речь с учётом тональности и окраса голоса человека, который говорит.


Читать дальше →

Подключение node-приложения к Google Calendar API

Время на прочтение4 мин
Охват и читатели23K

Как-то неожиданно для меня подключение своего nodejs-приложения к Google Calendar API оказалось довольно нетривиальной задачей. Несмотря на подробное описание вариантов подключения на русском языке пришлось продираться через лес различных настроек и конфигураций. В статье подробно изложены шаги, которые приходится совершить, чтобы интеграция завершилась успехом.

Читать далее

Ближайшие события

Экстренная психологическая помощь | Prototyping Weekend

Время на прочтение2 мин
Охват и читатели3.3K

#openDevelopment #codeSaveLives
Привет Хабр! Я завершил работу над прототипом платформы, которая объединяет психологов-добровольцев и людей, нуждающихся в экстренной помощи. Это инициатива в ответ на насилие, происходящее в настоящее время в Беларуси и Ливане:
https://brmlab.cz/project/belhack/start

Читать далее

Малиновый киноцентр или как сделать неубиваемый смарт-ТВ

Время на прочтение6 мин
Охват и читатели79K

Самая полная инструкция по созданию из Raspberry Pi домашнего киноцентра с минимальными затратами и подробной настройкой приложений.

Знаю, что скажут 90% читателей: "Зачем тебе магнитофон? Смарт-ТВ купи и счастье". Я отвечу. Проблема в том, что ещё в 90-ых был куплен шикарный телевизор с 5.1 звуком и Full-HD монитором, правда не стандартного разрешения (не 4:3 и не 16:9). Менять телевизор и попадать минимум на 40 тысяч из-за дивидюшника за 3 тысячи - как-то не разумно. В планах сделать экран с проектором и звуком, но вот покупать смарт-ТВ, который не поковыряешь - для меня слишком больно. Купил Sony - мучайся с их смартом и так с любой фирмой.

В моём распоряжении был старый комп-башня и куча старых деталей, который валялись по квартире и офису. Тестил всё на этом железе в разных конфигурациях: от сборки с интегрированной видюхой от интел с 1 ГБ оперативы и пентиумом на борту, до GTX 660 с 8 ГБ оперативы и i5 во главе. Разница есть, но только в загрузке файлов - то есть не критичная. Картинка в FullHD выдаётся ровно без крашей всю дорогу. Имея задумку повесить экран с проектором, делать громоздкую станцию - не вариант.

Читать статью

Как поисковики Google и Yandex мешают открыть иностранный банковский счет

Время на прочтение6 мин
Охват и читатели4.1K
В Латвии, где ещё совсем недавно массово открывали счета россияне и граждане других стран СНГ, выпустили «Справочник» по борьбе банков с отмыванием. И хотя ничего концептуально нового латвийские регуляторы не предложили, они подчеркнули важный для современного бизнеса момент: поводом для пристального внимания и даже отказа в открытии счета может послужить поисковая выдача в популярных поисковиках.



Вы спросите: зачем нам Латвия, если там давно не интересно открывать счета айтишнику? Дело в том, что информацию из поисковиков и социальных сетей активно используют и другие банки по всему миру. И IT-шники, которые живут и созидают в виртуальных мирах зачастую оставляют в сети много следов.

Латвийский пример борьбы с отмыванием нелегальных средств


Латвийская газета Diena провела своё расследование нового справочника, который обещали сделать помощником бизнеса и банков. Все стороны рассчитывали на разъяснения, на пошаговые инструкции и чёткое понимание, как стоит действовать, чтобы открыть счет. Именно это обещала обеспечить нынешняя глава Комиссии рынков финансов и капитала (Finanšu un kapitāla tirgus komisija – FKTK) менее года назад.
Читать дальше →

Настройка Gmail API для замены расширения PHP IMAP и работы по протоколу OAuth2

Время на прочтение13 мин
Охват и читатели15K
Оказавшись одним из счастливчиков, совершенно не готовым к тому, что с 15 февраля 2021 года авторизация в Gmail и других продуктах будет работать только через OAuth, я прочитал статью "Google хоронит расширение PHP IMAP" и загрустил начал предпринимать действия по замене расширения PHP IMAP в своём проекте на API Google. Вопросов было больше, чем ответов, поэтому заодно нацарапал мануал.
Читать дальше →

Внедрение IMA SDK в Android-приложениях

Время на прочтение4 мин
Охват и читатели3.6K
Предположим, что однажды вы решили создать приложение для детей и попробовать на этом заработать. Так как реклама — один из самых простых способов монетизации, то у вас возникает очевидная идея добавить в приложение одно из рекламных SDK и дальше только подсчитывать доход. Все могло быть именно так, если бы приложение было направлено на взрослую аудиторию. Если же оно предназначено для использования несовершеннолетними, то включаются разнообразные законодательные механизмы, которым подчиняются магазины приложений.

При публикации приложения ivi kids в Google Play мы столкнулись с проблемой, что наше внутреннее рекламное SDK не соответствовало требованиям Google, и приложение могло быть удалено из магазина. Поэтому мы отключили всю рекламу, чему очень обрадовались юные пользователи, но департамент маркетинга был хронически недоволен финансовыми показателями.

Наиболее логичным выходом из ситуации оказалось проигрывать рекламу, которую раздает сам Google с помощью сервиса Google Ad Manager. И делать это с использованием IMA SDK, которое также является продуктом Google.

В этой статье я расскажу о том, как мы внедряли IMA SDK в приложениях ivi и ivi kids и с какими ограничениями столкнулись.
Читать дальше →

Как стать экспертом для поисковых систем

Время на прочтение3 мин
Охват и читатели4.8K
Не так давно я познакомился с описанием E-A-T алгоритма от Google, который расшифровывается как «Expertise, Authoritativeness, Trustworthiness» (экспертность, авторитетность, достоверность). И мне, как автору, который пишет для разных сайтов стало интересно — насколько я сам соответствую критериям этого алгоритма и могу ли повлиять на текущую ситуацию. Тем более, что некоторые заготовки в виде открытой гугл таблицы для учета и мониторинга собственных публикаций LynxReport уже были.


Google Таблицы → Node.js → Google Charts → Сайт-визитка → Топ-3 место в поиске ФИО + специализация

На основании данных таблицы я решил дополнить сайт-визитку, сведениями о публикациях, которые бы генерировались автоматически. Что я хотел получить:

  1. Актуальную сводку публикаций, расположенную на временной шкале Google Charts.
  2. Автоматическую генерацию выходных данных и ссылок на статьи из гугл таблицы в html версию визитки.
  3. PDF версии статей со всех сайтов, из-за опасений закрытия некоторых старых сайтов в будущем.

Как получилось можно посмотреть здесь. Реализовано на платформе Node.js с использованием Bootstrap, Google Charts и Google Таблицы для хранения исходных данных.
Node.js, Google Таблицы, Bootstrap, Google Charts

Создание системы антифрода в такси с нуля

Время на прочтение7 мин
Охват и читатели17K

Добрый день. Меня зовут Никита Башун, работаю дата-аналитиком в группе компаний «Везёт». Мой рассказ будет о том, как мы командой из трёх человек с нуля создавали систему антифрода для сервиса заказа поездок.


image

Читать дальше →