如果您的應用程式使用 WebView
顯示網頁內容,建議您進行設定,以便透過廣告以最佳方式營利內容。
本指南將說明如何提供有關設定 WebView
物件的方式資訊。
啟用第三方 Cookie
如要改善使用者的廣告體驗,並符合 Chrome 的Cookie 政策,請在 WebView
例項中啟用第三方 Cookie。
Java
CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);
Kotlin
CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)
網頁設定
預設的「WebView
」設定不會針對廣告進行最佳化。使用
WebSettings
敬上
用來設定 WebView
的 API:
- JavaScript
- 存取本機儲存空間
自動播放影片
Java
import android.webkit.CookieManager;
import android.webkit.WebView;
public class MainActivity extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = findViewById(R.id.webview);
// Let the web view accept third-party cookies.
CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);
// Let the web view use JavaScript.
webView.getSettings().setJavaScriptEnabled(true);
// Let the web view access local storage.
webView.getSettings().setDomStorageEnabled(true);
// Let HTML videos play automatically.
webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
}
}
Kotlin
import android.webkit.CookieManager
import android.webkit.WebView
class MainActivity : AppCompatActivity() {
lateinit var webView: WebView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
webView = findViewById(R.id.webview)
// Let the web view accept third-party cookies.
CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)
// Let the web view use JavaScript.
webView.settings.javaScriptEnabled = true
// Let the web view access local storage.
webView.settings.domStorageEnabled = true
// Let HTML videos play automatically.
webView.settings.mediaPlaybackRequiresUserGesture = false
}
}
載入網頁檢視畫面內容
Cookie 和網頁網址對於網頁檢視營利至關重要,只有在 loadUrl()
與網路網址搭配使用時,才能正常運作。如要提升 WebView
效能,請直接從網路網址載入網站內容。請勿使用 WebViewAssetLoader
、從裝置載入資產,或動態產生網站內容。
Java
import android.webkit.CookieManager;
import android.webkit.WebView;
public class MainActivity extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = findViewById(R.id.webview);
// Let the web view accept third-party cookies.
CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true);
// Let the web view use JavaScript.
webView.getSettings().setJavaScriptEnabled(true);
// Let the web view access local storage.
webView.getSettings().setDomStorageEnabled(true);
// Let HTML videos play automatically.
webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
// Load the URL for optimized web view performance.
webView.loadUrl("https://webview-api-for-ads-test.glitch.me");
}
}
Kotlin
import android.webkit.CookieManager
import android.webkit.WebView
class MainActivity : AppCompatActivity() {
lateinit var webView: WebView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
webView = findViewById(R.id.webview)
// Let the web view accept third-party cookies.
CookieManager.getInstance().setAcceptThirdPartyCookies(webView, true)
// Let the web view use JavaScript.
webView.settings.javaScriptEnabled = true
// Let the web view access local storage.
webView.settings.domStorageEnabled = true
// Let HTML videos play automatically.
webView.settings.mediaPlaybackRequiresUserGesture = false
// Load the URL for optimized web view performance.
webView.loadUrl("https://webview-api-for-ads-test.glitch.me")
}
}
測試網頁檢視畫面
在應用程式開發期間,建議您載入這個測試網址:
https://webview-api-for-ads-test.glitch.me#webview-settings-tests
驗證這些設定對廣告的影響。測試網址符合下列條件時,表示已完成整合:
網路檢視畫面設定
- 第三方 Cookie 的運作方式
- 第一方 Cookie 的運作方式
- 已啟用 JavaScript
- 已啟用 DOM 儲存空間
影片廣告
- 影片廣告會內嵌播放,且不會在內建的全螢幕播放器中開啟
- 影片廣告會自動播放,不必按一下播放按鈕
- 影片廣告可重播
測試完成後,請將測試網址替換為網頁檢視畫面要載入的網址。