Android WebView 버전을 Crashlytics에 적용

7320 단어 CrashlyticsAndroid

Android 5.0(Lolipop) 이후의 WebView


WebView가 OS에 내장되어 있기 때문에 안드로이드 4.4(KitKat) 이전
크롬에 버그가 있다면 그 수정과 기능 추가 등
OS 자체를 업데이트해야 합니다.
Android 5.0(Lolipop) 이후 여기.
WebView가 OS에서 분리되어 Google Play 스토어를 통해
Android System WebView로 업데이트할 수 있습니다.

충돌 보고서


지금까지 WebView를 사용한 어플리케이션デバイス ✕ OSのバージョン위의 모델로 잘못된 재현 조건을 조사한 결과 앞으로デバイス ✕ OSのバージョン ✕ Chromiumのバージョン위에서 말한 바와 같이 크롬 버전도 고려해야 할 가능성이 있다.
안드로이드 응용 프로그램 충돌 보고서를 받은 서비스에서 유명하다Crashlytics
기본적으로 장치 또는 OS 버전을 가져올 수 있습니다.
WebView에서 사용할 Chromium 버전을 가져올 수 없습니다.
Crashlytics는 로그 남기기 위해 스피커 키를 설정할 수 있습니다의, 이걸 사용해요.
붕괴 시 WebView의 User Agent를 합쳐서 Crashlytics에 던집니다.

이루어지다


WebView의 UserAgent 세척
gradle로 가져왔기 때문에 Woothee 사용합니다.
준비 작업은build입니다.gradle의dependencies에서compile 'is.tagomor.woothee:woothee-java:1.0.0'build만 추가하면 됩니다.
예를 들어, 다음 클래스를 준비하십시오.
CrashlyticsUtils.java
package com.example.log;

import com.crashlytics.android.Crashlytics;
import java.util.Map;
import is.tagomor.woothee.Classifier;

public class CrashlyticsUtils {
    public CrashlyticsUtils() {
        throw new AssertionError();
    }

    private static final String NAME       = "name";
    private static final String OS_VERSION = "os_version";
    private static final String CATEGORY   = "category";
    private static final String OS         = "os";
    private static final String VENDOR     = "vendor";
    private static final String VERSION    = "version";

    public static void setUserAgent(final String userAgentString) {
        Map<String, String> userAgent = Classifier.parse(userAgentString);
        Crashlytics.setString(NAME, userAgent.get(NAME));
        Crashlytics.setString(OS_VERSION, userAgent.get(OS_VERSION));
        Crashlytics.setString(CATEGORY, userAgent.get(CATEGORY));
        Crashlytics.setString(OS, userAgent.get(OS));
        Crashlytics.setString(VENDOR, userAgent.get(VENDOR));
        Crashlytics.setString(VERSION, userAgent.get(VERSION));
    }
}
WebView가 있는 반부터 시행되면 붕괴될 때
WebView의 UserAgent와 함께 사용할 수 있습니다.
MainActivity.java
String userAgentString = webView.getSettings().getUserAgentString();
CrashlyticsUtils.setUserAgent(userAgentString);

좋은 웹페이지 즐겨찾기