【问题标题】:iTunes Search API: Update NotificationiTunes 搜索 API:更新通知
【发布时间】:2018-10-10 17:05:11
【问题描述】:

我正在使用 iTunes API 搜索和高级自定义字段 WordPress 插件,因此 wp 作者可以将 mac 应用程序 ID 添加到自定义字段,并且上面植入的 iTunes 搜索 API 将在 wp 帖子中自动添加应用程序的所有其他信息.当应用程序信息更新时,我的 wp 帖子将包含更新的信息,例如最后一个版本号应用程序大小和...

但问题是我自己对我网站内任何应用程序的任何版本的评论和指南,它需要手动更新。

例如,我使用上述方法在我的 WordPress 中添加了“Things 3”mac 应用程序 3.7.1 版的帖子,并且我已经用我自己的描述和手写在帖子中审查了这个版本。

现在我需要在此应用有新版本或更新时收到通知,以便我可以更新我的评论并在帖子中添加一些新版本的文本。

你们有什么办法或方法,所以当我在我的网站上评论过的应用程序有更新时,我可以得到通知?

我真的很感激任何方式或教导!

谢谢。

【问题讨论】:

    标签: php wordpress mac-app-store itunes-sdk itunes-api


    【解决方案1】:

    没有本地 API 可以满足您的要求。

    但是,我相信您可以使用应用程序的 RSS 提要创建一些内容来通知您更改。

    查看应用 HomeScan 的示例 https://itunes.apple.com/lookup?id=1380025232

    ID= 你的APPID

    我相信这应该会给你一些大致的方向来做你需要做的事情。

    【讨论】:

    • 嘿,迈克,感谢您的回复,但您发送的链接正在返回 cmets 或对应用程序的评论。您能否更具体地说明我如何使用评论来获取应用程序的通知,例如此应用程序? itunes.apple.com/us/app/things-3/id904280696?mt=12
    • 抱歉,有点语言障碍。这只是一个例子,我相信你想要做的是获取应用程序的当前版本号?你可以通过使用https://itunes.apple.com/lookup?id=904280696 来做到这一点,然后我会编写某种 javascript 函数来查看和存储当前版本号,并可能每小时检查一次新版本,然后执行它需要做的事情。此外,您可以使用此方法获取新的屏幕截图、新的发行说明等。
    • 欲了解更多信息,请参阅iTunes RSS API
    • 是的,我已经通过 LookUp API 获得了当前的应用程序版本、大小、标题,并且我现在已经写了对最后一个版本的评论,并在 wp 中发布了包含这些内容的帖子。当应用程序在 macAppStore 上获得新版本时,版本、大小或标题等信息将自动更新,因为它们已链接到苹果。但是我为上一个版本写的评论已经过时了。我需要的是一个提醒通知,我应该更新帖子,因为它有一个新版本。
    • 我对 java 脚本编码不太熟悉,如果你说的方法是我需要得到提醒通知的方法,我会非常感谢你提供更多信息和让它完成。因为我已经阅读了 iTunes RSS API,但我不知道该怎么做你所说的 Mike :-(
    【解决方案2】:

    这是对我们在另一个答案中的评论历史的回复。

    @erfanMHD,有很多方法可以真正做到这一点。您不必在 javascript 中执行此操作。这并不是真正有人可以为您提供简单的代码 sn-p 的东西,因为它需要一些额外的东西,并且在 StackOverflow 中通常不受欢迎。

    您需要在某个地方存储您上次撰写的评论的应用程序的 localVersion。在下面我编写的示例中,我使用了一个简单的 MySQL 数据库来保存本地版本。您还需要弄清楚如何显示数据。我知道您可以将内容添加到 wordpress 仪表板,但这不是我们可以通过 StackOverflow 向您展示如何做的事情。

    但是,下面是一个非常简单的(仅供参考)目的,仅说明如何实现您想要做的事情。但是,这只是指导您完成此过程的一个示例。

    对于这个演示,您需要一个 DBName 为 test 的 MySQL 数据库,并创建一个名为 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
        }
    ?>
    

    同样,这又快又脏。你会想做很多额外的检查和平衡。我立即看到的一个将在插入检查中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-05
      • 2012-02-17
      • 2017-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多