Перейти к основному содержимому

Пользовательский эндпоинт SDK

Как настроить пользовательский эндпоинт Appodeal SDK?

В некоторых случаях стандартный серверный эндпоинт Appodeal может быть недоступен в определённых регионах или локациях. Для решения этой проблемы в SDK 4.1.0 был добавлен API Set Endpoint, который позволяет заменить стандартный серверный эндпоинт на пользовательский, предоставленный поддержкой Appodeal.

warning

Set Endpoint необходимо вызывать до инициализации Appodeal. Если вызвать после инициализации, изменение эндпоинта будет проигнорировано.

Справочник API

// Установка пользовательского эндпоинта перед инициализацией
Appodeal.setEndpoint("https://provided-endpoint.example.com")

// Инициализация SDK как обычно
Appodeal.initialize(this, "YOUR_APP_KEY", adTypes)

// Проверка текущего эндпоинта (опционально)
val currentEndpoint = Appodeal.getEndpoint()

Удалённая настройка эндпоинта

Мы рекомендуем управлять URL эндпоинта через сервис удалённой конфигурации, а не прописывать его в коде. Это позволяет обновлять эндпоинт без выпуска новой версии приложения.

Общий подход:

  1. Создайте параметр удалённой конфигурации (например, appodeal_endpoint) с пустым значением по умолчанию.
  2. При запуске приложения получите значения конфигурации.
  3. Если параметр не пустой, вызовите Set Endpoint с полученным значением перед инициализацией Appodeal.

Firebase Remote Config

См. документацию Firebase Remote Config для инструкций по настройке.

val remoteConfig = Firebase.remoteConfig

// Значение по умолчанию (пустая строка — используется стандартный эндпоинт SDK)
remoteConfig.setDefaultsAsync(mapOf("appodeal_endpoint" to ""))

remoteConfig.fetchAndActivate().addOnCompleteListener { task ->
val endpoint = remoteConfig.getString("appodeal_endpoint")

if (endpoint.isNotEmpty()) {
Appodeal.setEndpoint(endpoint)
}

Appodeal.initialize(this, "YOUR_APP_KEY", adTypes)
}

AppMetrica Startup Parameters

См. примеры использования AppMetrica Startup Parameters для Android, iOS и Unity.

val callback = object : StartupParamsCallback {
override fun onReceive(result: StartupParamsCallback.Result?) {
val endpoint = result?.parameterForKey("appodeal_endpoint") ?: ""

if (endpoint.isNotEmpty()) {
Appodeal.setEndpoint(endpoint)
}

Appodeal.initialize(this@MainActivity, "YOUR_APP_KEY", adTypes)
}

override fun onRequestError(
reason: StartupParamsCallback.Reason,
result: StartupParamsCallback.Result?
) {}
}

AppMetrica.requestStartupParams(this, callback, listOf("appodeal_endpoint"))

Важные замечания

к сведению
  • Пользовательский URL эндпоинта будет предоставлен поддержкой Appodeal при необходимости — не указывайте произвольные URL.
  • Используйте Get Endpoint для проверки текущего активного эндпоинта в целях отладки.