Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità
ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità
NUC 15 Pro e NUC 15 Pro+ sono i due nuovi mini-PC di casa ASUS pensati per uffici e piccole medie imprese. Compatti, potenti e pieni di porte per la massima flessibilità, le due proposte rispondono in pieno alle esigenze attuali e future grazie a una CPU con grafica integrata, accompagnata da una NPU per la gestione di alcuni compiti AI in locale.
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint
Dal palco di Proofpoint Protect 2025 emerge la strategia per estendere la protezione dagli utenti agli agenti IA con il lancio di Satori Agents, nuove soluzioni di governance dei dati e partnership rafforzate che ridisegnano il panorama della cybersecurity
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti
Dopo alcuni anni di assenza dai cataloghi dei suoi televisori, Hisense riporta sul mercato una proposta OLED che punta tutto sul rapporto qualità prezzo. Hisense 55A85N è un televisore completo e versatile che riesce a convincere anche senza raggiungere le vette di televisori di altra fascia (e altro prezzo)
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 18-04-2011, 13:19   #1
DeAndreon
Senior Member
 
L'Avatar di DeAndreon
 
Iscritto dal: Dec 2008
Messaggi: 975
[Java me] aiuto integrazione banner

Ciao a tutti! Ho bisogno di un grande aiuto...
In pratica, nella mia applicazione ho bisogno di visualizzare un banner pobblicitario. Il network di advertising che vorrei usare mi dice questo per integrare il banner:

1. In order to utilize our Server-to-Server API your application must support the ability to handle HTML content inside your application.


2. Once you have the object in your application that can receive HTML content, you must pass via an HTTP GET call the required variables to make an ad call with the appropriate key/value pairs.
Unique Identifier of that user (AUID)
Public IP Address of the Device (UIP)
User Agent String of the Device’s Browser (UA)
Placement ID (APID)


3. Formulate the ad call via the example below.

oswodddhttp://ads.mp.mydas.mobi/getAd?apid=357&auid=testingauid&uip=66.209.31.31&ua=testing&mode=test

A quanto ho capito devo formulare una richiesta di tipo GET al loro server...
Come posso realizzarla in java me? Come mi devo muovere?
Mi potreste dare gentilmente un codice d'esempio sull'esempio postato?

Grazie a tutti in anticipo!

Ultima modifica di DeAndreon : 18-04-2011 alle 15:13.
DeAndreon è offline   Rispondi citando il messaggio o parte di esso
Old 18-04-2011, 13:27   #2
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
E' un po' che non pasticcio più come la versione me (diciamo una decina d'anni va ) ma puoi usare un URL per fare un get, devi solo codificare la stringa della richiesta (così come la vedi, ad esempio, nella barra degli indirizzi di un browser). Quando apri il flusso di lettura dell'url l'api automaticamente invia la richiesta, attende la risposta e ti fornisce i byte della risposta attraverso l'input.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 18-04-2011, 14:02   #3
DeAndreon
Senior Member
 
L'Avatar di DeAndreon
 
Iscritto dal: Dec 2008
Messaggi: 975
Ciao! Grazie per la risposta. Ma in pratica per far funzionare il banner devo solo implementare questa richiesta tramite get? Perchè non ho capito bene cosa vuole la richiesta che mi è stata fatta per visualizzare il banner...


In pratica dovrei fare un codice del genere che c'è qui?:

http://j2me-codes.blogspot.com/2007/...-php-http.html


Gentilmente, se ti va soprattutto, potresti farmi un esempio di codice?
Non sono molto pratico con l'http... Ho solo una buona conoscenza di java(grazie all'esame di programmazione ad oggetti).


Guarda questo:

http://www.java2s.com/Tutorial/Java/...etwithJ2ME.htm

sembra fare al caso mio... Questo codice può soddisfare la richiesta che mi è stata fatta per mettere il banner nel mio programma?


Grazie mille!

Ultima modifica di DeAndreon : 18-04-2011 alle 15:05.
DeAndreon è offline   Rispondi citando il messaggio o parte di esso
Old 18-04-2011, 17:01   #4
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
L'http get dell'esempio va benissimo. Poi devi fare il parsing del codice html che ti arriva come risposta (a meno che non abbiano aggiunto in widget per la visualizzazione di contenuti html alle api di Jme).

