게임에서 "비활성화 광고"구매를 어떻게 구현할 수 있습니까?


18

한 번의 지불로 광고를 제거 할 수 있도록 게임에 "광고 없음"서비스를 추가하고 싶습니다. 이것을 올바르게 구현하려면 어떻게해야합니까?

서비스가 장치에서 로컬로 지불되었다는 사실을 저장하면 사용자가 응용 프로그램의 데이터를 지우면 다시 지불해야합니다.


1
질문의 두 번째 부분이 너무 광범위합니다 (Byte가 이미 편집 한 것을 볼 수 있습니다). 질문의 첫 부분은 불분명합니다. 이것이 도덕적으로 윤리적으로 괜찮은지 묻고 있습니까? 또는 장치에서 서비스 비용이 지불되었다는 사실을 저장하는 방법 을 묻고 있습니까?

1
지금은 질문을 해석 할 수있는 유일한 원격 주제 인 방법이기 때문에 방법을 묻고 있다고 가정하겠습니다.

답변:


29

Google Play의 인앱 구매 API 를 사용하여 '비활성화 된 광고'구매를 구현하는 경우 기본적으로 처리됩니다. 사용자가 구입할 수있는 소모품아닌 제품 을 만들고 싶을 것 입니다. 비 소모품은 본질적으로 영구적 인 이익 또는 잠금 해제를 나타냅니다. 이러한 구매는 사용자가 초기화 / 청소 / 새 전화로 복원 할 수 있으므로 광고 비활성화를 다시 구매할 필요가 없습니다.

이 페이지 에는 게임과 IAP API 통합에 대한 자세한 지침 포함되어 있습니다. 단계는 기본적으로 다음과 같습니다.

  • 라이브러리를 프로젝트에 추가하고 매니페스트 파일을 업데이트하십시오.
  • IInAppBillingService서비스 연결 을 통해 바인딩 합니다.
  • 해당 인터페이스를 통해 서비스에 적절한 데이터를 보내고받습니다 ( getSkuDetails사용 가능한 제품 목록을 얻 getBuyIntent거나 구매 트랜잭션을 시작하는 등).

또한을 통해 getPurchases사용자가 '광고 사용 중지'항목을 구매했는지 (그리고 실제로는 광고를 사용 중지했는지) 테스트해야합니다 .

Google Play 개발자 콘솔에서 실제 '광고 사용 중지'구매 가능 항목을 만듭니다.


Google은 앱에 "소모품"IAP가 있는지 여부를 미리 알고 있습니까? 그들은 실제로 매장에서 그 사실을 밝혀야합니다. "인앱 구매가 있음"은 무엇이든 의미 할 수 있습니다.
Random832

3
아니요, 그렇게 생각하지 않습니다. 제품이 구독인지 여부 만 알 수 있습니다. 당신의 "consumePurchase"요청을 보낼 수 있는 이 소모품입니다 제품 자체 아니다, 비 가입 제품. 이론적으로 그들은 바이너리를 스캔하고 해당 인터페이스에 대한 호출을 찾을 수는 있지만 귀찮게 의심합니다.

1
IAP와 API가 서로의 유사점이라는 것은 우연의 일치가 아닙니다.
ArtOfCode

IAP API를 발음하려고 할 때 내 자신의 혀를
비틀다

10

Josh의 답변에서와 같이 Google Play 도구를 사용하지 않는 경우에도 해당 도구를 사용하는 것이 좋습니다. 이 정보를 직접 관리해야합니다.

사용자 기기에 로컬로 무언가를 저장하지 않으려 고합니다. 사용자는 기기 또는 설치마다 광고를 제거하기 위해 비용을 지불하지 않아도됩니다.

지불 한 사용자와 데이터베이스를 유지 관리해야합니다. 시작시 (다른 장치에서 광고 제거를 구매할 때마다) 응용 프로그램은 데이터베이스를 확인하고 사용자 계정이 발견되면 해당 설치에 대해 광고를 영구적으로 비활성화합니다. 사용자 계정 정보는 사용자에게 고유해야하며, 이상적으로는 광고 제거를 구매할 때 사용한 Google 계정이어야합니다.

사용자가 광고 제거를 구매하면 계정 정보를 데이터베이스에 추가하고 광고를 비활성화합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.