Показывать собственные объявления внутри контента WebView на Android?

Я хочу знать, как показывать собственное объявление внутри webview. Содержимое в случайном месте каждый раз. Предположим, что я загружаю статическую страницу html в webview. Можно ли отображать собственную внутреннюю страницу webview html в случайном месте, когда пользователь просматривает содержимое собственных объявлений страницы внутри содержимого.

Ответ 1

Прежде всего, название вашего вопроса действительно вводит в заблуждение, поскольку вы действительно спрашиваете о динамическом позиционировании представления.

Во-вторых, то, что вы хотите сделать, это затенить AF, и вы, вероятно, получите много негативных отзывов и быстрых удалений. =)

При этом ответ на ваш вопрос - да.

Самый простой способ добиться этого - установить начальную позицию Y веб-просмотра на 0 (вверху экрана), а затем использовать View#setTranslationY со случайным значением, которое смещает позицию Y. Если вы действительно хотите раздражать пользователей, вы можете даже анимировать это так:

val random = Random()
val translation = random.nextInt(40)
webview.animate().translationYBy(translation.toFloat()).start()

Ссылка на документацию перевода Y

Ответ 2

Для отображения рекламы в собственных приложениях Android вы можете использовать WebView. Ниже приведен пример:

1. Настройте веб-вид в макете

 <WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

2. Настройте WebView в действии, в onCreate

// NOTE you MUST put a real ID in place of 'your_ad_id_here'
    //  or you will not see an ad!
    WebView wv = (WebView) findViewById(R.id.webview);
    wv.getSettings().setJavaScriptEnabled(true);
    wv.setBackgroundColor(Color.TRANSPARENT);
    String html = "<html><body style='margin:0;padding:0;'><script type="text/javascript"><!--
        google_ad_client = "ca-pub-1234567890123456";
        /* My Ad Unit Description */
        google_ad_slot = "1234567890";
        google_ad_width = 728;
        google_ad_height = 90;
        //-->
        </script>
        <script type="text/javascript"
        src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
        </script></body></html>";
    wv.loadData(html, "text/html", "utf-8");

3.Установите разрешения в манифесте

<uses-permission android:name="android.permission.INTERNET"/>

Надеюсь, вы найдете это полезным. веселит.