Опубликовать часто задаваемые вопросы
Кто управляет работой по публикации контента?
Разработчик приложения управляет заданием по публикации контента и отправляет запросы в Engage Service. Таким образом, партнеры-разработчики имеют больше контроля над тем, когда и как публиковать контент для пользователей. Это позволяет избежать слишком частого пробуждения партнерского приложения для публикации контента.
Необходимо ли разработчику публиковать все типы кластеров?
Хотя технически разработчики могут свободно публиковать только один кластер, мы настоятельно рекомендуем включать больше. В противном случае разработчики упускают возможность повысить вовлеченность со своим контентом. Мы настоятельно рекомендуем публиковать все типы кластеров для каждой вертикали.
Как часто партнер-разработчик должен публиковать данные с помощью диспетчера работ во время работы приложения?
Это должен решить партнер-разработчик. Google рекомендует публиковать один или два раза в день для общего контента рекомендаций и использовать методологию, управляемую событиями, для корзины покупок, повторного заказа и другого контента продолжения (например, запускать воркер как обратный вызов пользователя, добавляющего товары в корзину, или пользователя, останавливающего фильм на полпути). Для социальных приложений критически важно публиковать обновленные кластеры рекомендаций после каждого использования приложения . Пользователи социальных приложений больше заинтересованы в самых последних рекомендациях и в идеале хотели бы видеть публикацию не более одного раза.
Когда разработчику следует вызывать API удаления?
API удаления следует вызывать только тогда, когда нет контента для публикации. Не вызывайте API удаления и публикации последовательно для замены контента; API публикации автоматически удаляют более ранний контент.
Часто задаваемые вопросы о целях трансляции
Почему разработчикам приложений для Android необходимо регистрироваться для трансляции намерений?
Чтобы предоставлять пользователю свежий контент, следует использовать широковещательные намерения для запуска синхронизации данных в случаях, когда пользователи нечасто пользуются приложением.
Фоновое выполнение не допускается
При регистрации намерения трансляции вы можете столкнуться со следующей ошибкой:
Background execution not allowed: receiving Intent
{ act=com.google.android.engage.action.PUBLISH_RECOMMENDATION .. }
Вам необходимо динамически регистрировать вещательные приемники.
class AppEngageBroadcastReceiver extends BroadcastReceiver {
// Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast
// is received
}
public static void registerBroadcastReceivers(Context context) {
context = context.getApplicationContext();
// Register Recommendation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_RECOMMENDATION));
...
}
Часто задаваемые вопросы о рабочем процессе
При интеграции с SDK вы можете столкнуться со следующими ошибками:
Тестирование глубоких ссылок
Глубокие ссылки связаны с именем пакета. Хороший способ проверить глубокие ссылки — использовать инструмент adb.
adb shell am start -W -a android.intent.action.VIEW -d <DEEPLINK URI> <PACKAGE NAME>
Как рассчитать влияние интеграции?
Глубокие ссылки — отличный способ отслеживать атрибуцию. URL-адреса глубоких ссылок, которые перенаправляют пользователей в ваше приложение, могут быть включены с дополнительными параметрами отслеживания. Например, «http://xx/deeplink?source_tag=engage».
Разработчики могут добавлять собственные параметры отслеживания и указывать атрибуцию для расчета воздействия.
Часто задаваемые вопросы о Engage for TV 2.0
Общие вопросы
Что такое «Продолжить просмотр 2.0»?
Continue Watching 2.0 (Video Discovery API) выводит "продолжение с того места, где вы остановились" на новый уровень! Это значительное обновление, которое позволяет зрителям легко возобновлять просмотр контента на более широком спектре устройств. Представьте, что вы начинаете смотреть фильм на своем Google TV, а затем без усилий продолжаете его на телефоне по дороге на работу — вот в чем сила Continue Watching 2.0.
Эта новая система призвана повысить вовлеченность и удержание зрителей, обеспечивая бесперебойную работу во всей экосистеме Google.
Каковы преимущества использования Continue Watching 2.0?
Ответ: Continue Watching 2.0 позволяет зрителям проще, чем когда-либо, продолжить просмотр вашего контента с того места, на котором они остановились, независимо от того, какое устройство они используют. Вот как это работает:
- Бесперебойный просмотр в Google: начните просмотр на вашем Google TV и продолжайте без проблем на вашем телефоне Android, iPhone или планшете Android. Он работает даже на устройствах, на которых вы еще не установили приложение!
- Повышение вовлеченности и удержания: Continue Watching 2.0 помогает возвращать пользователей в ваше приложение, даже на новых устройствах. Позволяя пользователям возобновлять любимые шоу, вы увеличиваете шансы, что они продолжат смотреть.
- Более широкий охват: помимо Google TV, Continue Watching 2.0 работает и с другими мультимедийными приложениями Android, такими как Play Cubes и другие мультимедийные приложения Google.
- Обратная совместимость: Если вы уже используете старую функцию « Смотреть далее », не проблема! Continue Watching 2.0 имеет обратную совместимость, поэтому ваша существующая интеграция будет работать.
Важное примечание: Все новые интеграции Continue Watching должны использовать Continue Watching 2.0. Старая система «Cross Device Play Next» постепенно отменяется.
Какие поверхности поддерживают Continue Watching 2.0?
- Гугл ТВ
- Android TV (только на устройстве, но поддерживает Engage SDK)
- Мобильное приложение Google TV для Android
- Мобильное приложение Google TV для iOS
- Игровые кубики
- Пространство развлечений Google
- Устройства iOS (с интеграцией REST API).
Является ли Engage SDK для Continue Watching 2.0?
Да, Engage SDK предназначен для Continue Watching 2.0. Он необходим для интеграции с Continue Watching 2.0.
Доступна ли функция Continue Watching 2.0 для всех?
Продолжить просмотр 2.0 внедряется поэтапно.
- Ранний доступ: Первоначально мы предоставляем доступ избранной группе партнеров через Программу раннего доступа (EAP).
- Расширение доступа: мы прилагаем все усилия, чтобы в ближайшее время сделать Continue Watching 2.0 доступным для всех разработчиков.
Чтобы обеспечить плавный и успешный запуск, у нас есть меры безопасности для управления развертыванием. Это включает в себя как список разрешенных на стороне Continue Watching 2.0, так и отдельную проверку в Engage SDK. Независимо от того, являетесь ли вы партнером EAP или хотите присоединиться в ближайшее время, свяжитесь с нами, чтобы мы могли настроить разрешения на доступ, прежде чем вы начнете интеграцию Engage SDK.
Есть ли рекомендуемый размер изображения, который следует предоставить?
Требования к изображениям обновлены в разделе «Создание объектов» .
С этой новой документацией API будут ли данные Continue Watching извлекаться сервером Google из клиента и будут ли они отражены на всех устройствах?
Новый API предлагает значительные преимущества для продолжения просмотра, в том числе:
Бесперебойный просмотр на всех телевизорах Google TV: пользователи могут начать просмотр на одном телевизоре Google TV и продолжить на любом другом телевизоре Google TV, войдя в систему с той же учетной записью. Эта функция также работает со старыми версиями Android TV.
Интеграция с мобильным приложением: функция Continue Watching доступна в мобильном приложении Google TV для Android и iOS, что позволяет пользователям легко переключаться между телевизором и мобильными устройствами.
Улучшенное удержание пользователей: даже на устройствах, на которых не установлено приложение или где пользователь не вошел в систему, функция «Продолжить просмотр» побуждает пользователей повторно взаимодействовать с вашим приложением, что повышает удержание.
Расширение на другие платформы: эта интеграция расширяет функцию Continue Watching на другие медиаплатформы Google, такие как Android, Play Cubes, планшеты и другие медиаприложения и поверхности Google на Android, максимально увеличивая вовлеченность пользователей на всех устройствах.
Каково ограничение на количество сущностей, которые я могу опубликовать в кластере Continuation?
Каждый партнер-разработчик ограничен максимум 5 сущностями в кластере Continuation. Этот лимит обеспечивает справедливое распределение контента в строке «продолжить просмотр» на Google TV, которая является общим пространством для нескольких поставщиков медиа.
Что произойдет, если я попытаюсь опубликовать более 5 объектов?
EngageSDK отклонит ваш запрос на публикацию, если он превысит лимит в 5 сущностей. Вам нужно будет сократить количество сущностей в вашем запросе, чтобы успешно опубликовать. Вам следует включать только те сущности, просмотр которых пользователи прекратили, поэтому в большинстве случаев таких сущностей будет всего несколько. Если таких сущностей больше 5, вы можете выбрать для публикации более поздние.
Почему существует ограничение на количество сущностей?
Строка «продолжить просмотр» на Google TV отображает контент от различных поставщиков медиа. Ограничение количества объектов на одного поставщика гарантирует, что пользователи увидят разнообразный выбор контента из всех своих любимых источников, что способствует справедливому и сбалансированному пользовательскому опыту.
Вопросы по приложению для проверки
Обязательно ли тестировать мое приложение с помощью приложения для проверки перед отправкой?
Да, перед отправкой APK необходимо протестировать приложение с помощью приложения для проверки.
Хотя мы понимаем, что вы можете быть уверены в своей реализации, интеграция Continue Watching 2.0 имеет много сложных компонентов. Приложение проверки действует как защитная сетка, выявляя потенциальные проблемы на ранней стадии и экономя ваше драгоценное время и усилия в долгосрочной перспективе.
Думайте об этом как о быстрой проверке, которая помогает гарантировать плавный запуск и отличный пользовательский опыт.
Заранее выявляя и устраняя любые проблемы, вы можете избежать разочарований, связанных с отказами и повторными подачами.
Чтобы отправить APK, вам необходимо прикрепить снимок экрана, показывающий, что ваше приложение прошло процесс проверки.
#### На какие распространенные ошибки следует обратить внимание при интеграции?
Приложение проверки предназначено для выявления потенциальных проблем с интеграцией Continue Watching 2.0. Вот некоторые распространенные ошибки, с которыми часто сталкиваются разработчики:
Для всех типов контента (фильмы, сериалы, прямые трансляции, видеоклипы):
- Отсутствующие ссылки: Убедитесь, что вы предоставляете действительные специфичные для платформы URI (ссылки) для вашего контента. Эти ссылки сообщают системе, где найти ваш контент на каждой платформе.
- Отсутствующие заголовки: Не забудьте включить заголовки для всего вашего контента. Это поможет пользователям определить, что они смотрели.
- Соотношение сторон изображения: убедитесь, что все изображения, связанные с вашим контентом, имеют соотношение сторон, близкое к 16:9. Это гарантирует правильное отображение ваших изображений на разных экранах.
Для телесериалов:
- Полная информация об эпизоде: обязательно укажите название шоу, номер эпизода и номер сезона. Это помогает организовать эпизоды и позволяет пользователям перемещаться по серии.
- Точная позиция воспроизведения: дважды проверьте, что последняя позиция воспроизведения меньше или равна общей продолжительности эпизода. Это гарантирует пользователям возобновление с правильного места.
Для фильмов:
- Точная позиция воспроизведения: как и в случае с эпизодами телесериала, убедитесь, что последняя позиция воспроизведения точна.
Для потокового видео в реальном времени:
- Информация о вещателе: для прямых трансляций укажите название вещателя.
Для видеоклипов:
- Информация о создателе: укажите создателя видеоклипа.
Помните: приложение проверки отметит эти проблемы, что позволит вам исправить их перед отправкой приложения. Это сэкономит вам время и обеспечит более плавный опыт для ваших пользователей.
Вопросы по аккаунту и профилю
Мое приложение использует анонимные входы пользователей. Требуется ли AccountProfile для Continue Watching 2.0?
AccountProfile предназначен для приложений, которые используют индивидуальные учетные записи пользователей. Однако мы понимаем, что некоторые приложения, такие как ваше, могут полагаться на анонимные входы. Вот как Continue Watching 2.0 работает в этом сценарии:
- AccountProfile технически необходим, но... вы все равно можете интегрировать Continue Watching 2.0, даже если в вашем приложении нет системы учетных записей пользователей.
- Ограничено использованием на устройстве: возможности Continue Watching 2.0 для разных устройств основаны на идентификации пользователей на разных устройствах. Поскольку анонимные входы не обеспечивают этого, функция будет ограничена текущим устройством пользователя.
- Как настроить: Чтобы настроить это, вам нужно отключить синхронизацию между устройствами. Это гарантирует, что записи Continue Watching будут отображаться только на том устройстве, где контент был запущен.
Подводя итог: хотя вы можете интегрировать Continue Watching 2.0 с анонимными входами в систему, пользователи смогут возобновлять просмотр контента только на том же устройстве.
Могу ли я использовать AccountProfile только с accountId и без profileId, даже если мое приложение поддерживает и accountId, и profileId?
AccountProfile требует как accountId, так и profileId для корректной работы. Вот почему:
- Последовательная идентификация: accountId идентифицирует пользователя, в то время как profileId различает различные профили в пределах учетной записи этого пользователя (если применимо). Предоставление обоих гарантирует, что Continue Watching точно отслеживает и отображает контент для каждого отдельного профиля.
- Предотвращение ошибок: Непоследовательное использование accountId и profileId в разных вызовах API может привести к неожиданному поведению и ошибкам. Например, если вы включите оба при добавлении контента в Continue Watching, но используете только accountId при удалении контента, система может не суметь правильно идентифицировать и удалить предполагаемые элементы.
Требуется ли profileId для Continue Watching 2.0?
- accountId обязателен. Это идентифицирует пользователя на всех устройствах.
- profileId имеет решающее значение для хорошего пользовательского опыта. Хотя технически это необязательно, profileId настоятельно рекомендуется, если ваш сервис поддерживает несколько профилей (как это делают многие потоковые сервисы). Почему это так важно? Потому что без profileId Continue Watching может показывать контент из других профилей в той же учетной записи. Это может привести к запутанному и разочаровывающему опыту для ваших пользователей.
- Короче говоря: предоставление profileId гарантирует, что Continue Watching точно отражает историю просмотра каждого отдельного человека. Если только ваше приложение не поддерживает концепцию профиля в рамках учетной записи, вам следует предоставить ее.
Как Google использует profileId на своей стороне?
Если сервис предлагает разные профили для просмотра контента, accountId и profileId будут использоваться для связывания просматриваемого на устройстве контента с вошедшей в систему учетной записью Google на устройстве. Google запишет данные ContinueWatching в соответствии с комбинацией accountId-profileId. Любое устройство Google, на котором выполнен вход в ту же учетную запись Google, получит последние обновленные данные из тех же связанных accountId-profileId(s) в строке ContinueWatching.
Требуется ли привязка аккаунта для внедрения Continue Watching 2.0?
Связывание аккаунтов не требуется. Оно становится не приоритетным, и все связанные с ним варианты использования будут охватываться новым API Device Entitlements.
Вопросы по синхронизации между устройствами
Что означает «синхронизация между устройствами», когда пользователи дают согласие?
При согласии пользователя на «синхронизацию между устройствами» контент, который он смотрит, будет сохранен на серверах Google TV, что позволит ему легко продолжить просмотр с того места, где он остановился, на любом зарегистрированном устройстве. Без согласия история просмотра остается локальной для текущего устройства.
Можно ли установить для параметра «синхронизация между устройствами» значение false?
Флаг UserConsentToSyncAcrossDevices управляет тем, синхронизируются ли данные ContinuationCluster пользователя на его устройствах (телевизор, телефон, планшет и т. д.). Если этот флаг установлен в значение false, то продолжение просмотра происходит только на том же устройстве.
Чтобы максимально эффективно использовать нашу функцию кросс-устройства, мы настоятельно рекомендуем вашему приложению получить согласие пользователя и установить для параметра SyncAcrossDevices значение true.
Как получить согласие пользователя на передачу истории просмотров на устройствах, отличных от Android?
Устройства? Какие точки данных передаются на 3P-серверы с устройств, отличных от Android?
Согласие собирается на уровне пользователя (уровень профиля или учетной записи). После получения согласия полезные данные о продолжении просмотра, основанные на вовлеченности, могут быть отправлены куда угодно, чтобы Google мог отразить состояние возобновления повсеместности пользователей во всех сущностях, с которыми у них есть частичная или следующая вовлеченность, на любом устройстве (без необходимости повторно запрашивать согласие на каждом устройстве или платформе). Партнеры отправят пользователям последнее состояние продолжения просмотра (согласно спецификации), связанное с идентификатором профиля (который был размещен на Android).
Вопросы по REST API
Есть ли документация по REST API?
Планируемая дата выхода REST API — март 2025 года, это указано в документации для разработчиков Continue Watching 2.0.
Legacy Watch Следующие вопросы
Заменяет ли API Video Discovery API API Watch Next?
API Video Discovery будет обратно совместим со всеми устройствами Android TV, которые поддерживают API Watch Next. Все разработчики должны использовать API Video Discovery (Continue Watching 2.0) для публикации в строке Continue Watching.
Вопросы по тестированию и интеграции
В чем разница между LastPlayBackPositionTimeMillis и длительностью?
LastPlayBackPositionTimeMillis должен отражать длительность воспроизведения в миллисекундах, когда пользователь прекратил просмотр (например, 605000 мс для 10 минут и 5 секунд). Он никогда не должен превышать общую длительность сущности.
В то время как LastEngagementTime — это временная метка, когда пользователь последний раз взаимодействовал с контентом.
Какие тестовые случаи нам следует выполнить?
Ниже приведены тестовые случаи для Google TV, которые выполняет наш QA. Аналогичные тестовые случаи могут быть выполнены и на других поверхностях.
- Посмотрите видео, которое длиннее 20 минут, в течение примерно 5 минут. Выйдите из приложения. Видеокарта должна отображаться в строке «Продолжить просмотр». Примечание: мы отображаем только 5 карт на приложение 3p в CW
- Выбор новой появившейся карточки в строке «Продолжить просмотр» должен продолжить воспроизведение видео с нужной точки. Примечание: воспроизведение любого нового или старого контента должно возобновиться с того места, на котором оно было остановлено в последний раз.
- Изменение учетных записей на устройстве GTV должно изменить карточки в строке «Продолжить просмотр». Должны отображаться только видео из текущей учетной записи. Отсортировано по недавнему порядку. Профиль приложения 3P CW будет перемешан. Примечание: CW для GoogleAccount2 покажет содержимое 3P, которое GoogleAccount2 смотрел
- Выйдите из приложения, нажав кнопку НАЗАД > Убедитесь, что карточка отображается в строке «Продолжить просмотр»
- Скройте видео в строке «Продолжить просмотр», оно не должно отображаться снова. Проверьте, остается ли скрытый контент скрытым более 24 часов и даже после открытия приложения через 24 часа. Убедитесь, что скрытие одного элемента не скрывает несколько элементов.
- Доступность контента в Продолжить просмотр с полными метаданными: Изображение карточки, Название приложения, заголовок, номер эпизода сезона для ТВ-контента
- Проверка хода выполнения отображается на панели выполнения.
- Пользователь просмотрел контент до окончания титров — контент не отображается в разделе «Продолжить просмотр»
- Убедитесь, что в строке продолжения просмотра не отображаются непросмотренные элементы.
- Убедитесь, что элементы CW расположены в хронологическом порядке на основе времени, когда была совершена активность часов, а не времени последнего открытия приложения или последнего дня.
- Подтвердите, что сведения об эпизоде и сезоне на карточке CW соответствуют просмотренному контенту эпизода.
- Подтверждение завершенных (элементы на кредитах или больше) элементы не отображаются в продолжении просмотра
- Выключите устройство на полпути просмотра эпизода/фильма/шоу. "Выключите устройство на полпути просмотра эпизода/фильма/шоу. Проверьте при включении устройства и на другом телевизоре, CW отображает правильную карту, в правильном положении и с полосой прогресса"
- Выключите устройство после полного просмотра 1-го эпизода, проверьте
- Эпизод 1 пропадает и не появляется снова в строке «Продолжить просмотр» [на втором устройстве и при включении тестового устройства]
- Эпизод 2 (если доступен) должен появиться в строке «Продолжить просмотр» [на втором устройстве и при включении тестового устройства]
Первый сценарий: TV1: GoogleAccount: мама, 3P аккаунт/профиль: аккаунт 1/профиль_1. Смотрите контент и убедитесь, что данные CW отображают контент, просмотренный 3P аккаунт_1/профиль_1
- TV2: GoogleAccount: мама. Проверьте данные CW из первого сценария. Теперь войдите в приложение 3p под другой учетной записью. 3p account / profile: account_2 / profile_2. Смотрите контент и проверьте, отображает ли CW контент, просмотренный 3p account_2/profile_2
GoogleAccount: мама. Новый чехол для устройства / приложение 3P не установлено. На новом устройстве (FDR устройство) Verify CW отображает данные из последнего использованного приложения 3P, которое использовалось GoogleAccount. Примечание: строка CW не должна отображать содержимое 3P, если GAIA еще не связана с профилем 3P на другом устройстве
- GoogleAccount: мама. Новый случай устройства / приложение 3P установлено, но вход в систему не выполнен. На новом устройстве (устройство FDR) Verify CW отображает данные из последнего использованного приложения 3P, которое использовалось GoogleAccount.
- Примечание: после установки приложения и входа в систему состояние CW будет отражать активного пользователя 3P, вошедшего в приложение 3P.
- Примечание: строка «Продолжить просмотр» не должна отображать содержимое 3P, если аккаунт GoogleAccount еще не связан с профилем 3P.
Мы не видим функцию Continue Watching в приложении Google TV iOS. Что случилось?
Вам необходимо будет отправить глубокие ссылки iOS для отображения функции «Продолжить просмотр» на устройствах iOS.
Как часто мне следует обновлять информацию о продолжении просмотра? Должен ли я обновлять информацию о продолжении просмотра часто, например каждые 15 секунд?
Нет, частые обновления не рекомендуются. Вот почему:
- Влияние на производительность: постоянная отправка обновлений создает ненужную нагрузку на наши серверы, что может привести к замедлению работы системы для всех.
- Ненужные данные: Пока пользователь активно смотрит, его позиция воспроизведения постоянно меняется. Отправка обновлений каждые несколько секунд создает много избыточных данных, которые бесполезны для возобновления воспроизведения.
Когда обновлять информацию о продолжении просмотра:
Сосредоточьтесь на фиксации значимых изменений в ходе просмотра пользователем. Вот основные сценарии:
- Воспроизведение приостановлено или остановлено: когда пользователь приостанавливает или прекращает просмотр, отправляйте обновление для сохранения его текущего положения.
- Приложение закрыто или находится в фоновом режиме: если пользователь выходит из приложения или переключается на другое приложение во время просмотра видео, отправьте обновление, чтобы сохранить его прогресс.
- Когда пользователь удаляет элемент из строки продолжения просмотра в приложении
Как эффективно обновить:
Вместо запланированных обновлений используйте события в вашем видеоплеере или жизненном цикле приложения для запуска обновлений. Например:
- onPause, onStop: Когда воспроизведение видео приостанавливается или останавливается.
- onAppClose, onAppBackgrounded: Когда приложение закрывается или переходит в фоновый режим.
Соблюдая эти рекомендации, вы обеспечите эффективное использование ресурсов, одновременно обеспечивая бесперебойную работу функции «Продолжить просмотр» для своих пользователей.