При реализации GTM gettng следующей ошибкиGoogle менеджер Tag v4 дает ошибку при реализации в андроиде
Не удался извлечь контейнер из файла ресурсов. Ресурс представляет собой UTF-8 строка в кодировке, но не содержит JSON контейнера
Я сделал кодирование, как следовать
TagManager tagManager = TagManager.getInstance(this);
tagManager.setVerboseLoggingEnabled(true);
Log.v("tag", "before loading binary file ");
PendingResult<ContainerHolder> pending = tagManager
.loadContainerPreferNonDefault(CONTAINER_ID,
R.raw.gtm_default_container);
Log.v("tag", "after loading binary file ");
pending.setResultCallback(new ResultCallback<ContainerHolder>() {
@Override
public void onResult(ContainerHolder containerHolder) {
Container container = containerHolder.getContainer();
if (!containerHolder.getStatus().isSuccess()) {
// Log.e("CuteAnimals", "failure loading container");
// displayErrorToUser("error");
return;
}
ContainerHolderSingleton.setContainerHolder(containerHolder);
ContainerLoadedCallback.registerCallbacksForContainer(container);
containerHolder.setContainerAvailableListener(new ContainerLoadedCallback());
startMainActivity();
}
}, 2, TimeUnit.SECONDS);
private static class ContainerLoadedCallback implements ContainerHolder.ContainerAvailableListener {
@Override
public void onContainerAvailable(ContainerHolder containerHolder, String containerVersion) {
// We load each container when it becomes available.
Container container = containerHolder.getContainer();
registerCallbacksForContainer(container);
}
public static void registerCallbacksForContainer(Container container) {
// Register two custom function call macros to the container.
container.registerFunctionCallMacroCallback("increment", new CustomMacroCallback());
container.registerFunctionCallMacroCallback("mod", new CustomMacroCallback());
// Register a custom function call tag to the container.
container.registerFunctionCallTagCallback("custom_tag", new CustomTagCallback());
}
}
private static class CustomTagCallback implements FunctionCallTagCallback {
@Override
public void execute(String tagName, Map<String, Object> parameters) {
// The code for firing this custom tag.
Log.i("CuteAnimals", "Custom function call tag :" + tagName + " is fired.");
}
}
private static class CustomMacroCallback implements FunctionCallMacroCallback {
private int numCalls;
@Override
public Object getValue(String name, Map<String, Object> parameters) {
if ("increment".equals(name)) {
return ++numCalls;
} else if ("mod".equals(name)) {
return (Long) parameters.get("key1") % Integer.valueOf((String) parameters.get("key2"));
} else {
throw new IllegalArgumentException("Custom macro name: " + name + " is not supported.");
}
}
}
@Override
protected void onStart() {
super.onStart();
Utilities.pushOpenScreenEvent(this, "SplasScreen");
}
@Override
protected void onStop() {
super.onStop();
Utilities.pushCloseScreenEvent(this, "Splashscreen");
}
Как мы можем проследить просмотры страниц с помощью GTM и отобразить его в GA в Android
Не удалось найти способ загрузки файла 'binary', доступен только формат' json'. в v4. – eugene
После добавления двоичной папки/res/raw, получение той же самой ошибки, упомянутой OP –