Расширенная конфигурация

Чтобы расширить функциональность Google Менеджера тегов, можно добавить переменные и теги вызова функций. Переменные вызова функций позволяют фиксировать значения, возвращаемые вызовами предварительно зарегистрированных функций. Теги вызова функций дают возможность выполнять предварительно зарегистрированные функции (например, для активации обращений для дополнительных инструментов отслеживания и ремаркетинга, которые в настоящее время не поддерживаются шаблонами тегов в Google Менеджере тегов).

Добавление пользовательских тегов и переменных

Чтобы добавить пользовательский тег или пользовательскую переменную с помощью вызова функции:

  1. Создайте класс, расширяющий com.google.android.gms.tagmanager.CustomTagProvider или com.google.android.gms.tagmanager.CustomVariableProvider:
    import android.support.annotation.Keep;
    import java.util.Map;
    
    @Keep
    public class HighScoreProvider implements com.google.android.gms.tagmanager.CustomVariableProvider {
      @Override
      public String getValue(Map<String, Object> map) {
        synchronized (HighScoreProvider.class) {
          return ((Long)sHighScore).toString();
        }
      }
    
      private static long sHighScore = 0;
      public static void recordScore(long score) {
        synchronized (HighScoreProvider.class) {
          sHighScore = Math.max(score, sHighScore);
        }
      }
    }
    
  2. При использовании ProGuard убедитесь, что для имен классов и методов не используется обфускация. Для этого используйте аннотацию Keep.
  3. В веб-интерфейсе Google Менеджера тегов используйте полное имя класса для настройки тегов и переменных:

    пользовательская переменная