Политика поиска Google
У меня вопрос об использовании поиска Google.
Могу ли я использовать пользовательский поиск google в моем родном приложении iOS вместо использования их api-инструментов, это проблема для google?
Я пишу 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>
Я запрашиваю сайт с указанным выше содержимым в приложении iOS и получаю результаты. Я показываю результаты в UIWebView:
![enter image description here]()
Итак, могу ли я использовать
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationTyp
и перенаправить пользователя на мой UIViewController? Это нормально для политики Google?
Могу ли я перехватить/поймать пользователя, щелкнув ссылку и открыть собственное представление приложения вместо веб-просмотра, или мне нужно открыть желаемую страницу в webview, а затем перенаправить (с кодом 301) с URL-адресом схемы iOS, которые откроют собственное представление приложения (так действительно имитировать клик в google)?
Ps.
Я знаю о Google API, но это не нормально для меня.
Ответы
Ответ 1
Условия обслуживания пользовательского поиска (TOS) можно найти по адресу http://www.google.com/cse/docs/tos.html. Я бы предложил внимательно прочитать их. В частности, раздел 1.3, который я скопировал (по состоянию на 17 марта 2013 года):
1.3 Ваши обязательства.. Вы получите запрос от конечного пользователя и отправите этот запрос в Google. Вы не можете каким-либо образом создавать рамки, кэшировать или изменять результаты, полученные Google, за исключением случаев, когда согласился между вами и Google. Google не будет нести ответственность за получения запросов от конечных пользователей или для передачи данных между Вы и сетевой интерфейс Google. Вы несете ответственность за предоставляя все аппаратное и программное обеспечение, необходимое для выполнения вашего обязательств в соответствии с Условиями использования, включая, но не ограничиваясь, следующие: (а) внедрение и поддержание Сайта, (б) внедрение и поддержание интерфейса между Сайтом и Сервисом, и (c) получение Запроса от конечного пользователя и передача запроса в Google.
Я не юрист, но "вы никоим образом не можете создавать кадры, кешировать или изменять результаты, полученные Google, если иное не согласовано между вами и Google". будет казаться важным в вашей ситуации.
Если вы не платите за Google Site Search, вы не можете отображать результаты без отображения объявлений.
Ответ 2
UIWebView похож на браузер Safari.
Итак, если вы загружаете ЛЮБОЙ URL-адрес в UIWebView, тогда не беспокойтесь. Загрузка запроса с любым URL-адресом в UIWebView аналогична вставке URL-адреса в браузере, поэтому нет необходимости беспокоиться. Но если вы хотите открыть рекламу google в UIViewController или с любым другим элементом управления, например ярлыком (например, вы показываете рекламу на UILabel или UITextView), тогда должны быть проблемы с политиками.
Я не уверен в политике Google, но если вы используете только UIWebView, вам не о чем беспокоиться. Идем дальше.........
И для поисковых запросов Google я использовал один URL-адрес, который вы можете попробовать....
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]]];
Надеюсь, что этот пост поможет вам..............
У вас есть счастливое кодирование...........
РЕДАКТИРОВАТЬ: - ВЫ НЕ МОЖЕТЕ ПРОИЗВОДИТЬ ДЕНЕЖНЫЕ ОПЕРАЦИИ В WEBVIEW (ВЕРОЯТНО ИЗ-ЗА ПОЛИТИКИ ПОКУПКИ APPLE IN-APP)
Ответ 3
Из текущего текущего Условия использования:
Использование наших сервисов
Вы должны следовать любым политикам, предоставленным вам в рамках Услуги.
Не злоупотребляйте нашими Сервисами. Например, не мешайте нашим Сервисы или попытайтесь получить к ним доступ, используя метод, отличный от интерфейса и инструкции, которые мы предоставляем.
Это, для меня, немного сомнительно. Является ли поиск результатов поиска по URL-адресу, который вы создали программным способом, или не использует интерфейс, который они предоставляют, является спорным, но в моей интерпретации, кажется, все в порядке, если вы загружаете запрос в UIWebView
. Если вы каким-то образом проанализируете html, чтобы представить результаты другим способом, например, UITableView
, то я думаю, что он пересекает линию.
Я работаю над приложением, где я делаю очень похожее на то, что вы пытаетесь сделать. Я показываю результаты поиска в UIWebView
, и если пользователь нажимает на ссылку, она открывается в UIWebView
в другом ViewController
. Но я использую другую поисковую систему, и я сделал опцию просить их заранее, и они согласились, что все в порядке.