1

** 여러 기기에서 내 앱을 사용하는 ** 사용자에게 ** 허용하고 싶습니다 **. 사용자는 firebase auth를 통해 내 앱에 로그인해야합니다.Android 결제 setAccountId를 사용하거나 맞춤 식별자로 결제 방법을 지정하는 방법

기기에 로그인 한 계정 (Google Play)에 계정에 대금을 지불하면 문제가 발생합니다. ** firebase 인증에서 내 앱 사용자의 이메일 주소를 얻을 수 있습니다. - 이것은 고유 한 식별자로 사용될 수 있습니다.

문제 시각화 :

Problem visualized

내가 결제 흐름에 .setAccountId ("신분증") 내가이의 고유 식별자를 입력하려면이 옵션을 사용할 수 생각이 있음을 발견 사용자. 그러나 구매를 쿼리하는 데 어떻게 그것을 사용할 수 있습니까?

BillingFlowParams.Builder builder = new BillingFlowParams.Builder() 
       .setAccountId("some id") 
       .setSku(PREMIUM_YEAR_SUBS).setType(BillingClient.SkuType.SUBS); 

TLDR : 내가 원하는 모든 내 APP 사용자 계정에 연결되어 구매, 하지 장치 계정 (구글은 현재 로그인 한 사용자 PLAY)를 검색하는 것입니다.

답변

1

accountId을 사용하여 결제를 구현하려면 getBuyIntent() 방법과 비교하여 추가 기능을 제공하는 getBuyIntentExtraParams() 방법을 사용해보십시오. 이 방법

, 다음과 같은 설명과 함께 accountId을 사용할 수 있습니다 : 고유 앱에서 사용자의 계정과 연결된

옵션 난독 문자열입니다. 이 값을 전달하면 Google Play에서이를 사용하여 짧은 시간 내에 동일한 계정으로 많은 기기를 구매하는 등의 불규칙한 활동을 감지 할 수 있습니다.

또한 인앱 결제 API 인 here으로 일반적인 구매 흐름을 확인할 수도 있습니다.