API поиска iTunes: уведомление об обновлении
Я использую iTunes API Search и плагин Advanced Custom Field для WordPress, поэтому автор wp может добавить идентификатор приложения mac в пользовательское поле, а имплантированный API поиска iTunes выше добавит всю другую информацию о приложении автоматически в сообщение wp. и когда информация о приложении обновится, мой пост будет иметь обновленную информацию, такую как размер приложения последней версии и...
но проблема заключается в моем собственном письменном обзоре и руководстве по любой версии любого приложения на моем веб-сайте, и его необходимо обновить вручную.
Например, я добавил пост для версии 3.7.1 Mac-приложения "Вещи 3", используя метод, описанный выше, в свой WordPress, и я просмотрел эту версию со своим собственным описанием и написал от руки.
Теперь мне нужно получать уведомления, когда это приложение получит новую версию или обновление, чтобы я мог обновить свой отзыв и добавить текст для новой версии также внутри поста.
Есть ли какой-нибудь способ или метод, о котором вы, ребята, можете придумать, чтобы я мог получать уведомления, когда когда-либо приложение, которое я рассмотрел на моем сайте, получит обновление?
я действительно ценю любой способ или учил!
Благодарю.
2 ответа
Нет нативного API, чтобы делать то, что вы просите.
Однако, с небольшим количеством кода, я полагаю, что вы можете использовать RSS-канал приложения, чтобы затем создать что-то, чтобы уведомить вас об изменении.
См. Пример для приложения HomeScan https://itunes.apple.com/us/rss/customerreviews/id=1380025232/sortBy=mostRecent/xml.
ID= YOURAPPID
Я считаю, что это должно дать вам общее руководство, чтобы делать то, что вам нужно.
Это ответ на нашу историю комментариев в другом ответе.
@erfanMHD, есть несколько способов действительно сделать это. Вам не нужно делать это в JavaScript. На самом деле это не то, что кто-то может дать вам простой фрагмент кода, поскольку он требует нескольких дополнительных вещей и, как правило, не одобряется в Stackru.
Вам нужно где-то хранить локальную версию приложения, которое вы в последний раз написали. В приведенном ниже примере я использовал простую базу данных MySQL для хранения локальной версии. Вам также необходимо выяснить, как вы хотите отобразить данные. Я знаю, что вы можете добавить материал на панель управления WordPress, но это не то, что мы можем показать вам, как это сделать через Stackru.
Однако ниже приведены очень простые (ТОЛЬКО ДЛЯ ССЫЛКИ) цели только о том, как можно добиться того, что вы пытаетесь сделать. Однако это всего лишь пример, который поможет вам в этом процессе.
Для этой демонстрации вам понадобится база данных 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
}
?>
Опять же, это просто быстро и грязно. Вы хотели бы сделать много дополнительных проверок и противовесов. Один, который я вижу сразу, будет в чеке для вставки.