Есть ли способ создать аудиторию сборок разработчика?

Я попытался привлечь аудиторию в Firebase Analytics, установив для параметра «Версия приложения» значение «содержит отладку». Отладочная версия моего приложения добавляет «-debug» в конец строки имени версии.

Однако, когда я запускаю приложение, Firebase записывает данные для моих сеансов, но не для «аудитории отладки».

В конечном итоге я надеюсь попасть в мир, в котором я могу использовать Remote Config, создавая элементы конфигурации, которые я могу использовать при тестировании, но мне не придется беспокоиться о том, что я случайно оставлю конфигурацию активной в каком-либо тестовом режиме, когда я выставлю приложение вживую. . Прямо сейчас мое решение состоит в том, чтобы заключить все вызовы для применения Remote Config в «if (! BuildConfig.DEBUG)», но я уверен, что однажды забуду, и опубликовать приложение в реальном времени с «isPremiumUser», установленным в true для всех пользователей, или что-то в этом роде :).

Есть ли способ создать аудиторию сборок разработчиков, будь то по названию версии или любым другим методом?

Спасибо!


person jkane001    schedule 26.05.2016    source источник
comment
Вы можете пометить своих пользователей, созданных из отладочной сборки, с помощью отладки, а затем отфильтровать их, настроив правильную аудиторию.   -  person racs    schedule 26.05.2016
comment
Когда вы говорите «Отметьте своих пользователей» - что вы имеете в виду? Аудитория позволяет вам устанавливать условия на основе предопределенных событий или свойств пользователя, и тег не входит в их число.   -  person jkane001    schedule 27.05.2016
comment
Извините, наверное, неправильный термин, я делал это на платформе MS, где это называется тегированием. Он устанавливает настраиваемое свойство для пользователя в Firebase. Просто установите debug = true для этих пользователей, чтобы позже вы могли отфильтровать эту аудиторию и либо включить, либо исключить, в зависимости от того, что вы собираетесь делать. Вот ссылка, если вы не знакомы с концепцией: firebase. google.com/docs/analytics/android/   -  person racs    schedule 27.05.2016


Ответы (3)


Для этого вы можете использовать свойства пользователя Firebase Analytics (Android docs, документы iOS).

Пример Android:

if (BuildConfig.DEBUG) {
    mFirebaseAnalytics.setUserProperty("debug_build", "true");
}

Вам также нужно будет перейти в консоль Firebase и сделать две вещи:

  1. Аналитика -> Свойства пользователя -> Свойство нового пользователя -> "debug_build"
  2. Аналитика -> Аудитории -> Новая аудитория -> назовите свою аудиторию и установите условие для свойства пользователя, где debug_build = "true"

Теперь в Remote Config вы можете настроить условия на основе вновь созданной аудитории.

Несколько замечаний:

  • Как только пользователь попадает в аудиторию, он всегда будет в этой аудитории, поэтому даже если вы перестанете устанавливать это свойство, пользователь все равно будет частью аудитории отладки.
  • Существует ограничение в 50 аудиторий и 25 пользовательских свойств, поэтому вы жертвуете некоторыми из этих чисел ради отладочных сборок.