Se il banner è semplicemente un'immagine passiva, devi solo pescare l'url dell'immagine, caricarla e mostrarla. Se è un'immagine con link devi scrivere anche la logica di gestione del link. Se è componente html più complicato è già più dura.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 18-04-2011, 17:25   #5
DeAndreon
Senior Member
 
L'Avatar di DeAndreon
 
Iscritto dal: Dec 2008
Messaggi: 975
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
L'http get dell'esempio va benissimo. Poi devi fare il parsing del codice html che ti arriva come risposta (a meno che non abbiano aggiunto in widget per la visualizzazione di contenuti html alle api di Jme).

Se il banner è semplicemente un'immagine passiva, devi solo pescare l'url dell'immagine, caricarla e mostrarla. Se è un'immagine con link devi scrivere anche la logica di gestione del link. Se è componente html più complicato è già più dura.
Ciao! Grazie mille
Oddio, la cosa si fa ancora più complicata :S Cos'è il parsing? :S
Ho fatto il mio codice riutilizzando quello:

Codice:
 urlstring = "http://ads.mp.mydas.mobi/getAd?apid=41608&auid=testingauid&uip=66.209.31.31&ua=testing&mode=test";
            new Thread() {
                public void run() {                 // sending a GET request to web server
                    String resultstring = sendGetRequest(urlstring);
                    
                   }
            }.start();



// send a GET request to web server
    public String sendGetRequest(String urlstring)
    {       HttpConnection hc = null;
            InputStream dis = null;
          ByteArrayOutputStream baos = new ByteArrayOutputStream();
          try
          {          /* openning up http connection with the web server
           *  when the connection is opened, the default request
           *  method is GET         */
              hc = (HttpConnection)
                      Connector.open(urlstring);
              // establishing input stream from the connection
              dis = hc.openInputStream();
              byte[] buf = new byte[512];
              // reading the response from web server character by character
              int red;
              while ((red = dis.read(buf)) != -1 ) {
                  baos.write(buf, 0, red);         }
          }       catch (IOException ioe)
          {         return "ERROR";      }
          finally {
              try { if(hc != null)
                  hc.close(); } catch (IOException ignored) {
                  }
              try { if(dis != null) dis.close();}
              catch (IOException ignored) {}
          }
          return baos.toString() /*String(baos.getBytes())*/;
    }

Ora cosa devo fare per visualizzare l'immagine?


Grazie ancora
DeAndreon è offline   Rispondi citando il messaggio o parte di esso
Old 18-04-2011, 20:30   #6
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
La stringa restituita dal metodo sendGetRequest è (il corpo di ) un messaggio in formato HTTP.

C'è uno standard che definisce cosa significhi "messaggio HTTP" ma, nel nostro caso, dovrebbe trattarsi di un messaggio HTTP il cui corpo contiene del codice HTML.

Nella fattispecie, il codice risulta (da una prova):

Codice:
<a href="http://bank06.mi.ads.mp.mydas.mobi/getAd.php5?apid=357&amp;ua=testing&amp;uip=66.209.31.31&amp;auid=testingauid&amp;testua=Java%2F1.6.0_24&amp;testuip=127.0.0.1&amp;testuid=testingauid&amp;mode=results">
    <img src="http://bank06.mi.ads.mp.mydas.mobi/getAd.php5?apid=357&amp;ua=testing&amp;uip=66.209.31.31&amp;auid=testingauid&amp;testua=Java%2F1.6.0_24&amp;testuip=127.0.0.1&amp;testuid=testingauid&amp;mode=validate" border="0"/>
</a>
Cioè è un'immagine vincolata ad un collegamento.

I dati dell'immagine li ottieni collegandoti all'url definito come valore dell'attributo src (in rosso).

Il codice html restituito dice anche che quando l'utente clicca su quell'immagine il browser deve caricare la pagina indicata dal valore dell'attributo href di a (in verde).

Se la struttura è sempre quella (e trattandosi di un banner potrebbe anche esserlo) allora puoi fare il parsing (cioè analisi e divisione in blocchi funzionali di un certo flusso di dati) applicando questa logica:

