API поиска iTunes: уведомление об обновлении - PullRequest
0 голосов
/ 10 октября 2018

Я использую iTunes API Search и расширенное настраиваемое поле WordPress плагин, чтобы автор wp мог добавить идентификатор приложения Mac в настраиваемое поле, а имплантированный API поиска iTunes выше добавит всю остальную информацию о приложении автоматически в сообщение wp.,и когда информация о приложении обновится, мой пост будет иметь обновленную информацию, такую ​​как размер последнего номера приложения и ...

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

например, я добавил пост для версии 3.7.1 Mac-приложения «Вещи 3», используя метод, описанный выше, в свой WordPress, и я просмотрел эту версию с моим собственным описанием инаписал в посте.

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

есть лиКак вы, ребята, можете придумать способ, чтобы я мог получать уведомления, когда приложение, которое я просмотрел на моем сайте, получит обновление?

Я действительно ценю любой способ или научил!

Спасибо.

Ответы [ 2 ]

0 голосов
/ 15 октября 2018

Это ответ на нашу историю комментариев в другом ответе.

@ erfanMHD, есть несколько способов действительно сделать это.Вам не нужно делать это в JavaScript.На самом деле это не то, что кто-то может дать вам простой фрагмент кода, поскольку он требует нескольких дополнительных вещей и, как правило, не одобряется в StackOverflow.

Вам нужно где-то хранить локальную версию приложения рецензии, которую вы в последний раз написали.В приведенном ниже примере я использовал простую базу данных MySQL для хранения локальной версии.Вам также необходимо выяснить, как вы хотите отобразить данные.Я знаю, что вы можете добавить материал на панель управления WordPress, но это не то, что мы можем показать вам, как это сделать с помощью StackOverflow.

Однако ниже приведены очень простые (ТОЛЬКО ДЛЯ ССЫЛКИ) цели только о том, как можно добиться того, что вы пытаетесь сделать.Однако это всего лишь пример, который поможет вам в этом процессе.

Для этой демонстрации вам понадобится база данных MySQL с именем DBName теста и созданная запись с именем application_version с 3 строками.ID, Имя, Версия.

<?php
    $servername = "localhost"; // Your MySQL Server
    $username = "root"; // Your MySQL Username
    $password = "password"; // Your MySQL Password
    $dbname = "test"; // The name of your MySQL database
    $id = "904280696"; // The ID of the applicaiton you're wanting to check

    function search($searchTerm){

        // Construct our API / web services lookup URL.
        $url = 'https://itunes.apple.com/lookup?id=' . urlencode($searchTerm);

        // Use file_get_contents to get the contents of the URL.
        $result = file_get_contents($url);

        // If results are returned.
        if($result !== false){
            // Decode the JSON result into an associative array and return.
            return json_decode($result, true);
        }

        // If we reach here, something went wrong.
        return false;

    }

    function updateVersion($id, $name, $version) {

        // Create MySQL connection
        $conn = new mysqli($GLOBALS['servername'], $GLOBALS['username'], $GLOBALS['password'], $GLOBALS['dbname']);

        // Check MySQL connection
        if ($conn->connect_error) {
            die("Connection failed: " . $conn->connect_error);
        }

        // Save the Version information
        $sql = "UPDATE application_version SET name='" . $name . "', version='" . $version . "' WHERE id='" . $id . "'";
        echo $sql;
        echo "<br>";

        // Run the Insert into MySQL
        if ($conn->query($sql) === TRUE) {

            // Print On Success
            echo "Record Updated Successfully";
            echo "<br>";
        } else {

            // We dun goofed
            echo "Error: " . $sql . "<br>" . $conn->error;
            echo "<br>";
        }

        $conn->close();
    }

    function getLocalVersion($id) {
        // Create MySQL connection
        $conn = new mysqli($GLOBALS['servername'], $GLOBALS['username'], $GLOBALS['password'], $GLOBALS['dbname']);

        // Check MySQL connection
        if ($conn->connect_error) {
            die("Connection failed: " . $conn->connect_error);
        }

        $sql = "SELECT * FROM application_version WHERE ID = " . $GLOBALS['id'];

        $result = $conn->query($sql);

        if ($result->num_rows > 0) {
            echo "Found Application ID Entry in database";
            echo "<br>";
            echo "<table><tr><th>ID</th><th>Name</th><th>Version</th></tr>";

            // output data of each row
            while($row = $result->fetch_assoc()) {
                echo "<tr><td>".$row["id"]."</td><td>".$row["name"]."</td><td>".$row["version"]."</td></tr>";
                $GLOBALS['storedVersion'] = $row["version"];
            }
            echo "</table>";
            echo "<br>";

        } else {
            echo "No Application ID Entry found in database";
            echo "<br>";
        }


        $conn->close();
    }

    // Search for your requested ID
    $searchResults = search($GLOBALS['id']);
    $currentVersion = '0.0.0';
    $storedVersion = '0.0.0';
    $appName = 'null';

    // Loop through the results.
    foreach($searchResults['results'] as $result){

        // Pass the current version to variable
        $currentVersion = $result['version'];
        $appName = $result['trackName'];

        // Get the current version or what ever else information you need
        echo 'Current Version: ' . $currentVersion;
        echo "<br>";
        echo "<br>";
    }

    // Get Local Version from database
    getLocalVersion($id);

    if ($currentVersion > $storedVersion) {
        echo "You have an old version friend";
        echo "<br>";

        // Write what you want it to do here

        updateVersion($id, $appName, $currentVersion);
    } else {
        echo "You're all up to date";
        echo "<br>";

        // Write what you don't want it to do here
    }
?>

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

0 голосов
/ 10 октября 2018

Нет встроенного API для выполнения того, что вы просите.

Однако, с небольшим количеством кода, я считаю, что вы можете использовать RSS-канал приложения, чтобы затем создать что-то, чтобы уведомить вас об изменении.

См. Пример для приложения HomeScan https://itunes.apple.com/lookup?id=1380025232

ID = YOURAPPID

Я считаю, что это должно дать вам общее руководство, чтобы делать то, что вам нужно.

...