기술 자료

Unity Engine

Unity Engine

초기화

Initialize Unity In-App Purchasing by supplying a store listener and configuration.
읽는 시간 1분최근 업데이트: 한 달 전

Unity IAP가 애플리케이션에 구매 관련 이벤트에 대해 알리기 위해 사용하는
IStoreListener
인터페이스를 구현해야 합니다.
UnityPurchasing.Initialize
메서드를 호출하여 초기화 프로세스를 시작해 리스너 구현 및 설정을 제공합니다.
네트워크를 사용할 수 없는 경우 초기화에 실패하지 않습니다. Unity IAP는 백그라운드에서 계속 초기화를 시도합니다. 초기화는 Unity IAP에서 설정이 잘못되었거나 기기 설정에서 IAP가 비활성화되는 등의 복구할 수 없는 문제가 발생한 경우에만 실패합니다.
따라서 Unity IAP를 초기화하는 데는 일정하지 않은 시간이 소요될 수 있으며 비행기 모드일 경우 무한히 초기화가 무한히 지연될 수 있습니다. 초기화가 성공적으로 완료되지 않은 경우 사용자가 구매를 시도하지 않도록 스토어를 디자인해야 합니다.
using UnityEngine;using UnityEngine.Purchasing;public class MyIAPManager : IStoreListener { private IStoreController controller; private IExtensionProvider extensions; public MyIAPManager () { var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance()); builder.AddProduct("100_gold_coins", ProductType.Consumable, new IDs { {"100_gold_coins_google", GooglePlay.Name}, {"100_gold_coins_mac", MacAppStore.Name} }); UnityPurchasing.Initialize (this, builder); } /// <summary> /// Called when Unity IAP is ready to make purchases. /// </summary> public void OnInitialized (IStoreController controller, IExtensionProvider extensions) { this.controller = controller; this.extensions = extensions; } /// <summary> /// Called when Unity IAP encounters an unrecoverable initialization error. /// /// Note that this will not be called if Internet is unavailable; Unity IAP /// will attempt initialization until it becomes available. /// </summary> public void OnInitializeFailed (InitializationFailureReason error) { } /// <summary> /// Called when a purchase completes. /// /// May be called at any time after OnInitialized(). /// </summary> public PurchaseProcessingResult ProcessPurchase (PurchaseEventArgs e) { return PurchaseProcessingResult.Complete; } /// <summary> /// Called when a purchase fails. /// </summary> public void OnPurchaseFailed (Product i, PurchaseFailureReason p) { }}