Как правильно использовать и отслеживать App-приглашения?

Фон

Google позволяет выполнять приглашения приложений, а также отслеживать, насколько хорошо они улучшают установку вашего приложения:

https://www.youtube.com/watch?v=UfdCNYXMC9M

Эта проблема

Я сделал простое приглашение в приложение, и кажется, что люди используют его, используя этот код:

public static Intent getAppInviteIntent(Context context) {
    return new AppInviteInvitation.IntentBuilder(title,appName).setCustomImage(imageUri).setMessage(message).setCallToActionText(download).build();
}


startActivityForResult(getAppInviteIntent(this), GOOGLE_APP_INVITES_REQUEST_CODE);

Это работает, но вВеб-страница аналитикиЯ не могу найти способ показать статистику по приглашению приложения, и это, хотя они говорят, что это автоматически (Вот). К сожалению, даже то, что я нашел, кажется довольно старым, и они используют устаревшие функции.

Что я пробовал

Я подумал, что, возможно, это не совсем автоматически (потому что у руководства есть дополнительный код для части получателя,Вот), и что нам может понадобиться добавить некоторый код, какэто документы сказать :

Когда пользователь принимает приглашение и устанавливает приложение, getInvitation (GoogleApiClient, Activity, boolean) обновляет состояние приглашения до установленного и возвращает данные приглашения в намерении, доступ к которому осуществляется из AppInviteInvitationResult, с помощью getInvitationIntent ()

Глядя на образец Google (Вот), Я заметил, что они создали 2 действия. Одним из них является основное действие, которое имеет вызов «getInvitation», а другое называется «DeepLinkActivity» и обрабатывает глубокие ссылки (что, вероятно, для дополнительных данных, таких как купоны).

Я также нашел несколько вопросов stackOverflow об отслеживании (например,Вот), но все, что я вижу, это то, что людям еще не удалось отследить.

Вопросы

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

Похоже, что Google переместил функцию приглашений приложений в репозитории «firebase». Это обязательно иметь? Каковы преимущества? В настоящее время мы используем предыдущие ("com.google.android.gms: play-services-appinvite: ..."). Панель инструментов FireBase, похоже, не содержит такого большого количества пользовательского интерфейса для аналитики, как Google Analytics. Не говоря уже о app-invites.

Если ответ на вопрос № 1 заключается в том, что мне нужно использовать «getInvitationIntent», должно ли это быть в основной активности приложения? Должен ли он быть в деятельности вообще (возможно, широковещательный приемник?)?

Кажется, можно также пригласить в IOS (как показаноВот а такжеВот, используя "setOtherPlatformsTargetApplication"). Это правильно? Как это работает? Что происходит, когда пользователь IOS нажимает на ссылку? Что следует указывать в параметре "clientId" и где его взять?

Есть ли у G + app-приглашения? Если да, есть ли у него аналитика?

Ответы на вопрос(2)

Великолепные вопросы. Я сделаю все возможное, чтобы ответить на все. Пожалуйста, спросите, если вам нужно разъяснение.

Для отслеживания Google Analytics требуется идентификатор отслеживания, который вам необходимо установить с помощью setGoogleAnalyticsTrackingId (String trackingId), который я не вижу в вашем примере. Затем этот идентификатор отслеживания передается последующим событиям, которые записывают для вас события отслеживания аналитики:

Когда приглашения отправляются (как электронная почта, так и смс).Когда приглашенный пользователь принимает приглашение, нажимая на ссылку или кнопку приглашения.Когда разработчик вызывает getInvitation ()Когда разработчик вызывает convertInvitation ()

Итак, чтобы ответить на ваши конкретные вопросы, здесь идет:

