главнаяконтактыреклама
JetSwap — система раскрутки сайтов
РегистрацияО системеАккаунтСтатистикаХостингДомены ru от 90 рублей
 

Формат базы данных геотаргетинга

База данных идентификаторов объектов геотаргетинга (стран, областей, городов) используется для взаимодействия с интерфейсами edit, set, stat
БД имеет формат JSON, содержит либо список объектов, с которых было как минимум 10 посещений за неделю, либо полный список объектов и состоит из двух частей:
  • База объектов геотаргетинга (обязательная часть)
    Ссылка на загрузку архива: https://go.jetswap.com/geoobject.gz (объекты с не менее чем 10 посещениями за неделю)
    Ссылка на загрузку полного архива: https://go.jetswap.com/geoobjectfull.gz

    Есть варианты базы данных, обработанные функцией serialize (в PHP работает быстрее, чем JSON): сокращенный и полный варианты

    При загрузке данных обязательно сравните содержимое файла https://go.jetswap.com/geoobject.md5 с локальной копией. При частых загрузках полной базы данных с одного IP этот IP-адрес будет заблокирован.
    Пример скрипта для загрузки данных

    База содержит массив элементов следующего формата:

    Array
    (
        [1] => Array - ID объекта геотаргетинга для применения в вызовах API-интерфейсов
            (
                [name] => Название объекта, например Москва
                [nameen] => Название объекта на английском языке, например Moscow
                [count] => Количество уникальных посетителей за неделю в системе
                [tp] => тип объекта: 0 - страна, 1 - область, 2 - город
    			[nac] => при наличии дополнительной наценки - сумма наценки относительно базовой ставки за показ сайта, в процентах, может отсутствовать
                [region] => ID региона для города (tp=2)
                [country] => ID страны для региона и города (tp=1 и 2)
            )
    )
    

  • Отсортированный индекс объектов геотаргетинга по посещаемости (необязательная часть, можно использовать для удобства создания древовидного списка объектов)
    Ссылка на загрузку архива: https://go.jetswap.com/geoobjectsort.gz (объекты с не менее чем 10 посещениями за неделю)
    Ссылка на загрузку полного архива: https://go.jetswap.com/geoobjectsortfull.gz

    База содержит массив элементов следующего формата:

    Array
    (
        [cnt] => Array
            (
                [country] => Array - массив идентификаторов стран
                    (
                        [0] => 111 - ID объектов геотаргетинга из базы объектов геотаргетинга(описана сверху)
                        [1] => 222
                        [2] => 333
                    )
    
                [region] => Array - массив идентифификаторов областей для определенной страны, ID страны в примере - 555
                    (
                        [555] => Array
                            (
                                [0] => 111 - идентификаторы областей для страны с ID 555
                                [1] => 222
                                [2] => 333
                            )
    
                    )
    
                [city] => Array - массив идентифификаторов городов для определенной области, ID области в примере - 777
                    (
                        [777] => Array
                            (
                                [0] => 111 - идентификаторы городов для области с ID 777
                                [1] => 222
                                [2] => 333
                            )
    
                    )
    
            )
    
    )
    
  • Пример скрипта-загрузчика баз данных на PHP:

    <?php
    
    // Устанавливаем URL для проверки и скачивания файлов
    $md5_url = "https://go.jetswap.com/geoobject.md5";
    $file_urls = [
        "https://go.jetswap.com/geoobject.gz",
        "https://go.jetswap.com/geoobjectfull.gz",
        "https://go.jetswap.com/geoobjectsort.gz",
        "https://go.jetswap.com/geoobjectsortfull.gz"
    ];
    
    // Определяем локальные файлы
    $local_md5_file = "geoobject.md5";
    
    // Функция для скачивания файла
    function downloadFile($url, $path) {
        $file = file_get_contents($url);
        if ($file !== false) {
            file_put_contents($path, $file);
            return ['success' => true, 'error' => ''];
        } else {
            return ['success' => false, 'error' => "Не удалось скачать файл: $url"];
        }
    }
    
    // Функция для разархивирования .gz файла с помощью команды gunzip
    function decompressFile($gz_file) {
        $command = "gunzip -f " . escapeshellarg($gz_file);
        $output = [];
        $return_var = 0;
        exec($command, $output, $return_var);
    
        if ($return_var !== 0) {
            return ['success' => false, 'error' => "Не удалось разархивировать файл: $gz_file"];
        }
    
        return ['success' => true, 'error' => ''];
    }
    
    // Основная функция для проверки и обновления файлов
    function checkAndUpdateFiles($md5_url, $file_urls, $local_md5_file) {
        // Скачиваем удаленный MD5 файл
        $remote_md5 = file_get_contents($md5_url);
        if ($remote_md5 === false) {
            return ['success' => false, 'error' => "Не удалось получить удаленный MD5 файл"];
        }
    
        // Проверяем наличие локального MD5 файла и его содержимое
        if (file_exists($local_md5_file)) {
            $local_md5 = file_get_contents($local_md5_file);
            if ($local_md5 === false) {
                return ['success' => false, 'error' => "Не удалось прочитать локальный MD5 файл"];
            }
        } else {
            $local_md5 = "";
        }
    
        // Сравниваем MD5 хэши
        if (trim($remote_md5) !== trim($local_md5)) {
            // Хэши не совпадают, загружаем и разархивируем новые файлы
            foreach ($file_urls as $file_url) {
                $local_gz_file = basename($file_url);
    
                // Скачиваем архив
                $download_result = downloadFile($file_url, $local_gz_file);
                if (!$download_result['success']) {
                    return $download_result;
                }
    
                // Разархивируем файл с помощью gunzip
                $decompress_result = decompressFile($local_gz_file);
                if (!$decompress_result['success']) {
                    return $decompress_result;
                }
            }
    
            // Обновляем локальный MD5 файл
            file_put_contents($local_md5_file, $remote_md5);
    
            return ['success' => true, 'error' => ''];
        } else {
            return ['success' => true, 'error' => 'Файлы уже актуальны.'];
        }
    }
    
    // Использование функции
    $result = checkAndUpdateFiles($md5_url, $file_urls, $local_md5_file);
    if ($result['success']) {
        echo "Операция завершена успешно.";
    } else {
        echo "Ошибка: " . $result['error'];
    }
    
    
Поддержка
(ENGLISH)   МЕНЮ
 Главная страница
 Новости
 Правила
 О Системе
 Рекламодателям
 Партнерам
 Оплата
 Дилерам
 Помощь
 Путеводитель
 SafeSurf
 VirtualSurf
 Реферер по заказу
 Бонусы
 Безопасность
 Выкуп кредитов
 Реклама на сайте
 Контакты

АВТОРИЗАЦИЯ
Логин
Пароль
  
! Напомнить пароль
OpenID-авторизация

ПРИНИМАЕМ

 Способы оплаты

РЕКЛАМА

Хостинг от JetHosting.ru

www.megastock.ru

Здесь находится аттестат нашего WM идентификатора 541133050115
Проверить аттестат

Уведомление об ответственности