Пытаясь интегрировать SDK AppsFlyer для Android, я выполнил все действия, указанные в Руководстве по AppsFlyer . Первоначально заявленная зависимость:
implementation 'com.appsflyer:af-android-sdk:4+@aar'
Но по какой-то причине он сам по себе не указывал на последнюю версию, из-за чего версию init()
не было видно. И поэтому я вместо этого настроил его на версию 4.8.15
(в настоящее время последняя версия), которая работала, как и ожидалось в руководстве.
После добавления необходимых разрешений (с необязательным разрешением) и BroadcastReceiver (у меня нет других приемников для реферера, поэтому я использовал SingleInstallBroadcastReceiver
), я реализовал инициализацию в классе Application приложения следующим образом: :
public class MyApp extends Application {
private static final String AF_DEV_KEY = "DEV_KEY_FROM_CONSOLE_HERE";
@Override
public void onCreate() {
super.onCreate()
initAppsFlyer();
}
public void initAppsFlyer() {
final AppsFlyerConversionListener listener = new AppsFlyerConversionListener() {
@Override
public void onInstallConversionDataLoaded(Map<String, String> conversionData) {
}
@Override
public void onInstallConversionFailure(String errorMessage) {
}
@Override
public void onAppOpenAttribution(Map<String, String> attributionData) {
}
@Override
public void onAttributionFailure(String errorMessage) {
}
};
AppsFlyerLib.getInstance().init(AF_DEV_KEY, listener, this);
AppsFlyerLib.getInstance().startTracking(this);
}
}
Манифест точно указывает на класс приложения MyApp. Итак, это все. Начальная настройка завершена. Время проведения Интеграционного теста SDK согласно руководству.
Поэтому я установил приложение прямо из Android Studio на свое устройство, загрузил тестовое приложение SDK Integration, внес в белый список устройство и выбрал название приложения, как указано в руководстве по тестированию. Каждый шаг следовал соответственно.
Clicked on SDK Integration Testing...
Checking configuration...
Testing your app..
*app opens*
*closes*
*opens again*
Testing your app..
Checking configuration...
..
X Oops..
Это приложение не может быть отслежено. Пожалуйста, убедитесь, что:
- Вы используете поддерживаемую версию AppsFlyer SDK.
- Служба AppsFyler BroadcastReceiver настроена.
- startTracking () находится в MainActivity
- Это последняя версия. Так и должно работать.
- Копия вставлена в ресивер. Попытался удалить его, а затем повторно запустить тест, он показал ошибку отсутствующего приемника. Вставил его обратно.
- Я звоню
startTracking()
в реальном классе приложения. Но какого черта. Я дал ему попробовать, назвал это в MainActivity.onCreate()
тот же результат.
Понятия не имею, что вызывает сбой в тесте. Не так много, чтобы продолжить, так как нет подробностей о том, как отладить его дальше. Однако , я проверил приборную панель, и вот она. Неорганические данные об установке подсчитаны.
Теперь я в замешательстве. Существует ли проблема с интеграцией или с приложением тестирования интеграции SDK?