개발자 모드를 사용하여 실제 제품 구매 비용을 발생시키지 않고도 IAP 테스트를 진행할 수 있습니다. 이 모드를 시작하려면 ISamsungAppsConfiguration
인스턴스를 사용하는 설정을 생성한 후, SamsungAppsMode.AlwaysSucceed
모드로 설정해야 합니다.
var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
// Enable "developer mode" for purchases, not requiring real-world money
// SamsungAppsMode has: Production (developer mode "off"), AlwaysSucceed, AlwaysFail
builder.Configure<ISamsungAppsConfiguration>().SetMode(SamsungAppsMode.AlwaysSucceed);
사용자는 이미 구매한 콘텐츠에 대한 액세스를 유지하기 위해 거래를 복원합니다. 예를 들어, 기기 변경을 하더라도 사용하던 기기에서 구매한 아이템이 손실되지 않습니다. Samsung Galaxy 앱 스토어에서는 이전 거래를 복원할 필요가 없습니다. 하지만 구매를 복원할 수 있는 버튼을 제공하면 앱을 다른 장치에 설치하게 되는 경우, 다시 복원하면서 사용자에게 편리한 사용을 제공합니다.
이 동안 IStoreListener
의 ProcessPurchase
함수가 사용자가 이미 소유하고 있는 각 아이템에 대해 호출됩니다. 아래는 그러한 호출의 예시이며, Restore Purchases 버튼을 누르면 호출되는 방식입니다.
/// <summary>
/// Your IStoreListener implementation of OnInitialized.
/// </summary>
public void OnInitialized(IStoreController controller, IExtensionProvider extensions)
{
// The ProcessPurchase function is invoked for any items the user already owns
extensions.GetExtension<ISamsungAppsExtensions>().RestoreTransactions(result => {
if (result) {
// This does not mean anything has been restored,
// just that the restoration process succeeded.
} else {
// Restoration failed.
}
});
}
Samsung Galaxy 플랫폼에서는 이전 거래를 검색해서 가져오려면 사용자가 Samsung Galaxy 스토어 비밀번호를 입력해야 할 수도 있습니다.