이번에 소개팅 앱을 개발하면서 인앱결제 기능과 휴대폰 인증과 무료 핸드폰 인증 서비스인 옥토모를 이용하게 되었습니다.
(옥토모 서비스는 글의 마지막에 작성해 두었으니 관심 있으신 분들은 참고하시길 바래요)
유저의 핸드폰 문자 메시지를 전송을 이용한 핸드폰 인증 방법이기 때문에
"android.permission.RECEIVE_SMS" 권한이나 "android.permission.SEND_SMS" 권한을 사용하려고 했습니다.
그러던 중에 갑자기 android.permission.QUERY_ALL_PACKAGES 오류가 발생하지 뭡니까?
이게 gradle 버전, key properties, 이런 저런 packages 들을 섞어 쓰다보니 어떤게 원인인지 정확히 파악하지는 못했지만 해결방법을 알아내고 넘어갔더랬죠.
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" tools:node="remove" tools:ignore="QueryAllPackagesPermission" />
다른 포스팅에 적을 내용이긴 한데..
사실 위와 같은 에러가 발생한 이유는 문자 메시지로 외부 앱 전환이 안되서였습니다.
삼성폰에서 "sms:12341234?body=octoverse"와 같은 스키마를 이용해서 문자앱을 외부 앱으로 전환하고자 했는데,
어느 순간 앱 내부에서만 동작하더라고요. (아무래도 OS 정책의 변경으로 인한 이슈이지 않을까 생각했습니다.)
그래서 사용하고 있던 url_launcher를 버리고 메소드채널을 이용하는 다른 library를 이용해서 구현했습니다.
번외로, 잘 사용하고 있던 <uses-permission android:name="android.permission.RECEIVE_SMS"/> 권한에서도 Permission exists without corresponding hardware <uses-feature android:name="android.hardware.telephony" required="false"> tag 이런 에러가 발생했는데 간단히 아래의 해결방법으로 처리했습니다.
<manifest . . .>
<!-- 해결방법 -->
<uses-feature android:name="android.hardware.telephony" android:required="false" tools:targetApi="eclair"/>
. . .
<application . . .
서두에서 잠깐 언급했던 옥토모 인증서비스에 대해 간략히 설명드립니다.
(휴대폰 인증을 사용하고계시는 혹은 사용하시려는, 스타트업 대표님이나 서비스 개발자 분들께서는 한번 확인해보시면 좋을것 같네요.)
기존의 휴대폰 인증으로 인해 건별로 발생되는 인증 문자 발신 비용을 무료로 사용할 수 있는 서비스 입니다.
건당 몇원 안한다고 하지만 신생 스타트업이나 1인 개발자 분들께는 부담되는 금액이 될수 있잖아요?
SMS를 이용한 휴대폰 인증은 아래의 스크린샷과 같이 우리은행의 휴대폰인증이나 하나Pay의 휴대폰 기반 본인인증과 같이 최근 다양한 서비스에서 사용하고 있는 방식이라 많이들 아실거라 생각됩니다.
그럼 옥토모를 사용했을때 좋아지는 부분에 대해 AS-IS & TO-BE로 설명을 마치겠습니다.
AS-IS
TO-BE
'Development > Flutter' 카테고리의 다른 글
[Tips] 숫자 텍스트의 width 값이 다른경우 맞춰주기 (0) | 2024.08.13 |
---|---|
[Tips] 앱 계정 삭제 요구사항 적용하기 (0) | 2024.01.17 |
[해결방안] 보기 싫은 log 처리하기, E/FrameEvents(18357): updateAcquireFence: Did not find frame. (0) | 2023.12.22 |
[Flutter] PopupDialog에서 Get.back()을 두번 호출해야하는 경우 (0) | 2023.12.21 |
[Flutter] 플러터 앱 아이콘 변경하기 (0) | 2023.12.20 |