如果應用程式 Android 會使用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()
為了獲得最佳效能,可直接從網路網址載入網頁內容。避免使用 WebViewAssetLoader
、從裝置載入資產,或動態產生網路內容。 WebView
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 儲存空間
影片廣告
- 影片廣告會以內嵌方式播放,但不會在全螢幕內建播放器中開啟
- 影片廣告會自動播放,不需點擊播放按鈕
- 影片廣告可重播
測試完成後,將測試網址替換成網頁檢視畫面要載入的網址。