Eccoci con un nuovo appuntamento dell’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.

[lastminute_971329287] Dedicata i bimbi tecnologici di oggi, quest’applicazione “Sago mini” offre un’avventura ricca di emozioni e divertimento ai più piccini. Essi potranno accompagnare il cagnolino Harvey scegliendo tra un rimorchiatore, un’imbarcazione ad altissima velocità o addirittura una nave dei pirati e gira il mondo in barca per far visita agli amici di Sago Mini. Un gioco interattivo sicuro e divertente! [finelm 2.99]
[lastminute_917146276] Ormai si scattano più foto dal proprio smartphone che da qualsiasi dispositivo fotografico, con quest’applicazione avrete il controllo totale dei settaggi manuali, andando a modificare a vostro piacimento diaframma, ISO, esposizione, bilanciamento bianco, messa a fuoco,ecc. Tutte le operazioni potranno essere visualizzate nel momento della modifica per scattare ogni volta la foto che si desidera! [finelm 2.99]
[lastminute_385706728] Enigmistica In è la versione digitale del classico mensile italiano dedicato agli appassionati dell’enigmistica. Assolutamente al passo coi tempi approda su iPhone ed iPad mantenendo il suo elevato standard qualitativo che la contraddistingue da sempre. Oltre 130 schemi, cruciverba visualizzabili orizzontalmente e verticalmente e possono essere ingranditi o rimpiccioliti attraverso una gesture, le soluzioni del gioco sono consultabili in ogni momento. Cosa aspettate mettete alla prova la vostra conoscenza! [finelm 1.99]
[lastminute_444741134] Buona applicazione di scrittura su iPad, Interfaccia minimalista che esclude ogni distrazione, alta personalizzazione, con possibilità di scelta di font e temi, sincronizzazione iCloud e Dropbox e tanto altro ancora! In sconto per un breve periodo. [finelm 2.99]
[lastminute_696735368] Endless game a scorrimento verticale subacqueo! Divertente colorato, con controlli semplici e una bella musica caraibica! [finelm 0.89]
[lastminute_376997278] Jack lo Squartatore – Lettere dall’inferno, è la versione extended dell’omonimo gioco che vi catapulterà nella Londra di fine ottocento sulle tracce di Jack lo squartatore, sarete impegnati a dimostrare l’innocenza di un giovane giornalista di nome Bert indagato per un suo presunto coinvolgimento. 30 luoghi da osservare, mini-giochi, gestione di 3 profili personalizzabili e supporto Game Center. [finelm 4.99]
[lastminute_970421850] Si tratta di un puzzle-game stile minimal che vi farà arrovellare il cervello, con tantissimi livelli (ben 198) ed un design straordinario! [finelm 1.99]
[lastminute_320606217] Una sveglia intelligente che analizza il tuo sonno e ti sveglia durante la sua fase più leggera, in modo da iniziare la tua giornata in maniera naturale e perfettamente riposato e rilassato. Uno strumento che monitora il tuo sonno e ti permette di svegliarti quando è il momento migliore. Pratica e dal design pulito ed elegante. [finelm 0,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 = '
































































































































































































































I commenti sono chiusi per questo articolo.
0 Commenti