앱 - 인앱결제 호출 > 영수증 검증 - 결제데이터 저장
패키지명 설정시 new와 같은 java 키워드 또는 숫자로 시작하는 이름은 패키지명으로 사용불가능하다. (플레이스토어에 등록이 안된다) 대신 언더바는 가능하다
아래 공식 문서를 참고했다
https://flutter-ko.dev/docs/deployment/android#keystore-%EB%A7%8C%EB%93%A4%EA%B8%B0
keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
keytool -genkey -v -keystore 경로/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
* 경로 찾는법
flutter doctor -v
명령어를 실행하여 ‘Java binary at: 경로’
를 찾는다
해당경로에서 java를 포함하고 있는 디렉토리 즉 jre/bin/java
로 끝나면 jre/bin
까지로 경로를 작성해준다
키 저장소 비밀번호 입력:
새 비밀번호 다시 입력:
이름과 성을 입력하십시오.
[Unknown]: name
조직 단위 이름을 입력하십시오.
[Unknown]: none
조직 이름을 입력하십시오.
[Unknown]: none
구/군/시 이름을 입력하십시오?
[Unknown]: Seoul
시/도 이름을 입력하십시오.
[Unknown]: Seoul
이 조직의 두 자리 국가 코드를 입력하십시오.
[Unknown]: KR
CN=name, OU=none, O=none, L=Seoul, ST=Seoul, C=KR이(가) 맞습니까?
[아니오]: y
android/key.properties
파일을 생성한다
storePassword=2번에서 입력한 비밀번호
keyPassword=2번에서 입력한 비밀번호
keyAlias=key
storeFile=파일위치
파일위치에 공백이 있을경우 C:/Program\ Files/
와같이 역슬래시 후 공백을 넣어주면 된다
android/app/build.gradle
파일 수정
// android 블럭 위에 추가
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
android {
...
// 해당블럭 삭제
// buildTypes {
// release {
// // TODO: release 빌드 버전을 위한 서명 구성을 추가하세요.
// // 현재는 `flutter run --release`가 디버그용 키로 서명되어 동작합니다.
// signingConfig signingConfigs.debug
// }
// }
// 아래 signingConfigs, buildTypes 블럭으로 수정
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
flutter build appbundle
명령어로 앱을 빌드할 수 있다
오류 없이 빌드되었다면 아래 경로에서 abb 파일을 얻을 수 있다
build\app\outputs\bundle\release\app-release.aab
참고한 사이트
https://actumn.tistory.com/101
https://0urtrees.tistory.com/59
위 두가지 단계를 성공했다면 apple store connect 해당 앱 TestFlight에 해당 버전이 올라와 있을 것이다.
수출규정문서를 작성해주고 테스트 그룹을 등록해주면 TestFlight에서 앱을 테스트해볼 수 있다.
꼭 유료앱 계약 상태가 "활성" 인지 체크 후 인앱결제 테스트 진행
만약 유료앱 계약이 안되어있으면 앱 코드가 정상적이여도 인앱결제 상품이 불러와지지 않는다.
App Store Connect > 계약, 세금 및 금융거래 페이지에 무료앱과 유료앱 두가지 계약이 있다
인앱결제를 사용하려면 유료앱 계약을 활성화 하여야 한다.
처음 입력정보를 입력하고 나중에 세금처리 까지 입력하고 나면 진행상태가 활성
으로 바뀐다 만약 사용자 정보 대기중
또는 다른 상태이면 다음 단계로 넘어갈 수 있도록 추가 정보를 넣어줘야한다.