기기에 따라서 어떤 인증기관의 인증서를 root CA로 인식하는지 다를 경우가 있다고 함.


보통 root CA 로 서명되지 않은 인증서는 에러를 발생시키는데 


이러한 경우 웹뷰 페이지가 로드 되기전에 인증서 에러페이지가 로드되어 핸들러에서 캔슬 시키기 때문에 화면이 나오지 않는 것으로 파악된다.


이러한 경우 SSL 인증서 에러방지 코드를 추가 해주면 된다.


@Override
 public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {   
     handler.proceed(); // SSL 에러가 발생해도 계속 진행
 }

해당 코드를 WebViewClient 안에서 재정의 해주면 된다.



* 이런식으로 처리할 경우 구글개발자 콘솔에서 경고메시지가 나오거나 업로드가 되지 않을 수가 있다.


이런 경우 


@Override
public void onReceivedSslError(WebView view, final SslErrorHandler handler, SslError error) {
  final AlertDialog.Builder builder = new AlertDialog.Builder(this);
  builder.setMessage(R.string.notification_error_ssl_cert_invalid);
  builder.setPositiveButton("continue", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
      handler.proceed();
    }
  });
  builder.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
      handler.cancel();
    }
  });
  final AlertDialog dialog = builder.create();
  dialog.show();
}


유저에게 묻는 로직을 추가 하면된다. 소스 참조 : http://theeye.pe.kr/archives/2721




* 추가 내용)


특정 유저에게만 해당 ssl 에러가 발생한다면 android system webview 버전의 문제일 경우가 높다.


이 경우 안드로이드 7.0 미만 유저에겐 android system webview 의 업데이트를 7.0 이상 유저에겐 구글 앱 업데이트를 권고하면 해결된다.





짤막 팁



검색창에 ref: 경로/스크립트.cs 입력하면 해당 스크립트가 붙어있는 오브젝트만 하이어라키상에 노출된다.


경로와 스크립트는 대소문자 구분하지 않는다.

StorekitBinding class.


- requestProductData 를 구매하기전에 호출해야한다. 

구매할 제품의 정보를 가져오는 것.  


*현재 로그인시 아이템 정보가져올때 호출하게 함.



참고한 블로그 : http://blog.daum.net/code7004/80

'void IOS' 카테고리의 다른 글

구글 플러스 관련 undefine error 발생 시  (0) 2020.07.13

1.변환을 원하는 프로젝트 우클릭 후 Export



2. Generate Gradle build files 선택 후 진행.


플레이어 세팅에 Prepare iOS for recording 체크를 해지하면 된다.


유니티 버전 - 4.7.2

+ Recent posts