Краткий обзор. Протестируйте интеграцию вашего приложения для Android/iOS с AppsFlyer.
Тестирование и отладка интеграции SDK
Протестируйте интеграцию с SDK перед отправкой приложения в магазин приложений. В этой статье под SDK понимается SDK AppsFlyer и для iOS, и для Android.
Особые случаи тестирования и отладки
- Smart TV: SDK совместим со смарт-телевизорами на базе Android и Apple TV (tvOS). Протестируйте приложения для Smart TV согласно инструкциям в этом руководстве.
- Неопубликованные приложения для tvOS: см. Тестирование интеграции tvOS перед публикацией.
- Amazon Fire TV: см. Тестирование альтернативных магазинов Android.
Зачем нужно выполнять отладку и тестирование?
Тщательно протестированная интеграция обеспечивает точный и полный сбор данных. Тестирование интеграции SDK позволяет убедиться, что установки и внутренние события приложения регистрируются и атрибутируются корректно.
Тестирование и отладка интеграции SDK
Для тестирования и отладки интеграции SDK используйте один из описанных ниже методов
-
Базовое тестирование:
- Тестирование интеграции с помощью ссылок атрибуции
- В модели атрибуции AppsFlyer используются ссылки атрибуции. Поэтому ссылки атрибуции рекомендуется использовать при тестировании.
- Тестирование интеграции SDK с помощью ссылок атрибуции позволяет глубже понять модель атрибуции AppsFlyer. Благодаря этому вы можете оптимизировать маркетинговую деятельность и анализ.
-
Расширенное тестирование:
- Отладка непосредственно в среде разработки.
- В разделе Тесты интеграции SDK приведены тесты только для некоторых функций. Протестируйте следующие функции в среде разработки, используя журнал отладки:
- Проверка покупок
- Данные о конверсиях
- Ошибки в настройке SDK. Тестирование этих функций можно провести в среде разработки с помощью журнала отладки.
Материал по теме для рекламных сетей: Тестирование интеграции рекламных сетей.
С помощью страницы SDK Integration Tests (Тесты интеграции SDK) можно выявить в своем проекте проблемы, связанные с интеграцией. Страница позволяет протестировать установки, внутренние события приложения и диплинкинг.
Тестирование интеграции SDK
Чтобы протестировать интеграцию с SDK:
- Подготовьте устройство (iOS или Android), на котором не установлено приложение. При необходимости удалите приложение с устройства.
- Зарегистрируйте устройство как тестовое. Внимание! iOS: Если для установки приложения вы используете сервис TestFlight, то регистрировать устройство не требуется.
- Выберите приложение в AppsFlyer.
-
Перейдите на вкладку Integration (Интеграция) > SDK Integration Tests (Тесты интеграции SDK).
Откроется страница «Тесты интеграции SDK». - Выберите параметр теста:
- Неорганические установки
- Внутренние события приложений
- Диплинкинг
- Используйте процедуру тестирования в соответствии с выбранным типом теста.
Тестирование органических установок
- Установите приложение на зарегистрированном тестовом устройстве.
- Запустите приложение.
- На дэшборде приложения отобразится новая органическая установка.
Тестирование неорганических установок
- Выберите Non-Organic Install (Неорганическая установка).
- Выберите устройство в списке.
- Выберите источник приложения:
- Android:
- Google Play
- Другое (независимая площадка)
- iOS:
- App Store
- XCode
- TestFlight
- Android:
- Отсканируйте QR-код с помощью зарегистрированного тестового устройства и следуйте инструкциям, которые будут отображаться на устройстве.
- Подождите, пока неорганическая установка не будет зарегистрирована на странице SDK Integration Test (Тесты интеграции SDK) — это означает, что тест прошел успешно. Это может занять около 2 минут.
Если за это время приложение не зарегистрирует неорганическую установку, перейдите в раздел устранения неполадок на странице SDK Integration Tests.
Чтобы протестировать установки LAT:
- На устройстве включите режим LAT.
- Выполните тестирование неорганической установки.
Чтобы протестировать установки, если пользователь не дал согласие на ATT (без данных IDFA):
- В диалоговом окне ATT consent (Согласие на АТТ) нажмите Ask App Not to Track (Запросить приложение не отслеживать).
- Выполните тестирование неорганической установки.
Тестирование внутренних событий приложения.
- Нажмите Run test (Запустить тест) под ярлыком In-app events (Внутренние события приложения).
- Выберите зарегистрированное тестовое устройство из выпадающего списка и нажмите Next (Далее).
- Запустите свое приложение и начните создавать в нем внутренние события.
- Вы увидите журнал этих событий, поскольку они регистрируются в режиме реального времени.
Тестирование глубинных ссылок
- Тестировать диплинкинг можно только для тех приложений, для которых определена ссылка OneLink. См. наше руководство по ссылкам OneLink. Важно отметить, что мы настоятельно рекомендуем включать в приложения диплинкинг, как описано в Руководстве по интеграции глубинных ссылок.
- Убедитесь, что переключатель ретаргетинга включен.
- Нажмите Run test (Запустить тест) под ярлыком Deep linking (Диплинкинг).
- Выберите зарегистрированное тестовое устройство из выпадающего списка и нажмите Next (Далее).
- Выберите Test Type (Тип тестирования):
- OneLink — Выберите ссылку OneLink, которую вы хотите протестировать, из выпадающего меню Select a OneLink.
- Схема URI — Укажите схему URI, которую вы хотите протестировать. Например, greatapps://cars.
- Отсканируйте QR-код с помощью зарегистрированного тестового устройства и следуйте инструкциям, которые будут отображаться на вашем устройстве.
- После завершения этих двух тестов тест диплинкинга регистрируется как успешный.
Тестирование интеграции SDK с помощью отладочных приложений
При тестировании с помощью ссылок атрибуции, данные будут добавляться на панель управления приложения. Данные, добавленные на панель управления приложения, удалить невозможно. Если добавление тестовых данных к работающему приложению нежелательно, можно выполнить тестирование интеграции SDK с помощью отладочных приложений.
Если вам не нужно тестовое приложение, или вас не беспокоит смешение тестовых и реальных данных, этот раздел можно пропустить.
Отладочные приложения являются точными копиями приложений, опубликованных в магазинах приложений. Запуск тестов интеграции SDK в отладочных приложениях позволяет отделить реальные данные от тестовых.
Отличия отладочных приложений от рабочих:
- Другой идентификатор приложения
- Собственная панель управления
- Не публикуются в магазинах приложений
Создание тестового приложения для Android
Создание копии приложения для Android
- Создайте копию папки проекта для Android и переименуйте ее.
- Откройте скопированный проект в Android Studio.
- В Android Studio последовательно разворачивайте папки, пока не откроется папка с пакетом.
- Щелкните правой кнопкой мыши на имени пакета, выберите Refactor (Реструктуризация), а затем — Rename (Переименовать).
- Переименуйте пакет.
- В файле build.gradle введите новое имя пакета в поле
applicationId
на уровне приложения.
Добавление к AppsFlyer тестового приложения для Android
Инструкции по добавлению нового приложения на панель управления AppsFlyer см. здесь. Убедитесь, что имя пакета совпадает с именем пакета для только что созданного тестового приложения, а не с именем пакета для исходного приложения. Кроме того, обязательно установите для этого приложения состояние Ожидает подтверждения или неопубликованное.
Теперь новое тестовое приложение можно использовать для тестирования.
Создание тестового приложения для iOS
Создание копии приложения для iOS
- Откройте папку проекта в Finder.
- Создайте копию папки.
- Откройте копию проекта в XCode.
- Задайте новый идентификатор приложения в методе
didFinishLaunchingWithOptions
классаAppDelegate
:Objective C
Swift
Примечание
Идентификатор приложения присваивается приложению только после его публикации в магазине приложений. Однако, поскольку это приложение тестовое, ему можно присвоить любой идентификатор, за исключением тех, которые уже используются другими приложениями. Идентификатор должен иметь формат 11111****. Например, 111117538.
Убедитесь, что в ID указаны 9 цифр. Идентификатор должен начинаться с пяти единиц. Остальные цифры могут быть случайными. См. пример идентификатора выше.
Добавление тестового приложения iOS на панель инструментов AppsFlyer
Инструкции по добавлению нового приложения на панель управления AppsFlyer см. здесь. Убедитесь, что идентификатор приложения совпадает с идентификатором только что созданного тестового приложения. Кроме того, обязательно установите для этого приложения состояние Ожидает подтверждения или неопубликованное.
Теперь новое тестовое приложение можно использовать для тестирования.
Тестирование с помощью ссылок атрибуции
В этом разделе показано, как тестировать интеграцию с помощью ссылок атрибуции.
Прежде чем начать:
- Зарегистрируйте устройства для тестирования
- Если вы тестируете реатрибуцию, уберите зарегистрированное устройство из разрешенного списка.
- Если вы тестируете атрибуцию приложений, доступных через сторонние магазины Android, необходимо задать ссылку на конкретный магазин приложений в параметре af_r ссылки атрибуции.
Интеграцию с SDK можно тестировать даже тогда, когда приложение все еще находится на рассмотрении (т.е. не опубликовано в Google Play или Apple Store).
Темы, рассматриваемые в этом разделе:
- Тестирование атрибуции установок.
- Тестирование внутренних событий приложения.
- Тестирование ретаргетинга (реатрибуция и повторное вовлечение).
Тестирование атрибуции установок.
Тестирование установок позволяет выяснить, может ли SDK AppsFlyer правильно атрибутировать установки различным исходным источникам взаимодействия.
Шаг 1.
Скопируйте следующую ссылку:
https://app.appsflyer.com/<app_id>?pid=Test&c=Test&advertising_id=<GAID>
https://app.appsflyer.com/<app_id>?pid=Test&c=Test&idfa=<IDFA>
Измените параметр app_id на идентификатор своего приложения (включая префикс id
, например, id0123456789
).
- Параметр c указывает название кампании.
- Параметр pid указывает имя исходной точки взаимодействия, которому атрибутирована установка.
- Если вы тестируете приложение из стороннего магазина Android: добавьте параметр af_r к ссылке атрибуции.
Если вы тестируете клик с компьютера, добавьте GAID для Android (Google Advertising ID) или IDFA для iOS.
Шаг 2.
Скопируйте ссылку, отправьте ее на тестовое устройство и перейдите по ссылке с помощью браузера.
Примечание
В iOS воспользуйтесь iMessenger или электронной почтой, чтобы отправить ссылку на устройство. Не копируйте ссылку в заметки iOS Notes, чтобы затем кликнуть на ней, поскольку нажатие на ссылку в заметках может разорвать ее.
- Если приложение работает, перейдите к установке.
- Если приложение находится в состоянии ожидания, установите приложение из среды разработки:
-- Для Android: выполните установку из Android Studio или оболочки ADB.
-- Для iOS: выполните установку из XCode.
Шаг 3.
Подождите примерно две минуты, пока установка появится на панели управления приложения. Эта установка должна быть показана в данных кампании Test и атрибутирована исходной точке взаимодействия Test.
Для более детальной проверки загрузите отчет с сырыми данными по установкам:
- В AppsFlyer перейдите в раздел Reports (Отчеты) > Export Data (Экспорт данных).
- В разделе Raw Data Reports (Отчеты по необработанным данным) загрузите отчет Installation (Установки).
Дополнительную информацию см. в нашей статье Отчет с сырыми данными по установкам.
Тестирование внутренних событий приложения.
Тестирование внутренних событий приложения позволяет узнать, приносят ли они доход, и убедиться, что они атрибутированы исходной точке взаимодействия, которая инициировала установку.
После установки приложения с помощью ссылки атрибуции в приложении происходит несколько внутренних событий. Подождите примерно две минуты, пока эти события появятся на панели управления. Откройте панель управления приложения и выберите Events (События) в меню слева.
В окне должны быть показаны события, доход от них (если с ними связан доход) и исходная точка взаимодействия, с которой они связаны.
Для более детальной проверки можно загрузить отчет о внутренних событиях приложения по необработанным данным.
На панели управления приложения выберите в меню Reports (Отчеты) пункт Export Data (Экспорт данных). Загрузите отчет In-App Event (Внутренние события приложения) из раздела Raw Data Reports (Отчеты по необработанным данным).
Дополнительную информацию см. в нашей статье Отчет с сырыми данными по внутренним событиям приложения.
Тестирование ссылок OneLink
OneLink™ позволяет создать единую ссылку атрибуции для iOS и Android. OneLink распознает устройства пользователей и перенаправляет их в соответствующий магазин приложений.
Кроме того, ссылку OneLink можно использовать для диплинкинга. Диплинкинг позволяет направлять пользователей на определенное действие в приложении, одновременно предоставляя им индивидуально подобранный контент.
Подробные сведения см в нашем руководстве по тестированию URL-адресов ссылок OneLink.
Тестирование ретаргетинга
Необходимые условия для тестирования ретаргетинга
- Шаблон OneLink — см. статью "Настройка шаблона OneLink"
- Включение ретаргетинга в настройках приложения
На дэшборде приложения выберите App Settings (Настройки приложения) и активируйте переключатель Enable Re-Targeting Campaign Measurement (Включить измерение для ретаргетинговых кампаний).
- Незарегистрированное устройство
Тестировать ретаргетинг очень просто. Создайте настраиваемую ссылку атрибуции на основе шаблона OneLink. Обязательно включите переключатель Re-Targeting Campaign (Ретаргетинговая кампания).
Как только настраиваемая ссылка атрибуции будет готова, появится следующий экран, позволяющий получить длинный вариант URL-адреса:
Кроме того, длинный вариант URL-адреса можно получить на странице Link Management (Управление ссылками).
- На странице Link Management (Управление ссылками) найдите ссылку атрибуции.
- Справа нажмите на три точки в разделе Actions (Действия).
- Нажмите View Link Details (Просмотр сведений о ссылке).
- Скопируйте длинную ссылку.
Важно!
- При тестировании ретаргетинга (реатрибуция и повторное вовлечение) в URL-адресе ссылки атрибуции должен быть указан рекламный идентификатор.
- Повторные установки в результате ретаргетинга (т.е. реатрибуция) нельзя протестировать с помощью зарегистрированных тестовых устройств, то есть устройств пользователей, внесенных в список тестовых устройств. Для этой цели можно использовать любое другое устройство.
- Чтобы просмотреть GAID или IDFA, следуйте инструкциям в статье о регистрации тестового устройства. Внимание!
Окончательный вариант ссылки OneLink выглядит следующим образом:
https://go.onelink.me/2rAD?pid=Test&c=Test&is_retargeting=true&advertising_id=<GAID>
https://go.onelink.me/2rAD?pid=Test&c=Test&is_retargeting=true&idfa=<IDFA>
Тестирование реатрибуции
При тестировании реатрибуции можно проверить возможность регистрации установок вашего приложения, которые пользователи повторно выполняют после его удаления.
- Убедитесь, что ваше тестовое устройство НЕ зарегистрировано.
- Если приложение только что установлено, подождите несколько минут.
- Удалите приложение с устройства.
- Повторите те же действия, что и при тестировании атрибуции установок. При этом используйте формат OneLink, описанный выше.
- Подождите примерно две минуты, пока эта установка, выполненная в результате ретаргетинга, появится на панели управления.
- Откройте панель управления приложения и выберите в левом меню пункт Re-Targeting (Ретаргетинг).
- Эта реатрибутированная установка должна быть показана в данных кампании Test и атрибутирована исходной точке взаимодействия Test.
Для более детальной проверки можно загрузить отчет о конверсиях по необработанным данным.
На панели управления приложения выберите в меню Reports (Отчеты) пункт Export Data (Экспорт данных). Загрузите отчет Conversions (Конверсии) из раздела Re-Targeting Reports (Отчеты по ретаргетингу).
Тестирование повторного вовлечения
Повторное вовлечение происходит тогда, когда пользователь, у которого приложение уже установлено, вовлекается в ретаргетинговую кампанию и запускает приложение.
Тестирование повторного вовлечения путем открытия приложения
Повторное вовлечение путем открытия приложения означает, что пользователи перенаправляются в магазин приложений, где им демонстрируется кнопка открытия приложения. Если они нажимают кнопку «Открыть» и запускают приложение, регистрируется повторное вовлечение.
Чтобы протестировать повторные вовлечения, выполните следующие действия:
- Убедитесь, что приложение установлено на вашем тестовом устройстве и уже несколько раз было запущено.
- Если приложение только что установлено, подождите несколько минут.
- Используйте такую же ссылку OneLink, как и при тестировании реатрибуции.
- Добавьте в ссылку идентификатор устройства и отправьте ее на мобильное устройство.
- Перейдите по ссылке с помощью браузера.
- Откройте приложение вручную с помощью кнопки Open (Открыть) в магазине или с панели запуска на устройстве.
Эта повторное вовлечение должно быть показано в данных кампании Test и атрибутировано исходной точке взаимодействия Test.
Тестирование повторного вовлечения путем диплинкинга
Повторное вовлечение путем диплинкинга позволяет запустить приложение сразу, как только пользователь нажмет на ссылку атрибуции. Преимущества использования повторного вовлечения с помощью диплинкинга:
- Более удобно для пользователя — пользователь не перенаправляется в магазин, а приложение запускается автоматически.
- Более эффективные кампании — открывая пользователям доступ к определенным действиям, которые связаны с кампанией, можно значительно повысить эффективность кампании ретаргетинга.
С помощью диплинкинга можно протестировать атрибуцию повторного вовлечения. Порядок действий здесь такой же, как и при тестировании повторного вовлечения с помощью ссылки атрибуции. Единственное отличие состоит в том, что ссылка атрибуции содержит параметр af_dp
, который перенаправляет пользователя на конкретное действие в приложении.
Чтобы протестировать повторные вовлечения с помощью диплинкинга, выполните следующие действия:
- Выполните настройки для использования диплинкинга с вашим приложением.
- Убедитесь, что приложение установлено на вашем тестовом устройстве и уже несколько раз было запущено.
- Если приложение только что установлено, подождите несколько минут.
- Создайте ретаргетинговую ссылку с идентификатором устройства.
- Добавьте параметр af_dp и добавьте к нему схему, которая была настроена на шаге 1.
- Перейдите по ссылке с помощью браузера.
- Если приложение установлено, ссылка запускает приложение и направляет пользователя на указанное в ней действие.
Эта повторное вовлечение должно быть показано в данных кампании Test и атрибутировано исходной точке взаимодействия Test.
Подробные сведения см в нашем руководстве по тестированию диплинкинга.
Дополнительные способы тестирования интеграции SDK
Если еще два способа проверки интеграции SDK:
В этом разделе показано, как выполнить отладку SDK. Используйте сведения из этого раздела для расширенного тестирования и устранения проблем при интеграции SDK.
Отладка для Android
Отладка SDK позволяет глубже понять, как происходит его интеграция с вашим приложением. С помощью отладки можно решить проблемы, связанные с регистрацией внутренних событий приложения, данными о конверсиях и проверкой покупок.
Включение режима отладки SDK Android
Чтобы начать отладку SDK Android, добавьте в класс AFApplication такую строку:
AppsFlyerLib.getInstance().setDebugLog(true);
Предупреждение
Отладка должна быть ограничена только фазой разработки. Не отправляйте приложение в магазин с включенным режимом отладки. Это несет большую угрозу безопасности и конфиденциальности.
Просмотр результатов отладки
Для просмотра результатов отладки откройте терминал Logcat в Android studio. Выберите в качестве процесса отладки имя пакета приложения, установите для журнала уровень "Debug" (Отладка) и отфильтруйте его по строке "AppsFlyer_".
Устранение распространенных проблем с Android SDK
Все установки атрибутируются как органические
Пример ситуации
Выполняется тестирование атрибуции с помощью ссылок атрибуции. Используется прослушиватель конверсий из SDK, но в журнале все установки регистрируются как органические. Кроме того, на панели управления не показано ни одной неорганической установки.
Возможные причины
- Неверный ключ разработчика — если ключ разработчика задан неправильно, атрибутировать установку невозможно.
- Используется неправильная ссылка атрибуции. См. руководство по ссылкам атрибуции.
- Убедитесь, что устройство, на котором вы проводите тестирование, зарегистрировано.
- В манифесте неправильно задан канал.
Установка не обнаружена или не атрибутирована
Пример ситуации
Выполняется тестирование атрибуции установки, однако в журнале нет данных об установке, таких как тип, первый запуск и т. д.
Возможные причины
- Убедитесь, что в классе
AFApplication
есть вызовы методовstartTracking
иinit
. - Убедитесь, что устройство, на котором вы проводите тестирование, зарегистрировано.
При регистрации установки или события получен ответ с кодом 404
Пример ситуации
Выполняется тестирование внутренних событий приложения для проверки того, правильно ли они атрибутируются исходной точке взаимодействия. Однако и при установке, и при отправке событий в приложении в журнале отображается код ответа 404. Ни установка, ни внутренние события приложения на панели управления не отображаются.
Возможные причины
Ответ 404 означает, что идентификатор приложения неверен. Убедитесь, что идентификатор приложения, заданный параметром applicationId
в файле build.gradle, совпадает с этим идентификатором на панели управления.
Регистрация дохода выполняется неправильно
Пример ситуации
Выполняется тестирование событий дохода в приложении. Эти события отображаются на панели управления, однако доход не регистрируется.
Возможные причины
Неверный формат параметра дохода. Для значений дохода НЕЛЬЗЯ применять какое бы то ни было форматирование. В них не должны использоваться запятые-разделители, знаки валюты или текст. Событие дохода должно иметь, например, такой формат: 1234.56.
При тестировании внутренних событий приложения в журнале отображается сообщение "AppsFlyer's SDK cannot send any event without providing DevKey".
Пример ситуации
Выполняется просмотр внутренних событий приложения в журнале. При инициировании событий в журнале отображается только сообщение "AppsFlyer's SDK cannot send any event without providing DevKey" (SDK AppsFlyer не может отправлять события без предоставления ключа DevKey).
Возможные причины
При вызове метода startTracking
не передается параметр с ключом разработчика. Передайте в метод ключ разработчика.
При тестировании внутренних событий приложения в журнале отображается сообщение "Not sending data yet, waiting for dev key"
Пример ситуации
Выполняется просмотр внутренних событий приложения в журнале. При инициировании событий в журнале отображается только сообщение "Not sending data yet, waiting for dev key" (Данные еще не отправлены, ожидание ключа разработчика).
Возможные причины
При вызове метода init
вместо ключа разработчика передается пустая строка. Передайте в метод ключ разработчика.
При тестировании внутренних событий приложений получен ответ с кодом 400
Пример ситуации
Выполняется просмотр внутренних событий приложения в журнале. При инициировании событий в журнале отображается код ответа 400.
Возможные причины
Это может означать проблему с ключом разработчика. Проверьте, правильно ли указан ключ разработчика. Кроме того, убедитесь, что ключ разработчика содержит только буквы и цифры.
В журнале отображается сообщение "WARNING: Google Play Services is missing"
Пример ситуации
В терминале Logcat отображается сообщение "WARNING: Google Play Services is missing" (ПРЕДУПРЕЖДЕНИЕ. Отсутствуют сервисы Google Play).
Возможные причины
В приложении не заданы зависимости для сервисов Google Play. Это может помешать SDK собирать идентификаторы GAID, что вызовет проблемы с атрибуцией.
Добавьте следующие строки:
implementation 'com.google.android.gms:play-services-base:15.0.1'
implementation 'com.google.android.gms:play-services-ads:15.0.1'
в файл build.gradle на уровне модуля (приложения).
При регистрации установки или события получен ответ с кодом 400.
Пример ситуации
Вы тестируете установки и другие события конверсии в журнале. При инициировании этих событий в журнале отображается ошибка 403 (Forbidden, доступ запрещен).
Возможные причины
Это может быть связано с тем, что у вас тарифный план Zero, в который не входят данные атрибуции; он включает только данные по кликам и показам. Чтобы начать получать данные атрибуции, узнайте больше о различных тарифный планах AppsFlyer и обновите ваш план при необходимости.Вы также можете связаться с нашей командой по работе с клиентами по адресу hello@appsflyer.com, если у вас есть вопросы.
Отладка для iOS
Включение режима отладки SDK iOS
Чтобы начать отладку SDK iOS, добавьте в метод didFinishLaunchingWithOptions
такую строку:
Добавьте в файл AppDelegate.m такую строку:
[AppsFlyerLib shared].isDebug = true;
Добавьте в файл AppDelegate.swift такую строку:
AppsFlyerLib.shared().isDebug = true
Предупреждение
Отладка должна быть ограничена только фазой разработки. Не отправляйте приложение в магазин с включенным режимом отладки. Это несет большую угрозу безопасности и конфиденциальности.
Просмотр результатов отладки
Для просмотра результатов отладки откройте терминал отладки в XCode и отфильтруйте данные по строке "AppsFlyer".
Устранение распространенных проблем с iOS SDK
Установки и события не регистрируются
Установки и события могут не регистрироваться по несколькими причинам:
Если заданный идентификатор приложения имеет неверный формат, установки и события регистрироваться не будут. Указывая идентификатор приложения в файле делегата, убедитесь, что он состоит только из цифр.
Ключ разработчика можно найти на странице App Settings (Настройки приложения) панели управления AppsFlyer:
Правильно:
[AppsFlyerTracker sharedTracker].appleAppID = @"340954503";
Неправильно:
[AppsFlyerTracker sharedTracker].appleAppID = @"id340954503";
Неправильно:
[AppsFlyerTracker sharedTracker].appleAppID = @"com.appslyer.sampleapp";
Если идентификатор приложения имеет неверный формат, в журнале отображается такое сообщение об ошибке:
[ERROR] AppsFlyer: -[AppsFlyerTracker validateAppID] AppsFlyer Error: appleAppID should be a number!
Если задан идентификатор приложения, которого нет в вашей учетной записи, установки и события регистрироваться не будут. При этом в журнале отображается такое сообщение об ошибке:
AppsFlyer: -[AppsFlyerHTTPClient sendRequestEventToServer:isRequestFromCache:appID:isDebug:
completionHandler:]_block_invoke sent information to server, status = 404
Ошибка 404 означает, что SDK не удалось найти приложение в вашем аккаунте.
Если задан неверный ключ разработчика, установки и события регистрироваться не будут. При этом в журнале отображается такое сообщение об ошибке:
AppsFlyer: -[AppsFlyerHTTPClient sendRequestEventToServer:isRequestFromCache:appID:isDebug:completionHandler:]
_block_invoke sent information to server, status = 400
Ошибка 400 означает, что SDK не удалось проверить подлинность запроса на регистрацию установок и событий. Проверьте, правильно ли задан ключа разработчика. Кроме того, убедитесь, что ключ разработчика содержит только буквы и цифры.
Идентификатор приложения и ключ разработчика заданы правильно, однако установки не регистрируются
Пример ситуации
В приложении правильно указаны идентификатор приложения и ключ разработчика, тем не менее установки не регистрируются.
Возможные причины
- Инициализация SDK выполнена неправильно. Функция
applicationDidBecomeActive
должна обязательно содержать вызов методаtrackAppLaunch
:- (void)applicationDidBecomeActive:(UIApplication *)application { [[AppsFlyerTracker sharedTracker] trackAppLaunch]; }
func applicationDidBecomeActive(application: UIApplication) { AppsFlyerTracker.shared().trackAppLaunch() }
В журнале отображается сообщение "AppsFlyer dev key missing or empty. Aborting"
Пример ситуации
Вы просматриваете установки и внутренние события приложения в журнале. В журнале отображается сообщение "AppsFlyer dev key missing or empty. Aborting" (Ключ разработчика AppsFlyer отсутствует или пуст. Отмена).
Возможные причины
Ключ разработчика не задан. Он должен быть обязательно задан в методе didFinishLaunchingWithOptions
класса appDelegate:
[AppsFlyerTracker sharedTracker].appsFlyerDevKey = @"YOUR_DEV_KEY";
AppsFlyerTracker.shared().appsFlyerDevKey = "YOUR_DEV_KEY"
Все установки атрибутируются как органические
Пример ситуации
Выполняется тестирование атрибуции с помощью ссылок атрибуции. Используется прослушиватель конверсий из SDK, но в журнале все установки регистрируются как органические. Кроме того, на панели управления не показано ни одной неорганической установки.
Возможные причины
- Используется неправильная ссылка атрибуции. См. руководство по ссылкам атрибуции.
- Убедитесь, что устройство, на котором вы проводите тестирование, зарегистрировано.
Регистрация дохода выполняется неправильно
Пример ситуации
Выполняется тестирование событий дохода в приложении. Эти события отображаются на панели управления, однако доход не регистрируется.
Возможные причины
Неверный формат параметра дохода. Для значений дохода НЕЛЬЗЯ применять какое бы то ни было форматирование. В них не должны использоваться запятые-разделители, знаки валюты или текст. Событие дохода должно иметь, например, такой формат: 1234.56.
При регистрации установки или события получен ответ с кодом 404
Пример ситуации
Вы проводите тестирование, чтобы узнать, правильно ли атрибутируются установки и внутренние события приложения исходной точке взаимодействия. Однако и для событий установки, и для внутренних событий приложения отображается ответ с кодом 404. Ни события установки, ни внутренние события приложения не отображаются на панели управления.
Возможные причины
Код ответа 404 означает, что идентификатор приложения неверен. См. пункт Установки и события не регистрируются.
При регистрации установки или события получен ответ с кодом 400.
Пример ситуации
Выполняется просмотр внутренних событий приложения в журнале. При инициировании событий в журнале отображается код ответа 400.
Возможные причины
Это может означать проблему с ключом разработчика. Проверьте, правильно ли задан ключ разработчика. Кроме того убедитесь, что ключ разработчика содержит только буквы и цифры. См. пункт Установки и события не регистрируются.
При регистрации установки или события получен ответ с кодом 400.
Пример ситуации
Вы тестируете установки и другие события конверсии в журнале. При инициировании этих событий в журнале отображается ошибка 403 (Forbidden, доступ запрещен).
Возможные причины
Это может быть связано с тем, что у вас тарифный план Zero, в который не входят данные атрибуции; он включает только данные по кликам и показам. Чтобы начать получать данные атрибуции, узнайте больше о различных тарифный планах AppsFlyer и обновите ваш план при необходимости.Вы также можете связаться с нашей командой по работе с клиентами по адресу hello@appsflyer.com, если у вас есть вопросы.
Отладка для Unity
Включение отладочного режима в Unity
Чтобы начать отладку SDK Unity, добавьте в метод start
объекта AF GameObject такую строку:
AppsFlyer.setIsDebug (true);
Предупреждение
Отладка должна быть ограничена только фазой разработки. Не отправляйте приложение в магазин с включенным режимом отладки. Это несет большую угрозу безопасности и конфиденциальности.
Просмотр результатов отладки
Результаты отладки можно просматривать в Android Studio или в XCode.
Устранение распространенных проблем с Unity SDK
Unity используется только для создания приложений для Android и iOS. Описание типичных проблем для каждой платформы см. в разделах:
Примечание
Когда вы закончите тестирование и отладку интеграции SDK, отключите журналы SDK.