버킷 url을 등록하려고 하는데요....

문의를 남기실 경우 다음 항목을 작성해 주시면 빠른 답변 처리에 도움이 됩니다.

  • 프로젝트명 : Tetris
  • 뒤끝SDK 버전 :
  • 에러 코드 : 없음

버킷 url을 등록하고 싶습니다. 그래서 인앱구매를 통해 1000원 가량의 결제를 하려고 하는데 계속 테스트 결제만 됩니다 ㅠㅠ 현재 앱 테스트를 위해 앱을 apk로 다운받아 사용하고 있고, 테스트 결제가 활성화된 계정이 아닌 다른 계정으로 하면 계속 "요청하신 항목은 구매할 수 없습니다."라는 오류가 나옵니다… 어떻게 해야나요…?

안녕하세요 개발자님

실제 결제를 원하시는 경우에는 아래와 같은 방법으로 테스트 하실 수 있습니다.

  1. 앱의 출시를 알파 테스트 또는 베타 테스트로 업로드
  2. 해당 트랙에 테스트 계정을 등록.(라이센스 테스터는 등록하지 않습니다.)
  3. 모바일 출시 후 발생하는 URL을 통해 링크로 들어가 앱을 다운로드

베타 테스트/알파 테스트는 내부 테스트 또는 비공개 테스트 같은 테스트를 말하는건가요?

베타/알파 테스트는 공개 테스트 또는 비공개 테스트입니다.
내부 테스트로 할 시에는 라이센스 테스터로만 가능하다는 정보글이 있어 비공개 테스트에 업로드하여 테스트하는 것을 추천드립니다.

아 그렇군요 감사합니다!

비공개 테스트를 활성화 시키니 "검토중"이라고 뜨는데 검토 완료 후 스토어에서 다운받아서 결제하면 되는건가요?

네 검토가 완료될때까지 기다리신 후 진행하시면 되겠습니다.

아 감사합니다!! :grinning: :grinning:

계속 질문드려서 정말 죄송합니다 ㅠㅠ 그런데 딱 한가지만 더 여쭤볼 수 있을까요…?

인앱결제로 광고제거,캐릭터 구매같은 1번만 구매할 수 있는 상품을 만드려고 하는데 그런 상품은 어떻게 만들어야 하나요?

구글 플레이 인앱 상품중에 소모성 제품과 비소모성 제품중 비소모성 제품을 생성하시면 됩니다.

해당 상품을 구입한 후, bool값등을 이용하여 구매했다는 DB를 저장하고 이후 로그인했을 때 해당 DB를 불러와서 상품의 구입유무를 적용시키는 로직을 사용하면 될 것 같습니다.

아 감사합니다! 현재 그건 잘 해결 되었습니다. 그런데 앱을 비공개 테스트로 하고 게임을 실행시키니 구매 버튼이 일반 버튼으로 바뀌어 아무 반응도 없습니다 ㅠㅠ apk로 테스트 했을때는 잘 되었는데… 무엇이 문제일까요?
정말 죄송합니다…ㅠㅠ

버튼에 대해서는 오브젝트의 스크립트와 연결한 버튼이 정상적으로 연결되어있는지 혹은 버튼은 눌러지고 안에 있는 함수까지 호출이 되는지 확인해야할 것 같습니다.

또한 기존에 빌드 후 테스트하셨다면 마켓에서 앱을 업로드하고 다운받아 테스트하실 경우, 구글 해시가 달라 뒤끝 함수 호출시에 bad googlehash가 발생할 수 있습니다. 만약 해시가 하나만 입력되어있을 경우 아래 개발자문서의 앱 서명 인증서를 통해 추가로 구글 해시를 기입해주시면 됩니다.

만약 유니티 인앱 결제 전에 뒤끝 함수 호출이 있다면 뒤끝 함수 호출 실패로 인해 이후 로직이 작동하지 않을 수 있으니 한번 확인해주시기 바랍니다.

아 그리고 현재 인앱 결제 기능은 뒤끝과 연동되어있지 않은 상태입니다.


위와 같이 APK테스트 에서는 되지만, 실제 스토어에서 받은 버전(비공개 테스트)은 안됩니다.
이와 관련하여 구글 개발자 콘솔이나 뒤끝 서버에서 따로 설정해야 하는것이 있나요?

유니티 IAP 관련해서는 뒤끝에서 제공중인 기술이 아니라 정확한 답변은 드리기 어렵습니다만,
APK 테스트와 스토어 테스트간에 구글,뒤끝 콘솔단에서 새로 추가해야할 부분은 따로 없는 것으로 확인됩니다.

유니티 UI에서 설정한 IAP 아이템을 읽어올 수 없다면, 코드를 통해 수동으로 아이템을 설정하여 IAP를 진행하는 것을 추천드립니다.

using UnityEngine.Purchasing;

public void StartPurchase()
{

string productId = "아이템ID";

var module = StandardPurchasingModule.Instance();

ConfigurationBuilder builder = ConfigurationBuilder.Instance(module);
builder.AddProduct(productId, ProductType.Consumable); //, new IDs {{ removeAds, GooglePlay.Name }});
UnityPurchasing.Initialize(this, builder);

Product p = storeController.products.WithID(productId);
Debug.Log(productId);
Debug.Log(p.definition.id);
storeController.InitiatePurchase(p);

}