인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

안상후님의 프로필 이미지

작성한 질문수

[Unity] 함께 만들어가는 방치형 게임 개발

인앱 결제 구현 #2

인앱구현 문의드립니다.

해결된 질문

작성

·

28

0

UnityPurchasing.Initialize(this, builder);

초기화 코드에 위 코드는 사용되지 않는 코드라고합니다. 유니티 6입니다.

Unity IAP: Unity In-App Purchasing requires Unity Gaming Services to have been initialized before use.

- Find out how to initialize Unity Gaming Services by following the documentation https://docs.unity.com/ugs-overview/services-core-api.html#InitializationExample

or download the 06 Initialize Gaming Services sample from Package Manager > In-App Purchasing > Samples.

- If you are using the codeless API, you may want to enable the enable Unity Gaming Services automatic initialization by checking the Automatically initialize Unity Gaming Services checkbox at the bottom of the IAP Catalog window

UnityEngine.Purchasing.UnityPurchasing:Initialize (UnityEngine.Purchasing.IStoreListener,UnityEngine.Purchasing.ConfigurationBuilder)

cIAPManager:InitUnityIAP () (at Assets/2.Scripts/8.ShopManager/cIAPManager.cs:53)

cIAPManager:Awake () (at Assets/2.Scripts/8.ShopManager/cIAPManager.cs:13)



이런 오류가 발생하는데 경고문이긴한데 무시해도 괜찮을까요?? 수정해야한다면 어떻게 수정해야하나요??

답변 2

0

Pinous님의 프로필 이미지
Pinous
지식공유자

안녕하세요! Unity 6부터는 Unity IAP를 사용하기 전에 Unity Gaming Services(UGS) 초기화가 선행되어야 합니다.

아래와 같이 UnityServices.InitializeAsync()를 먼저 호출한 뒤에 IAP 초기화를 진행해 주세요.

다만 해당 문구가 없어도 IAP내용이 정상적으로 진행이 된다면 굳이 추가하실 필요는 없을 수 있으니 참고 부탁드리겠습니다 🙂

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 안상후님.

Unity에서 인앱 결제를 구현할 때 발생하는 문제와 관련된 내용을 확인해 보았습니다. 해당 오류 메시지는 Unity In-App Purchasing(IAP)을 초기화하기 전에 Unity Gaming Services가 초기화되지 않았음을 나타냅니다. 이는 주요 경고 사항이며, 무시 경우 앱이 예상대로 동작하지 않을 수 있습니다. 다음은 문제를 해결하는 방법에 대한 권장 사항입니다.

문제 발생 원인

  • Unity IAP는 Unity Gaming Services에 의존하게 되었으며, 이를 사용할 때 반드시 관련 서비스가 초기화되어 있어야 합니다.
  • 기존의 초기화 방법은 더 이상 사용되지 않거나, 업데이트가 필요할 수 있습니다.

해결 방법

  1. Unity Gaming Services 초기화:

    • 고유의 API를 통해 Unity Gaming Services를 명시적으로 초기화해야 합니다.
    • Unity의 공식 문서나 제공된 샘플 코드를 참조하여 초기화하는 방법을 구현해야 합니다.
  2. 샘플 코드 사용하기:

    • 제공된 샘플 코드를 확인하여 Unity Gaming Services를 올바르게 초기화하는 방법을 익힙니다.
    • 패키지 관리자에서 In-App Purchasing > Samples에서 06 Initialize Gaming Services 샘플을 다운로드하여 참고하세요.
  3. 자동 초기화 옵션:

    • IAP Catalog 창 아래에 있는 Automatically initialize Unity Gaming Services 옵션을 활성화하여 자동으로 초기화되도록 설정할 수 있습니다.
    • Codeless API를 사용하는 경우 더욱 유용할 수 있습니다.

추가 자료

위의 방법을 통해 문제를 해결할 수 있으리라 예상됩니다. 이런 경우 경고를 무시하는 대신 발생하는 원인을 이해하고 필요한 초기화 과정을 수행하는 것이 장기적으로 안정적인 앱 개발에 도움이 됩니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.