l'indirizzo dei dati da caricare quando l'utente "attiva" l'immagine del banner è (tutto quello che è contenuto tra href=" e il successivo "), l'indirizzo del flusso dati dell'immagine da caricare è (tutto quello che è contenuto tra src=" e il successivo ").
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 18-04-2011, 21:21   #7
DeAndreon
Senior Member
 
L'Avatar di DeAndreon
 
Iscritto dal: Dec 2008
Messaggi: 975
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
La stringa restituita dal metodo sendGetRequest è (il corpo di ) un messaggio in formato HTTP.

C'è uno standard che definisce cosa significhi "messaggio HTTP" ma, nel nostro caso, dovrebbe trattarsi di un messaggio HTTP il cui corpo contiene del codice HTML.

Nella fattispecie, il codice risulta (da una prova):

Codice:
<a href="http://bank06.mi.ads.mp.mydas.mobi/getAd.php5?apid=357&amp;ua=testing&amp;uip=66.209.31.31&amp;auid=testingauid&amp;testua=Java%2F1.6.0_24&amp;testuip=127.0.0.1&amp;testuid=testingauid&amp;mode=results">
    <img src="http://bank06.mi.ads.mp.mydas.mobi/getAd.php5?apid=357&amp;ua=testing&amp;uip=66.209.31.31&amp;auid=testingauid&amp;testua=Java%2F1.6.0_24&amp;testuip=127.0.0.1&amp;testuid=testingauid&amp;mode=validate" border="0"/>
</a>
Cioè è un'immagine vincolata ad un collegamento.

I dati dell'immagine li ottieni collegandoti all'url definito come valore dell'attributo src (in rosso).

Il codice html restituito dice anche che quando l'utente clicca su quell'immagine il browser deve caricare la pagina indicata dal valore dell'attributo href di a (in verde).

Se la struttura è sempre quella (e trattandosi di un banner potrebbe anche esserlo) allora puoi fare il parsing (cioè analisi e divisione in blocchi funzionali di un certo flusso di dati) applicando questa logica:

l'indirizzo dei dati da caricare quando l'utente "attiva" l'immagine del banner è (tutto quello che è contenuto tra href=" e il successivo "), l'indirizzo del flusso dati dell'immagine da caricare è (tutto quello che è contenuto tra src=" e il successivo ").
Ciao! Grazie mille per l'aiuto che mi stai dando. confermo, il codice d'esempio trovato funziona, mi ritorna il tuo stesso valore.
Ora devo fare il parsing.
In pratica devo estrapolare l'indirizzo dell'immagine e visualizzare il banner in un item e quando viene cliccato usare il link per il click, giusto?

Per estrapolare ho pensato alle funzioni di String come substring però il trucco dovrebbe funzionare se non cambiasse mai la lunghezza della stringa...
DeAndreon è offline   Rispondi citando il messaggio o parte di esso
Old 18-04-2011, 21:35   #8
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Esiste sicuramente un'espressione regolare per farlo ma te la cavi anche con "indexOf".

Il primo pezzo inizia con href=" e finisce con "

Detta s la stringa restituita dal metodo in esame, l'indirizzo del link è:

String startToken = "href=\"";
String endToken = "\"";
int start = s.indexOf(startToken) + startToken.length();
int end = s.indexOf(endToken, start);
String hrefUrl = s.substring(start, end);

L'indirizzo dell'immagine è:

String s0 = "src=\"";
String s1 = "\"";
int start = s.indexOf(s0) + s0.length();
int end = s.indexOf(s1, start);
String srcUrl = s.substring(s0, s1);

A naso. Magari controlla se ci va un +1 o -1 da qualche parte.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 18-04-2011, 21:54   #9
DeAndreon
Senior Member
 
L'Avatar di DeAndreon
 
Iscritto dal: Dec 2008
Messaggi: 975
Si, ho fatto una cosa simile alla tua, sono riuscito ad ottenere l'indirizzo dell'immagine solo che ora non ne vuole sapere di mettersi sullo schermo del simulatore...

