Android 에이전트 FAQ
Q. 난독화로 인해 오류가 발생해요.
A. 앱 배포 시 코드 축소, 난독화, 최적화
를 하는 경우, NetFUNNEL Android 에이전트는 제외되어야 합니다.
이를 위해 proguard-rules.pro 프로가드 규칙 파일에 아래 내용을 포함시켜 난독화에서 제외시킬 수 있습니다.
# NetFUNNEL Android 에이전트의 주요 패키지 및 클래스 보호
-keep class com.nf4.** { *; }
# NetFUNNEL Android 에이전트 내부에서 사용하는 리플렉션 관련 클래스 및 멤버 유지
-keepclassmembers class com.nf4.** { *; }
Q. 디버깅용 로그 메시지를 확인하고 싶어요.
A. 디버깅을 위해 NetFUNNEL Android 에이전트에서 발생하는 로그 메시지를 확인하는 방법은 다음과 같습니다:
-
초기화 함수의
printLog=true설정 -
Android Studio > Logcat >
package:mine NetFUNNEL확인
빌드 환경별 NetFUNNEL Android 에이전트 로그 사용 가이드
디버깅 시에는 printLog 값을 true로 사용하길 권장하나, 앱 배포 시 false 사용을 권장합니다.
Q. 콜백 함수에서 UI 업데이트하고 싶어요.
A. 콜백 함수 사용 중 UI 업데이트가 필요할 때에는 주의가 필요합니다.
비동기로 동작하는 NetFUNNEL 콜백 함수 내에서 Toast 등의 UI 요소를 직접 호출하면
java.lang.NullPointerException 오류가 발생할 수 있습니다.
따라서, 넷퍼넷 콜백 함수를 사용할 때에는 Activity.runOnUiThread(Runnable)
메소드를 사용하여 UI를 업데이트를 비동기 스레드에서 메인 스레드로 전환하여 사용해야 합니다.
예를 들어, 아래와 같은 방식으로 모든 UI 관련 작업을 메인 스레드에서 안전하게 실행할 수 있습니다.
activity.runOnUiThread {
Toast.makeText(activity, "성공적으로 진입하였습니다.", Toast.LENGTH_SHORT).show()
}
Q. HTTP 통신 시 오류가 발생해요.
A. NetFUNNEL Android 에이전트는 기본적으로 HTTPS 통신을 권장하며, HTTP 통신을 사용할 경우 Android 보안 정책에 따라 오류가 발생합니다.
그러나 network_security_config.xml 설정 파일 생성을 통해 HTTP 통신을 허용할 수 있습니다.
res/xml/network_security_config.xml파일 생성
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">{{DOMAIN_URL}}</domain>
</domain-config>
</network-security-config>
AndroidManifest.xml설정 확인
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<application
android:networkSecurityConfig="@xml/network_security_config"
... >
</manifest>
Q. 에이전트 버전을 확인하고 싶어요.
A. 에이전트의 버전을 확인하기 위해 getVersion() 함수를 사용할 수 있습니다.
| 함수명 | 파라미터 | 반환 값 | 설명 |
|---|---|---|---|
| getVersion | N/A | String | NetFUNNEL 에이전트의 버전을 반환(확인)하는 함수 |