Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
FullFlashka
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 8
#1

Не обрабатывается скрипт адсенс - Android

14.04.2015, 14:43. Просмотров 339. Ответов 7
Метки нет (Все метки)

Привет всем.
Написал клиент для сайта, но появилась одна проблемка. При нажатии на сайте на блок адсенса, он открывается во фрейме. Как избавиться от такой напасти?
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.Toast;
import android.app.Activity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.webkit.*;
import android.net.Uri;
 
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
 
import static com.google.android.gms.ads.AdRequest.*;
 
 
public class MainActivity extends Activity {
 
 
    WebView webView = null;
 
 
 
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
 
 
/* разворачиваем приложение на весь экран */
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
 
/* применяем наш лейаут к текущему экрану */
        setContentView(R.layout.activity_main);
 
 
// Поиск AdView как ресурса и отправка запроса.
        AdView adView = (AdView)this.findViewById(R.id.adView);
        AdRequest adRequest = new Builder().build();
        adView.loadAd(adRequest);
 
 
/* находим WebView элемент по его id */
        webView = (WebView) findViewById(R.id.WebView);
/* создаем новые настройки для нашего WebView элемента */
        WebSettings webSettings = webView.getSettings();
        webSettings .setBuiltInZoomControls(true);
        webSettings .setSupportZoom(true);
        webSettings.setJavaScriptEnabled(true);
        webSettings.setAllowFileAccess(true);
        webView.setWebViewClient(new MyClient());
        webView.setWebChromeClient(new MyWebChromeClient());
 
        webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
/* здесь вы можете поместить URL вашего сайта */
        webView.loadUrl("http://gibdd.animals-2015.com/"); //сгенерировал для примера
    }
 
 
 
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if(event.getAction() == KeyEvent.ACTION_DOWN){
            switch(keyCode){
                case KeyEvent.KEYCODE_BACK:
                    if(webView .canGoBack()){
                        webView .goBack();
                        Toast.makeText(this, "возвращаемся назад!", Toast.LENGTH_SHORT).show();
                    }else{
                        Toast.makeText(this, "закрываем приложение!", Toast.LENGTH_SHORT).show();
                        finish();
                    }
                    return true;
            }
            Toast.makeText(this, "Проверку не прошли!", Toast.LENGTH_SHORT).show();
 
        }
        Toast.makeText(this, "это была не клавиша назад !", Toast.LENGTH_SHORT).show();
        return super.onKeyDown(keyCode, event);
    }
 
 
 
 
 
 
 
 
    class MyClient extends WebViewClient {
        private WebView mWebView;
 
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
/* откроем новую веб-страницу в webview */
            view.loadUrl(url);
            return true;
        }
 
        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
/*остановка загрузки и отображение страницы error.html из папки “assets”*/
            view.stopLoading();
            view.loadUrl(String.format("file:///android_asset/error.html", Uri.encode(String.valueOf(errorCode)), Uri.encode(description), Uri.encode
                    (failingUrl)));
        }
    }
 
 
 
 
 
 
    class MyWebChromeClient extends WebChromeClient {
        @Override
        public boolean onJsAlert(WebView webView, String url, String message, JsResult result) {
            new AlertDialog.Builder(MainActivity.this).setTitle("hello").setMessage("hello").create().show();
            return true;
        }
    }
}
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fgtmenow
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 254
14.04.2015, 16:36     Не обрабатывается скрипт адсенс #2
просто перемести рекламу на активити
FullFlashka
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 8
14.04.2015, 17:05  [ТС]     Не обрабатывается скрипт адсенс #3
Adsens блоки расположены на сайте.

Я вот думаю может сделать так:
открывать ссылки вида http://www.googleadservices.com в браузере по умолчанию.
Только не знаю как это прописать и вообще должно ли помочь.
fgtmenow
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 254
14.04.2015, 17:11     Не обрабатывается скрипт адсенс #4
пс...

а гуглить не пробовал?

Java
1
2
3
4
String url = "http://www.example.com";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
FullFlashka
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 8
14.04.2015, 17:54  [ТС]     Не обрабатывается скрипт адсенс #5
Немного не то.
Так попробовал сделать, но при запуске приложения он открывает мою страницу и открывает вторую страницу http://www.googleadservices.com/ в браузере по умолчанию.
А надо что бы открывал браузер по умолчанию при клике по рекламному блоку адсенс (обычно ссылка вида http://www.googleadservices.com/klds...jbhvcbhvcjbvhb)
fgtmenow
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 254
14.04.2015, 17:55     Не обрабатывается скрипт адсенс #6
ну так в shouldOverrideUrlLoading реализуй направление, какие ссылки где должны открываться
FullFlashka
0 / 0 / 0
Регистрация: 14.04.2015
Сообщений: 8
14.04.2015, 18:02  [ТС]     Не обрабатывается скрипт адсенс #7
Извиняюсь конечно, но я не знаю как это сделать).
Ввиду того что я вообще не шарю в языках программирования и сам клиент собрал по нескольким урокам(из интернета), методом проб и ошибок.

Если не сложно, то покажите как должен выглядеть код.

Заранее спасибо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2015, 02:12     Не обрабатывается скрипт адсенс
Еще ссылки по теме:

jQuery Не обрабатывается скрипт в режиме реального времени
Android Не обрабатывается позиция Spinner
Не обрабатывается php-скрипт на html странице "Open server"
Android Какой скрипт у этой кнопки?
Не могу понять как тут обрабатывается кнопка Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
fgtmenow
75 / 75 / 7
Регистрация: 29.03.2012
Сообщений: 254
15.04.2015, 02:12     Не обрабатывается скрипт адсенс #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Java
1
2
3
4
5
6
7
8
9
10
11
12
if(url.contains("www.googleadservices.com"))
{
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
return true;
}
else
{
view.loadUrl(url);
return false;
}

что-то вроде того мне кажется
Yandex
Объявления
15.04.2015, 02:12     Не обрабатывается скрипт адсенс
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru