Android, 패키지 명으로 외부 앱이 실행되지 않을 때, pname:com ~, 최신 기종에서 카드결제가 되지 않을 때

JooKit 주킷 2023. 5. 26. 12:58
목차 접기
728x90
반응형

 

 

 

 

 

최근에 회사에서 운영하는 플랫폼 앱이 안드로이드 최신 기종에서 다운로드 되지 않는 문제가 발생했었다.

 

 

 

 

 

 

 

그래서 targetSdkVersion을 31로 업데이트해서 다시 배포한 적이 있었다.

 

 

2023.05.11 - [IT 유용한 정보 모음/IT 유용한 정보] - [Android] How to import a project that another person was working on into Android Studio / 안드로이드 스튜디오로 다른 사람이 작업하던 프로젝트 import하는 방법

 

[Android] How to import a project that another person was working on into Android Studio / 안드로이드 스튜디오로 다

회사에서 운영하는 플렛폼은 웹서비스로 제공하고 있고 안드로이드 어플로도 서비스를 제공하고 있다. The platform operated by the company is provided as a web service and also available as an Android application. 운영

harrydony.tistory.com

 

 

 

 

 

 

 

그 때부터일까,, 앱에서 카드 결제가 되지 않는다는 문의가 속출했다.

 

 

 

 

카드 결제를 시도하면 카드사 앱으로 넘어 갔다가 설치가 되어 있는데도 불구하고 카드사 앱이 열리지 않아 결제를 완료하지 못하는 문제가 

계속 발생하고 있었다.

 

 

 

 

개발자이지만 안일하게도 앱을 업데이트 하지 않았거나 단순 기종 문제일 것이라고 판단했던 나는 며칠을 두고 보고 있었다,, 

 

 

 

그러나 문의가 계속 빈번하게 들어오는걸 보고 뭔가 잘못 되었다는 것을 인지했다.

 

 

 

그래서 잘 알지도 못하는 안드로이드 프로젝트를 또 뒤져보고 구글링하기 시작했다.

 

 

 

나이스페이먼츠 개발자 페이지도 들어가보고,.

 

 

 

이것저것 찾아보다가 또, 역시나, 결국 희망을 찾았다.

 

 

 

 

찾아보니 API 30 이상(안드로이드 11)을 타겟할 때 외부 앱을 실행할 때는 Manifest에 queries에

외부 앱 패키지를 직업 추가 해주어야 한다고 한다.

 

 

 

 

 

여기서 말하는 외부 앱 패키지란? 

 

 

 

 

 

 

 

구글 플레이스토어에서 원하는 앱을 검색한 후 url에서 id파라미터 값을 의미한다.

 

 

 

 

 

국민카드 앱을 검색했을 때 나오는 id 값인 

com.kbcard.cxh.appcard

이 값이 KB Pay 앱의 패키지 명 이다.

 

 

 

 

 

 

 

 

 

아래와 같이 이런식으로 써주면 되는 것이였다.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="내패키지명"
    
    ...
    
    <!-- SDKVersion 30 이상은 외부앱 실행 시 권한 추가 필요-->
    <queries>
	<package android:name="com.kbcard.cxh.appcard" /> 
    </queries>
    
    ...
    
    <application 
    		...
            
            				>
                            ...
    </application>

 

 

 

 

 

 

 

 