In pratica ho fatto così:
Codice:
 int first = resultstring.indexOf("src=");
                   int last = resultstring.indexOf("validate");
                   String sub = resultstring.substring(first+5, last+8);

                   HttpConnection hpc = null;
    DataInputStream dis = null;
    try {
      hpc = (HttpConnection) Connector.open(sub);
      int length = (int) hpc.getLength();
      byte[] data = new byte[length];
      dis = new DataInputStream(hpc.openInputStream());
      dis.readFully(data);
      image = Image.createImage(data, 0, data.length);
    }catch(Exception e){}
     finally {
      if (hpc != null)
                        try {
                            hpc.close();
                        } catch (IOException ex) {
                            ex.printStackTrace();
                        }
      if (dis != null)
                        try {
                            dis.close();
                        } catch (IOException ex) {
                            ex.printStackTrace();
                        }
               }

                 
                }
            }.start();
            i= new ImageItem(null, image, 0, null);
            f.append(i);
In pratica prendo l'indirizzo dell'immagine e lo metto in sub. Poi lo uso con la parte di codice successiva per ottenere l'immagine solo che a quanto pare non funziona e non capisco il perchè...

Grazie mille per il tempo che mi stai dedicando... Piano piano stiamo risolvendo il problema
DeAndreon è offline   Rispondi citando il messaggio o parte di esso
Old 18-04-2011, 22:00   #10
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Ad occhio mi sembra ok. Forse l'immagine è in un formato non supportato? Prova a salvarla su un file (usando Java SE).
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 19-04-2011, 08:16   #11
DeAndreon
Senior Member
 
L'Avatar di DeAndreon
 
Iscritto dal: Dec 2008
Messaggi: 975
Ciao! Buongiorno!
Secondo me il problema è un altro...
Ho aperto il codice che mi viene restituito con il get nel mio browser e si apre la pagina mentre se prendo singolarmente gli url restituiti cioè img o src non si apre niente...
Cosa vuol dire? Che devo visualizzare il codice ottenuto come una pagina web?
Sinceramente mi sta mandando in tilt questa situazione :S
DeAndreon è offline   Rispondi citando il messaggio o parte di esso
Old 19-04-2011, 12:26   #12
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
E' possibile che lo script php a cui puntano i link non restituisca un'immagine nel caso in cui il browser non appartenga ad uno dei noti.

Da un prova a me risulta che l'url dell'immagine restituisce non un'immagine ma una scritta, quando eseguito al di fuori del browser. Se così fosse, allora ti basterebbe presentare a video quella scritta (come se si trattasse di un browser non in grado di visualizzare immagini).

Dovresti provare a contattare l'autore del banner per sapere se questo comportamento rientri nella "visualizzazione di pagine html" indicata nei requisiti.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondono completezza e duttilità ASUS NUC 15 Pro e NUC 15 Pro+, mini PC che fondo...
Cybersecurity: email, utenti e agenti IA, la nuova visione di Proofpoint Cybersecurity: email, utenti e agenti IA, la nuo...
Hisense A85N: il ritorno all’OLED è convincente e alla portata di tutti Hisense A85N: il ritorno all’OLED è convi...
Acer TravelMate P6 14 AI: il Copilot+ PC sotto il chilo per il professionista in movimento Acer TravelMate P6 14 AI: il Copilot+ PC sotto i...
Recensione Borderlands 4, tra divertimento e problemi tecnici Recensione Borderlands 4, tra divertimento e pro...
ISRO: prosegue lo sviluppo della navicel...
CoD Black Ops 7 offrirà la beta p...
Il telescopio spaziale James Webb sta ai...
Crucial spinge sui moduli LPCAMM2: fino ...
Imgur blocca gli utenti del Regno Unito:...
ROG Xbox Ally già in consegna: qu...
Ubisoft annuncia Vantage Studios: Assass...
Il solare diventa la prima fonte di elet...
Google Home si rinnova completamente: ar...
Dense Geometry Format (DGF): novit&agrav...
Gemini for Home arriva a ottobre sui dis...
Amazon Smart Air Quality Monitor: a soli...
Mazzata Raspberry Pi, i prezzi aumentano...
Amazon Seconda Mano - Warehouse: extra s...
Una giornata smart tra lago e montagna: ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 19:29.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v