In qualità di Affiliato Amazon, iSpazio riceve una commissione dagli acquisti idonei senza alcun costo per voi. (info).
Eccoci con un nuovo appuntamento di iSpazio LastMinute, la nostra rubrica in cui vi elenchiamo le migliori applicazioni dell’AppStore che vengono scontate per un periodo di tempo limitato. E’ possibile che nel corso della giornata vengano aggiunti nuovi titoli per cui cliccate qui e scaricate iSpazio Push App per seguire le evoluzioni dell’articolo.
Advertising
[lastminute_1275518019] “Table Tennis 3D” è l’unico gioco di ping pong in App Store basato su 3D PHYSICS. Grafica strepitosa e gameplay emozionante, il gioco offre una vasta gamma di personaggi unici tra cui scegliere e ti consente di guidare il tuo giocatore preferito verso il successo nei tre tornei. [finelm 6.99]
[lastminute_1171015241] Interessante gioco indie nel quale dovremo accomagnare Sally lungo il tuo viaggio verso casa per andare a trovare il padre ammalato. Dovremo rotolare e saltare per tutto il viaggio mentre scopriamo la storia del padre di Sally attraverso dei flashback. Un mix tra un platform e un romanzo grafico. Storia, grafica, e meccaniche di gioco lo rendono adatto a tutti! [finelm 1.99]
[lastminute_1105390093] Gioco, rilassante grazie ai colori e alla musica di sottofondo ma anche intrigante per la tipologia stessa a cui appartiene. L’obiettivo del gioco è sostanzialmente collegare diversi tipi di linee insieme. Gli effetti sonori come il soundtrack sono stati realizzati da Wojciech Wasiak. Un gioco non particolarmente longevo ma che vale la pena provare!
[finelm 2.99]
[lastminute_1132539563] Un puzzle game con oltre 80 livelli che mescola un’atmosfera rilassante con sfide avvincenti. Lo scopo del gioco è creare sequenze di colori tracciando una linea che collega le forme colorate. Non è però facile come sembra, i colori si muovono, girano, si nascondono, cambiano forma e fanno tutto il possibile per evitare di essere catturati dalla tua linea. Ci vorrà abilità e senso del ritmo per ottenere la sequenza giusta. [finelm 1.99]
[lastminute_1148053146] Lanciati all’avventura attraverso più di 100 livelli e cerca di svelare il segreto della città dimenticata in questo gioco dallo gusto retrò mentre vesti i panni di un piccolo Indiana Jones. [finelm 2.99]
[lastminute_526073166] Gioco da tavolo tedesco del 1989. Questa versione per dispositivi mobili mantiene intatto il divertimento del gioco originale esaltandone alcuni aspetti. Per chi non avesse pai fatto una partita a “Cafè International” scoprirà che non tutti gli ospiti vogliono sedersi l’uno accanto all’altro, quindi sarà necessario trovare il modo di far contenti tutti, sistemandoli ai tavoli giusti, in base alla loro nazionalità e genere per ottenere il punteggio massimo. [finelm 5.99]
[lastminute_902986059] Un bel gioco war-chess di strategia a turn per chi apprezzava il gameplay di “heroes of Might and Magic”. Un gioco che offre la classica esplorazione delle zone, il sistema di combattimento a turni, la raccolta delle carte, con un sistema di simulazione sviluppato in modo approfondito. Da provare! [finelm 0.99]
[lastminute_959451404] Giochino accattivante dalla dinamica unica, elementi RPG mixati alla meccanica di un flipper. Indirizza il tuo eroe dove vuoi che lui attacchi, e non smetterà di muoversi finché non avrà raggiunto una zona sicura o sarà stato ucciso. [finelm 2.99]
[lastminute_1330051577] Ecco un gioco adatto a chi ama i puzzle game. In “Cubor” dovrai spostare i cubi portandoli ai loro obiettivi corrispondenti, potrebbe sembrarti semplice ma a volte diversi cubi si muovono contemporaneamente, altre volte invece, le cose si fanno più complicate! [finelm 2.99]
[lastminute_331441694] Nota: Essendo “offerte da prendere al volo”, i prezzi indicati nell’articolo risultano veritieri nel momento in cui viene scritto ma è possibile che durante la giornata, o dopo qualche minuto, questi cambino e le applicazioni tornino a pagamento. Vi consigliamo di scaricare iSpazio Push App dall’AppStore in maniera tale da essere avvertiti tramite una notifica push non appena pubblicheremo i nostri LastMinute quotidiani.[finelm 0.00]
Fateci sapere quali scaricate in maniera tale da riuscire a trarre uno spunto per una recensione più completa ed accurata.
// Logica completa dello shortcode 'app'
function appstore_shortcode_logic($atts, $content = null) { // Attributi di default
$atts = shortcode_atts(array(
'id' => '',
'img' => '',
'nome' => '',
'sottotitolo' => '',
'prezzo' => '',
'link' => '',
'store' => 'App Store',
'template' => '',
'inapp' => '',
'background' => '',
'link_icon' => '',
), $atts, 'card');
// Verifica del valore dell'attributo 'stile'
$template_class = !empty($atts['template']) ? sanitize_html_class($atts['template']) : '';
// Verifica se il file JSON della cache esiste
$cache_dir = '/srv/www/ispazio.net/www/wp-content/plugins/appstore_ispazio/app_cache/';
$cache_file = $cache_dir . "app_" . sanitize_key($atts['id']) . ".json";
// Determina se la cache è valida: JSON esiste, non scaduto E icona principale esiste sul disco
$_app_id_check = sanitize_key($atts['id']);
$_img_main_path = $cache_dir . "icon250_" . $_app_id_check . ".jpg";
$_cache_valid = file_exists($cache_file) && filesize($cache_file) > 0
&& time() - filemtime($cache_file) < 31557600
&& file_exists($_img_main_path);
if ($_cache_valid) {
$json = file_get_contents($cache_file);
} else {
// Interroga l'API di App Store e scarica il JSON utilizzando cURL
$itunes_api_base = "https://itunes.apple.com/lookup?id=" . sanitize_key($atts['id']);
$country_list = ['IT', 'US']; // puoi aggiungere altri paesi se vuoi
$json = '';
$data = [];
foreach ($country_list as $country) {
$itunes_api_url = $itunes_api_base . "&country=" . $country;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $itunes_api_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json'));
$json = curl_exec($ch);
curl_close($ch);
$data = json_decode($json, true);
if (!empty($data['results'])) {
break; // abbiamo trovato un risultato valido, fermiamo il ciclo
}
}
if (isset($data['results'][0]['artworkUrl100'])) {
$original_image_url = $data['results'][0]['artworkUrl100'];
$new_image_url = str_replace('100x100bb.jpg', '250x250bb.jpg', $original_image_url);
// Scarica e salva l'immagine dell'artwork sul tuo server
$image_id = sanitize_key($atts['id']);
$image_path = $cache_dir . "icon250_" . $image_id . ".jpg";
file_put_contents($image_path, file_get_contents($new_image_url));
if (function_exists('ispazio_convert_to_modern')) ispazio_convert_to_modern($image_path);
// Modifica il JSON con l'URL dell'immagine dell'artwork sul tuo server
$data['results'][0]['artworkUrl100'] = "https://www.ispazio.net/wp-content/plugins/appstore_ispazio/app_cache/icon250_" . $image_id . ".jpg";
// Crea anche versione 140px per template mini (retina 2x per 70x70)
$icon140_path = $cache_dir . "icon140_" . $image_id . ".jpg";
if ( ! file_exists( $icon140_path ) && function_exists( 'imagecreatefromjpeg' ) ) {
$src_img = @imagecreatefromjpeg( $image_path );
if ( $src_img ) {
$dst_img = imagecreatetruecolor( 140, 140 );
imagecopyresampled( $dst_img, $src_img, 0, 0, 0, 0, 140, 140, imagesx( $src_img ), imagesy( $src_img ) );
imagejpeg( $dst_img, $icon140_path, 85 );
imagedestroy( $src_img );
imagedestroy( $dst_img );
if (function_exists('ispazio_convert_to_modern')) ispazio_convert_to_modern($icon140_path);
}
}
// Sostituisci anche gli URL delle prime 4 immagini degli screenshot
if (isset($data['results'][0]['screenshotUrls'])) {
$screenshotUrls = $data['results'][0]['screenshotUrls'];
$screenshotUrlsOnServer = array();
for ($i = 0; $i < min(count($screenshotUrls), 4); $i++) {
$screenshotUrl = $screenshotUrls[$i];
$screenshotFilename = basename($screenshotUrl);
$screenshotSavePath = $cache_dir . "screenshot_" . $image_id . "_" . $i . ".jpg";
// Scarica e salva l'immagine dello screenshot sul tuo server
file_put_contents($screenshotSavePath, file_get_contents($screenshotUrl));
if (function_exists('ispazio_convert_to_modern')) ispazio_convert_to_modern($screenshotSavePath);
// Modifica il JSON con l'URL dell'immagine dello screenshot sul tuo server
$screenshotUrlsOnServer[] = "https://www.ispazio.net/wp-content/plugins/appstore_ispazio/app_cache/screenshot_" . $image_id . "_" . $i . ".jpg";
}
// Aggiorna il JSON con gli URL delle immagini degli screenshot sul tuo server
$data['results'][0]['screenshotUrls'] = $screenshotUrlsOnServer;
}
}
// Salva il JSON nella cache solo se non è vuoto
if (!empty($json)) {
file_put_contents($cache_file, json_encode($data));
}
}
// Decodifica il JSON
$data = json_decode($json, true);
// Se il "nome" non è specificato nell'attributo, usa il trackName dal JSON
$nome = isset($atts['nome']) && !empty($atts['nome']) ? $atts['nome'] : ($data['results'][0]['trackName'] ?? 'Scarica da App Store');
// Se il "sottotitolo" non è specificato nell'attributo, usa artistName dal JSON
$sottotitolo = isset($atts['sottotitolo']) && !empty($atts['sottotitolo']) ? $atts['sottotitolo'] : ($data['results'][0]['artistName'] ?? '');
// Se il "prezzo" non è specificato nell'attributo, usa il formattedPrice dal JSON
$formattedPrice = !empty($data['results'][0]['formattedPrice']) ? $data['results'][0]['formattedPrice'] : null; $prezzo = !empty($atts['prezzo']) ? $atts['prezzo'] : (!empty($formattedPrice) ? $formattedPrice : (!empty(trim($content)) ? trim($content) : 'OTTIENI'));
// Se l'URL dell'immagine non è specificato nell'attributo, usa quello dal JSON
$hide_image_class = '';
$card_body_style = '';
$container_style = '';
$container_extra_class = '';
if (isset($atts['img']) && trim($atts['img']) === 'scontiamolo') {
$img = 'https://www.ispazio.net/wp-content/plugins/appstore_ispazio/app_cache/icon250_1506946624.jpg';
$container_extra_class = 'scontiamolo-mode';
} elseif (!empty($atts['img'])) {
$img = $atts['img'];
} else {
$img = $data['results'][0]['artworkUrl100'] ?? "https://www.ispazio.net/wp-content/uploads/2022/10/appstore_icon.png";
}
// Per template mini usa icon140 (70x70 retina) invece di icon250
if ( $template_class === 'mini' ) {
$img = str_replace( 'icon250_', 'icon140_', $img );
}
// Genera il link dell'app su App Store
$link = !empty($atts['link']) ? $atts['link'] : "https://apps.apple.com/it/app/id" . $atts['id'] . "?platform=iphone";
$link_icon = !empty($atts['link_icon']) ? $atts['link_icon'] : $link;
// HTML immagine con o senza effetto rotazione (in base a template)
$img_html = '';
if (!empty($img)) {
if ($template_class === 'striscia') {
$img_html = '
';
} else {
$img_html = '
';
}
}
// Costruisci l'HTML finale
// Determina il contenuto del titolo in base al template
$title_content = '';
if ($template_class === 'blackfriday') {
$title_content = '
';
} else {
$title_content = esc_html($nome);
}
// offertediprimavera usa lo stesso layout CSS di blackfriday
$css_class = $template_class;
if ($template_class === 'offertediprimavera') {
$css_class = 'blackfriday offertediprimavera';
}
$output = '
';
return $output;
}
Sai che siamo anche su Telegram? Unisciti al nostro canale iSpazio per ricevere le notifiche oppure Apple Italia per chattare con altri utenti. Scopri i migliori prodotti Tech in sconto su Amazon con il nostro canale OFFERTE iSpazio.
I commenti sono chiusi per questo articolo.
0 Commenti