Вы можете инициализировать плагин с помощью префаба AppsFlyerObject или вручную.

Использование AppsFlyerObject.prefab

  1. Перейдите в раздел Assets (Активы) > AppsFlyer и перетащите AppsFlyerObject.prefab в вашу сцену.


  2. Обновите следующие поля:
ПараметрОписание
Dev KeyКлюч разработчика AppsFlyer, который доступен на дэшборде AppsFlyer.
ID приложенияИдентификатор вашего приложения в iTunes. (Если ваше приложение не для iOS, оставьте поле пустым)
Get Conversion DataУстановите значение true, если ваше приложение использует AppsFlyer для диплинкинга.
isDebugУстановите значение true для просмотра журналов отладки. (только для разработки!)
  1. Обновите код в разделе Assets (Активы) > AppsFlyer > AppsFlyerObjectScript.cs с помощью других доступных API.

Ручная интеграция

Создайте игровой объект и добавьте следующий код инициализации:

using AppsFlyerSDK;

public class AppsFlyerObjectScript : MonoBehaviour
{
  void Start()
  {
    AppsFlyer.initSDK("devkey", "appID");
    AppsFlyer.startSDK();
  }
}

Внимание:

  • Убедитесь, что вы не вызвали уничтожение игрового объекта.
  • Use DontDestroyOnLoad , чтобы сохранить объект при загрузке новой сцены.

Сбор IDFA с помощью ATTrackingManager

  1. Добавьте AppTrackingTransparency в свой проект в Xcode.

  2. В Info.plist:

    1. Добавьте в список запись: нажмите + рядом с Information Property List.
    2. Прокрутите вниз и выберите Privacy - Tracking Usage Description.
    3. В качестве значения добавьте текст, который вы хотите показать пользователю, когда запрашиваете разрешение на сбор данных IDFA.
  3. Вызовите api waitForATTUserAuthorizationWithTimeoutInterval до вызова startSDK()

    #if UNITY_IOS && !UNITY_EDITOR
    AppsFlyer.waitForATTUserAuthorizationWithTimeoutInterval(60);
    #endif
    
  4. Запросите разрешение на отслеживание там, где вы хотите отобразить подсказку:

    Вы можете использовать этот пакет или любой другой пакет, позволяющий запросить разрешение на отслеживание.

    
    using Unity.Advertisement.IosSupport;
    
    /*  ... */
    
    if (ATTrackingStatusBinding.GetAuthorizationTrackingStatus() 
         == ATTrackingStatusBinding.AuthorizationTrackingStatus.NOT_DETERMINED)
        {
            ATTrackingStatusBinding.RequestAuthorizationTracking();
        }
     /*  ... */
    

Отправка постбэков SKAN в AppsFlyer

Чтобы зарегистрировать конечную точку AppsFlyer, добавьте ключ NSAdvertisingAttributionReportEndpoint в ваш info.plist и установите значение https://appsflyer-skadnetwork.com/.
Подробнее о том, как обновить info.plist, см. здесь.


Инициализация MacOS

  1. Используйте префаб AppsFlyerObject
  2. Добавьте идентификатор приложения для MacOS
  3. Создайте для платформы PC, Mac & Linux Standelone и выберите MacOS в качестве целевой платформы.

Слушатели запросов (необязательно)

  1. Прикрепите скрипт AppsFlyer.cs к игровому объекту при помощи кода инициализации AppsFlyer. (AppsFlyerObject, ect)
  2. Добавьте следующий код до startSDK()

Пример ответа для сессии:

    void Start()
    {
        AppsFlyer.OnRequestResponse += AppsFlyerOnRequestResponse;
        
        AppsFlyer.initSDK(devKey, appID, this);
        AppsFlyer.startSDK();
    }

    void AppsFlyerOnRequestResponse(object sender, EventArgs e)
    {
        var args = e as AppsFlyerRequestEventArgs;
        AppsFlyer.AFLog("AppsFlyerOnRequestResponse", " status code " + args.statusCode);
    }

Пример ответа для внутреннего события приложения:

    void Start()
    {
        AppsFlyer.OnInAppResponse += (sender, args) =>
        {
            var af_args = args as AppsFlyerRequestEventArgs;
            AppsFlyer.AFLog("AppsFlyerOnRequestResponse", " status code " + af_args.statusCode);
        };
        
        AppsFlyer.initSDK(devKey, appID, this);
        AppsFlyer.startSDK();
    }


код статусаописание ошибки
200null
10"Event timeout. Check 'minTimeBetweenSessions' param" («Время события истекло. Проверьте параметр minTimeBetweenSessions»)
11"Skipping event because 'isStopTracking' enabled" («Событие пропущено, т. к. включен параметр isStopTracking»)
40Ошибка сети: описание ошибки предоставляет Android
41"No dev key" («Нет ключа разработчика»)
50"Status code failure" («Ошибка кода статуса») + фактический код ответа от сервера