ノート: Samsung Galaxy ストアは現在廃止されており、Unity In-App Purchasing パッケージ 4.0.0 以降ではサポートされていません。この Samsung Galaxy ストア設定ガイドは、IAP パッケージのバージョン 3.1.0 以前にのみ適用されます。Unity IAP パッケージ 4.0.0 以降を使用し、Samsung Galaxy ストアを実装したい場合は、代わりに Unity Distribution Platform を使用してください。
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 パスワードが必要な場合があります。