목록2024/11 (6)
Leo
이번엔 Flutter Branch 설정 방법을 간단하게 적어보겠다. Branch Flutter SDK Flutter SDKIntegrate Branch deep linking and attribution in your Flutter-based iOS/Android app.help.branch.io [iOS 설정]1. Branch 설정왼쪽 상단 LIVE TEST mode 선택CONFIGURE > Configuration > GENERAL 선택Store에 App이 등록된 경우 선택 후, 사용자 클릭 event 경로를 설정한다.앱 설치: URI Scheme 지정앱 미설치: App Store 경로 지정 or Custom URI 지정*아직 배포 전인 App은 상단 default URI 경로로 이동한다.Ena..
[Overview]신규 프로젝트에 App Link를 적용해야 하는데, 기존에 사용하던 firebase dynamic link는 곧 종료가 되는 상황이다.대안을 찾던 중 Branch와 Apps Flyer를 찾을 수 있었고, 여러가지를 비교하다 Branch로 결정했다.App Link 선택에 고려했던 사항들.Flutter Library 지원 여부 및 업데이트 지속성사용자 및 사용률 등 분석 기능플랫폼 간 일관성 유지 여부 (iOS, Android)데이터 보안무료 사용 여부 or 유료 이용료 최근 5년간 React Native의 dynamic link / AppFlyer / Branch 사용율 비교 그래프 그리고 ChatGpt 4o의 비교 App Link는 한번 적용하면 다른 서비스로 전환하는 작업이 쉽지 않기..
인앱결제에서 가장 중요하다고 생각하는 영수증 검증입니다.우선, 영수증을 검증하는 방법에는 두 가지가 있습니다.로컬(App) - 디바이스에서 영수증 검증을 하는 방법Server - 서버가 AppStore를 통해 영수증 검증을 하는 방법Service에 적합한 영수증 검증 방식을 선택하시면 됩니다.저희는 서버 사이드를 통한 검증 방식을 사용하기 때문에 로컬 검증 방식에 대한 설명은 생략하겠습니다. 3. Validating receipt a. 결제 완료 후, 서버에게 영수증에 대한 검증 요청을 보낸다. (Frontend) PurchaseStatus.purchased를 통해 수신받은 영수증 정보를 서버에게 전달합니다.(상황에 따라 영수증 전체를 보낼 수도 있고, 아래 코드처럼 id만 전달 할 수 있습니다.)b. ..
2. Requesting purchase - 사용자 가 구입할 상품을 선택했을 때(구매 버튼 클릭), 결제 요청 보내기a. Store에 결제 요청유저가 결제하기 버튼을 누르면, 클라이언트는 `buyConsumable()` 함수를 통해 Store에 결제 요청을 보냅니다.유저를 조금 더 명확하게 식별하기 위해 `applicationUserName` 데이터를 지정해줍니다.지정하지 않으면 나중에 서버에서 거래 내역을 찾거나 유저를 식별할 때, 조금 번거로울 수 있습니다.`parameter` 타입은 `PurchaseParam` 입니다.b. 결제 상태에 대한 알림 수신App Store에서 transaction 업데이트를 수신하고, 이를 핸들링하기 위해 trandsaction listener를 등록합니다.해당 lis..
✔ Apple 기준으로 작성된 글입니다. 변경사항이 있을 수 있으니, 공식문서를 꼭 확인해주세요. 이번에는 조금 자세히 Client와 Server 그리고 Store가 어떻게 동작하는지 살펴보겠습니다. 현재 진행 중인 프로젝트 기준으로 설계되었지만, 서버를 통한 서비스를 제공하는 앱이라면 대부분 비슷하게 구현될 것이라고 생각합니다. Consumable 상품의 내부 프로세스는 아래와 같습니다. 보시다시피 인앱결제 이벤트가 발생하고 종료되는 시점까지 총 13번의 과정으로 이루어져 있습니다.결제 과정이 복잡해 보이지만, 클라이언트에서는 사실 크게 신경 쓸 부분이 없습니다. 결제 라이브러리가 워낙 잘 되어있기도 하고 인앱결제의 핵심인 영수증 검증은 백엔드에서 이루어집니다.(검증 단계에서 클라이언트는 응답 결과에..
Overview대부분 그렇겠지만, '결제'라는 단어가 들어가면 '어렵다'라는 생각이 가장 먼저 드는 것 같습니다.아무래도 돈과 관련되어 있다보니, 실수가 있어선 안된다는 생각 때문에 더욱 그런 것 같습니다.Flutter에서 인앱 결제 구현 내용을 아는 만큼, 이해한 만큼 적어보겠습니다. IAP(in-app-purchase)는 유저가 앱 내의 컨텐츠 및 기능을 구매할 수 있는 서비스입니다.구매 플로우는 크게 3단계로 나눌 수 있습니다. 1. 스토어에 등록된 상품 정보를 받아와 목록 UI를 유저에게 보여줍니다.2. 유저가 상품을 선택하면 스토어에 결제 요청을 보냅니다.3. 결제 후 상품을 유저에게 제공합니다. 크게 보면 3단계이지만, 과정을 자세히 들여다보면 신경써야 할 부분이 많습니다.제공하려는 상품을 각..