Unity Tip

안드로이드 http 프로토콜 접속 시 예외발생 조치 (ERR CLEARTEXT NOT PERMITTED)

dnrkckzk 2019. 7. 18. 07:52

1. AndroidManifest.xml 파일의 <application> 부분에 android:usesCleartextTraffic="true" 로 설정

cleartext HTTP와 같은 cleartext 네트워크 트래픽을 사용할지 여부를 나타내는 flag로 이 플래그가 flase 로 되어 있으면, 플랫폼 구성 요소 (예 : HTTP 및 FTP 스택, DownloadManager, MediaPlayer)는 일반 텍스트 트래픽 사용에 대한 앱의 요청을 거부하게 됩니다.

이 flag를 설정하게 되면 모든 cleartext 트래픽은 허용처리가 됩니다.

  <application
     android:usesCleartextTraffic="true">

이렇게ㅇㅇ

 

2. networkSecurityConfig 파일을 생성하고, AndroidManifest 에 등록

 

res/xml/network_security_config.xml 아래와 같이 추가합니다.

<domain includeSubdomains="true">ebookfrenzy.com</domain> 등록된 도메인은 https 가 아니어도 허용이 됩니다.

 

<?xml version="1.0" encoding="utf-8"?>

<network-security-config>

    <domain-config cleartextTrafficPermitted="true">

        <domain includeSubdomains="true">ebookfrenzy.com</domain>

    </domain-config>

</network-security-config>

 

그리고, 아래와 같이 추가할 경우는 secure.example.com 도메인만 항상 HTTPS를 통해서만 수행하게 됩니다.

 

<?xml version="1.0" encoding="utf-8"?>

<network-security-config>

    <domain-config cleartextTrafficPermitted="false">

        <domain includeSubdomains="true">secure.example.com</domain>

    </domain-config>

</network-security-config>

 

 

그 다음에 AndroidManifest.xml 파일의 <application> 부분에 networkSecurityConfig속성 추가

<application 

android:networkSecurityConfig="@xml/network_security_config" 

~~~ >

</application>

 

출처 : https://developside.tistory.com/85