아래는 나이스페이먼츠 개발자 문서에서 제공한 내용이다.

 

 

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="sample.nicepay.co.kr.nicepayappsample">
	
	<queries>
        <!--신용카드-->
        <package android:name="kr.co.samsungcard.mpocket" />  <!--삼성 앱카드, 삼성 앱카드 공동인증서-->
        <package android:name="com.shcard.smartpay" />  <!--신한 페이판-->
        <package android:name="com.shinhancard.smartshinhan" />  <!--신한(ARS/일반결제/Smart결제), 신한 공동인증서-->
        <package android:name="com.kbcard.cxh.appcard" />  <!--KBPay-->
        <package android:name="com.kbstar.liivbank" />  <!--LiiV(국민은행)-->
        <package android:name="com.kbstar.reboot" />  <!--new liib-->
        <package android:name="kvp.jjy.MispAndroid320" />  <!--페이북/ISP-->
        <package android:name="com.hanaskcard.paycla" />  <!--하나카드 원큐페이-->
        <package android:name="kr.co.hanamembers.hmscustomer" />  <!--하나멤버스-->
        <package android:name="com.lcacApp" />  <!--롯데 앱카드-->
        <package android:name="nh.smart.nhallonepay" />  <!--NH 올원페이, NH 올원페이 공동인증서-->
        <package android:name="com.wooricard.smartapp" />  <!--우리 WON 카드-->
        <package android:name="com.hyundaicard.appcard" />  <!--현대 앱카드-->
        <package android:name="kr.co.citibank.citimobile" />  <!--씨티카드-->

        <!--공인인증-->
        <package android:name="com.hanaskcard.rocomo.potal" />  <!--하나카드-->
        <package android:name="com.lumensoft.touchenappfree" />  <!--공동인증서-->

        <!--백신-->
        <package android:name="com.TouchEn.mVaccine.webs" />  <!--TouchEn mVaccine(신한)-->
        <package android:name="com.ahnlab.v3mobileplus" />  <!--V3(NH, 현대)-->
        <package android:name="kr.co.shiftworks.vguardweb" />  <!--V-Guard(삼성)-->

        <!--간편결제-->
        <package android:name="com.samsung.android.spay" />  <!--삼성페이(삼성, 농협, KB)-->
        <package android:name="com.samsung.android.spaylite" />  <!--삼성페이 미니(삼성, KB)-->
        <package android:name="com.kakao.talk" />  <!--카카오페이-->
        <package android:name="com.nhn.android.search" />  <!--네이버페이-->
        <package android:name="com.ssg.serviceapp.android.egiftcertificate" />  <!--SSGPay(현대)-->
        <package android:name="com.nhnent.payapp" />  <!--페이코(삼성, 농협, KB)-->
        <package android:name="com.lge.lgpay" />  <!--엘지페이(삼성, KB)-->
        <package android:name="com.lottemembers.android" />  <!--LPay-->
		<package android:name="com.tencent.mm" /> <!-- 위챗페이-->
        <package android:name="viva.republica.toss" /> <!-- 토스-->

        <!--계좌이체-->
        <package android:name="com.kftc.bankpay.android" />  <!--금결원-->

        <!--본인인증-->
        <package android:name="com.sktelecom.tauth" />  <!--SKT-->
        <package android:name="com.kt.ktauth" />  <!--KT-->
        <package android:name="com.lguplus.smartotp" />  <!--LGT-->
    </queries>

    <uses-permission android:name="android.permission.INTERNET" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        android:usesCleartextTraffic="true">
        <activity android:name=".MainActivity"
            android:configChanges="orientation"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
            android:name=".WebViewActivity"
            android:label="NicePay Smart"
            android:configChanges="orientation"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
            </intent-filter>
        </activity>

    </application>

</manifest>

queries에 패키지가 다 들어가 있는 코드를 이미 제공하고 있었다. 아무래도 우리 앱이.., 오래..된 것까지는 아니여도,,.  허ㅠㅠ

어렵다 정말. 

 

 

 

 

 

 

 

그래도 희망을 찾았고, 다시 한번 업데이트 배포를 했고. 검토 완료를 기다리고 있는 상황으로 검토 승인 이후에 최신 기종에서 결제가 제대로 되는지 확인 후 후기를 아래에 남기도록 하겠다.


[ 출처 : https://developers.nicepay.co.kr/manual-app.php ]

 

Manual

안드로이드 Kotlin Web-view 연동

developers.nicepay.co.kr

 

[ 출처 : https://to2.kr/eyD ] url이 길어서 줄였습니다.

 

[Android/Kotlin] 패키지 명으로 외부 앱 실행 안됨 해결 / 안드로이드 11 이상 타켓 시 Manifest 추가

[Android/Kotlin] 패키지 명으로 외부 앱 실행 안됨 해결 / 안드로이드 11 이상 타켓 시 Manifest 추가 📌 기기 설치된 패키지명 확인 먼저 기기에 설치되어있는지 확인 후 설치되어있으면 앱 실행. 안되

velog.io

 

728x90
반응형
LIST