2013-03-11 14 views
14

Ho una domanda sull'utilizzo di Ricerca Google. Posso usare una ricerca google personalizzata nella mia app nativa per iOS invece di usare i loro strumenti API, questo è un problema per Google?Google search policy

scrivo pagina html (http://barzyczak.vot.pl/search.html?q=test):

<!DOCTYPE html> 
<html> 
    <head> 
     <title>Element V2: Results Only Layout Demo</title> 

     <!-- Put the following javascript before the closing </head> tag. --> 
     <script> 
      (function() { 
      var cx = 'xyz'; 
      var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true; 
      gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + 
      '//www.google.com/cse/cse.js?cx=' + cx; 
      var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s); 
      })(); 
      </script> 
    </head> 

    <body> 
     <!-- Place this tag where you want the search results to render --> 
     <gcse:searchresults-only enableOrderBy="false"></gcse:searchresults-only> 
    </body> 

faccio richiesta al sito con contenuti di cui sopra nel mio app iOS e riceve i risultati. Mostro questo si traduce in UIWebView:

enter image description here

Così Posso usare

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationTyp 

e reindirizzare l'utente alla UIViewController? Va bene per le norme di Google?

Posso intercettare/intercettare il clic dell'utente sul collegamento e aprire la vista dell'applicazione nativa anziché la visualizzazione Web oppure aprire la pagina desiderata in Webview e quindi reindirizzare (con codice 301) con l'URL dello schema iOS, che apre la visualizzazione dell'app nativa (quindi davvero simulare clic su google)?

Ps. Conosco le API di Google, ma per me non va bene.

+0

Non penso che la politica di Google abbia nulla a che fare con la navigazione nella vostra applicazione! – nsgulliver

+0

Ma posso anche navigare tra gli annunci Google nei risultati di ricerca? :) –

+0

L'annuncio è in genere i primi due collegamenti, anche se a Google potrebbe non piacere se salti gli annunci – GangstaGraham

risposta

2

I Termini di servizio di ricerca personalizzata di Google (TOS) sono disponibili al numero http://www.google.com/cse/docs/tos.html. Suggerirei di leggerli attentamente. Nello specifico sezione 1.3 che ho copiato (dal 17-Mar-2013):

1.3 I vostri obblighi. Dovrai ricevere una query dall'Utente finale e inoltrarla a Google. Non puoi in alcun modo fotogrammi, cache o modificare i risultati prodotti da Google, salvo altrimenti concordato tra te e Google. Google non sarà responsabile per ricezione di query dagli utenti finali o per la trasmissione di dati tra Tu e l'interfaccia di rete di Google. Lei sarà responsabile per fornendo tutto l'hardware e il software necessari per eseguire gli obblighi ai sensi delle Condizioni d'uso, incluso ma non limitato allo seguente: (a) implementazione e manutenzione del Sito, (b) implementazione e mantenimento dell'interfaccia tra il sito e il servizio e (c) ricevere una query da un utente finale e trasmettere la query a Google.

Io non sono un avvocato, ma "Non può in alcun modo cornice, la cache o modificare i risultati prodotti da Google, ad eccezione di quanto diversamente concordato tra l'utente e Google." sembrerebbe importante nella tua situazione.

A meno che non si stia pagando per Google Site Search, non è possibile visualizzare i risultati senza visualizzare gli annunci.

2

UIWebView è simile al browser safari.

Quindi, se si sta caricando QUALSIASI URL in UIWebView, quindi non preoccuparti. La richiesta di caricamento con qualsiasi URL in UIWebView è uguale a quella di incollare un URL nel browser, quindi non è necessario preoccuparsi. Ma se vuoi aprire annunci di google su UIViewController o con qualsiasi altra etichetta di controllo (ad esempio stai mostrando annunci su UILabel o UITextView) allora lo dovrebbe essere un problema con le politiche.

Non sono sicuro della politica di Google, ma se si utilizza solo UIWebView non è necessario preoccuparsi. Vai avanti .........

E per le ricerche di Google ho utilizzato un URL che si può provare ....

NSString * urlString = [NSString stringWithFormat:@"https://www.google.co.in/webhp#hl=en&sugexp=les%%3B&gs_nf=1&tok=LZGxyqNyXgb5XCemHei1Fg&cp=4&gs_id=g&xhr=t&q=%@", self.txtSearch.text]; 
    [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlString]]]; 

Spero che questo post vi aiuterà a ..... .........

avere un felice codifica ...........

EDIT: - Non è possibile eseguire le transazioni di denaro IN WEBVIEW (probabilmente a causa di'S IN-APPLE POLITICA DI ACQUISTO DELL'APP)

1

dall'attualedi Google:

Utilizzando i nostri servizi

È necessario seguire tutte le politiche messe a disposizione entro i Servizi.

Non utilizzare impropriamente i nostri Servizi. Ad esempio, non interferire con i nostri servizi o provare ad accedervi utilizzando un metodo diverso dall'interfaccia e le istruzioni che forniamo.

Questo, per me, è un po 'dubbio. Se il caricamento dei risultati di ricerca da un URL che hai costruito programmaticamente è o non sta utilizzando l'interfaccia che forniscono è discutibile, ma nella mia interpretazione, sembra ok, a patto che tu stia caricando la richiesta in un UIWebView. Se analizzi l'html in qualche modo per presentare i risultati in un modo diverso, ad esempio uno UITableView, penso che attraversi la linea.

Sto lavorando a un'app in cui faccio una cosa molto simile a ciò che stai tentando di fare. Mostrare i risultati della ricerca in un UIWebView e, se l'utente fa clic su un collegamento, viene aperto in un UIWebView in un diverso ViewController. Ma io uso un motore di ricerca diverso, e ho fatto la possibilità di chiedere loro in anticipo e hanno concordato che era ok.