Просто добавьте свой идентификатор отслеживания в конструктор, как описано выше, и все события отслеживания будут сообщены. Нет необходимости в диплинке, это необязательно при приглашении.Да, приложение apinvites api копируется в базу данных с сохранением оригинала. Пока они точно такие же. Будущие улучшения будут в базе данных, поэтому переходите, когда у вас есть время.getInvitationIntent () вызывается для результата, возвращенного в обратном вызове из getInvitation (), поэтому обратный вызов должен быть внутри действия. Кроме того, поскольку вы ожидаете приглашение только сразу после запуска, вам действительно нужно зарегистрировать только основное действие и любое действие, которое будет запущено с помощью фильтров намерений, которые срабатывают на Deeplink. Похоже, вы не используете глубокие ссылки, так что только основное занятие. Как правило, вы должны вызывать getInvitation () для всех действий, которые могут быть запущены непосредственно из приглашения, именно так вы определяете, запускается ли ваше приложение из приглашения.Да, приглашения могут проходить кроссплатформенно в обоих направлениях: iOS -> Android и Android -> iOS. Вам нужно определить оба приложения в одном проекте на console.developers.google.com, что необходимо для их связи. Если в проекте более одного приложения iOS, этот вызов API необходим для устранения неоднозначности приложения iOS, которое связано с приложением Android. Параметр ClientID генерируется в консоли при создании идентификатора клиента OAuth с помощью выпадающего меню из раздела учетных данных.Не существует отдельных приглашений G +.
 android developer21 июн. 2016 г., 09:31
Я пытался использовать "setGoogleAnalyticsTrackingId", но я не вижу событий приглашения приложений на веб-сайте консоли (после попытки приложения в режиме выпуска и отправки приглашений, конечно). Даже за них не отправляют. Это почему?
 android developer19 июн. 2016 г., 12:00
1. Почему это не в образце и учебниках? Если это важно, это должно быть там (по крайней мере, в качестве комментария). 2. На сайте Firebase это не выглядит одинаково. Это выглядит намного меньше, чем раньше. Кроме того, как мне попасть на страницу приглашений? 3. Но нужно ли мне вызывать «getInvitation», чтобы он отслеживался (чтобы я мог видеть статистику)? Какие минимальные вещи мне нужно сделать? 4. Приложения имеют разные идентификаторы проектов. Можно ли еще объединить их в одну для этой цели? 5. Жаль. Может помочь еще больше с вирусными функциями.
 android developer21 июн. 2016 г., 09:55
Кажется, я должен создать «динамические ссылки», и я пропустил это, но я не понимаю, что туда помещать (например, какой URL поместить), и что делать с ним в коде. С этим связана «глубокая связь»? Смотря здесь:firebase.google.com/docs/dynamic-links/android они говорят о создании и получении «динамических ссылок», но я не вижу части их отправки через само приглашение.

ответы:

Динамические ссылки Firebase на Android В документации объясняется, как просматривать аналитические данные, отображаемые непосредственно в консоли Firebase. Важным шагом является следованиеИнструкции по настройке Firebase, самое главное:

// ДОБАВЛЯЕМ ЭТО ВНУТРИ

применить плагин: 'com.google.gms.google-services'

Интеграция аналитики Firebase была упрощена от унаследованной интеграции, которая требовала идентификатора отслеживания. Теперь с Firebase требуется только настройка и вызов getInvitation (). Никакого дополнительного кода или идентификаторов отслеживания не требуется. Помните, что для просмотра результатов в консоли требуется до 24 часов. Тем не менее, вы можете видеть, что сообщения отправляются немедленно, что является отличным признаком того, что они работают. Просто включите подробное ведение журнала, как описано вЖурнал Analytics Log События.

Разработчик Firebase и Androidдокументация для приложений идентичны

Да, вы должны вызвать getInvitation () для отслеживания аналитики и выполнить настройку, как описано выше.

Приложения для iOS и Android должны быть в одном проекте. Просто перенесите их в один проект в консоли Firebase. Вы можете просто удалить один из существующего проекта и добавить его к другому, чтобы создать объединенный проект. Изменение должно быть отражено немедленно.

Ваш ответ на вопрос