person AdamK    schedule 27.05.2016
comment
Отличная информация, спасибо! Теперь пара вопросов: если пользователь входит в аудиторию, но он получает обновленное значение для этого настраиваемого свойства, присоединяются ли они ко второй аудитории (предполагая, что аудитория настроена для второго значения), или меняют аудитории, или просто воткнуть в первую? Я только что закончил Firebase Hangouts, и было высказано предположение, что лучший способ справиться с отладкой и продуктом - это отдельные проекты. Ты бы согласился с этим? - person jkane001; 27.05.2016
comment
Как только пользователь попадает в аудиторию, он никогда не будет удален снова, независимо от того, соответствует ли он (или перестает соответствовать) этим условиям. Итак, отвечая на ваш вопрос, да, они в конечном итоге присоединились бы ко второй аудитории, но также остались бы в первой. С точки зрения наилучшего способа обработки отладки / продакшена, ИМО, это действительно зависит от того, чего вы пытаетесь достичь. Я действительно думаю, что отладочные сборки - не самое подходящее место для использования свойств аудитории / пользователя, потому что для отладочных сборок вы обычно можете внести что-то в свой процесс сборки, чтобы обработать это за вас. - person AdamK; 27.05.2016
comment
Хорошо спасибо. Причина, по которой я думаю об использовании удаленной конфигурации, специфичной для отладочных сборок, заключается в том, что у меня есть 3 варианта пользователя - демонстрационный, с рекламой и премиум, которые устанавливаются в зависимости от того, поддерживается ли IAB (более 1/2 моей аудитории исходит от пользователей из стран, которые Google не поддерживает с IAB) или если они сделали IAP для обновления. Я могу делать ароматы, но тогда у меня есть как минимум 5 вкусов (3 для тестирования + 2 законных вкуса), и мне это не нравится. Итак, я играю с использованием удаленной конфигурации для установки своего типа пользователя, и до сих пор он работает как шарм. Лучшее решение, которое я нашел до сих пор. - person jkane001; 27.05.2016
comment
Если он работает, я говорю, продолжайте это делать :) Я думаю, что колебания в использовании Analytics для отладки типа материала состоят в том, что вы не хотите, чтобы производственные данные смешивались с данными использования отладочной сборки, если это вообще возможно. Согласно ответу Firebase Hangouts, у вас может быть просто другое имя пакета для отладочных сборок, и это также четко разделит вещи на стороне Firebase. - person AdamK; 27.05.2016
comment
У меня есть дополнительный вопрос, @AdamK - вы упомянули, когда пользователь попадает в аудиторию, он всегда будет в этой аудитории. Мне любопытно, сколько времени длится вечность в контексте пользователя? Например, если пользователь меняет телефон или удаляет приложение, а затем переустанавливает его позже, сохраняется ли пользователь во время этих переходов, или каждый из них является отдельным пользователем? И если у меня есть несколько приложений в одном проекте Firebase, отображается ли пользователь в одной аудитории во всех приложениях в этом проекте? - person jkane001; 28.05.2016
comment
Я думаю, это зависит от того, что Firebase Analytics считает уникальным / новым пользователем, и, к сожалению, я не уверен, как именно это работает. Возможно, стоит задать новый вопрос о stackoverflow, чтобы узнать, сможет ли ответить кто-нибудь из команды. Я бы подумал, что для нескольких приложений в одном проекте Firebase пользователь будет использовать это конкретное приложение, поэтому они не будут отображаться в одной и той же аудитории в разных приложениях. - person AdamK; 30.05.2016
comment
Я задал новый вопрос SO @ stackoverflow.com/questions/37517060/. - person jkane001; 30.05.2016

Следует иметь в виду, что количество пользователей аудитории не превышает 10 пользователей из соображений конфиденциальности. Итак, если вы просто тестируете свою «отладочную» аудиторию, тогда ваша аудитория имеет ‹10 пользователей и будет показано« 0 ». Это будет уточнено в будущем.

person Steve Ganem    schedule 27.05.2016
comment
ЭТО хорошая информация, которая позволяет легко принять решение. Я буду создавать несколько проектов. Спасибо! - person jkane001; 27.05.2016
comment
Если кто-то из Firebase читает панель управления, это действительно должно прояснить это. - person Warpling; 16.09.2017

Если вы в основном используете Analytics, вы также можете зарегистрировать два независимых проекта Firebase: один для разработки, а другой - для производства. Это позволит вам экспериментировать при разработке без вмешательства в производственные данные. Только не забудьте переключить идентификатор проекта перед выпуском приложения. Возможно, вы также сможете сделать это с целями Gradle.

person djabi    schedule 27.05.2016