Developer (開発用) モードでは、プロダクトに関する実際の費用の発生無しに、IAP をテストすることができます。まず、ISamsungAppsConfiguration
インスタンスを設定し、モードを SamsungAppsMode.AlwaysSucceed
にします。
var builder = ConfigurationBuilder.Instance(StandardPurchasingModule.Instance());
// 購入のための "開発者モード" を有効にします。現実のお金は必要ありません
// SamsungAppsMode には以下があります: Production (開発者モード "off") , AlwaysSucceed, AlwaysFail
builder.Configure<ISamsungAppsConfiguration>().SetMode(SamsungAppsMode.AlwaysSucceed);
ユーザーはトランザクションをリストアし、すでに購入したコンテンツへのアクセスを維持しようとします (例えば、新しい携帯にアップグレードしたときに、古い携帯で購入したものすべてが失われるわけではありません)。Samsung Galaxy App Store ではリストアのために以前のトランザクションは必要ではありません。ただし、例えば、アプリケーションを別のデバイスにインストールした場合に、購入したものをリストアできるボタンをユーザーに提供して、アプリ内のユーザビリティを改善できます。
この処理の間、IStoreListener
の ProcessPurchase
関数がユーザーがすでに所有しているアイテムすべてに対し呼び出されます。以下の例ではそのような呼び出しを表しています。これは、Restore Purchases ボタンから呼び出されます。
/// <summary>
/// OnInitialized の IStoreListener 実装
/// </summary>
public void OnInitialized(IStoreController controller, IExtensionProvider extensions)
{
// ユーザーがすでに所有しているアイテムすべてに対し ProcessPurchase 関数が呼び出されます。
extensions.GetExtension<ISamsungAppsExtensions>().RestoreTransactions(result => {
if (result) {
// 何かが復元されたというわけではありません。
// 単に、復元処理が成功したというだけです。
} else {
// 復元処理が失敗しました。
}
});
}
Samsung Galaxy プラットフォームでは、まだ以前のトランザクションを表示したことがない場合、Samsung Galaxy App Store パスワードが必要な場合があります。