「Unity/課金/復元」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「==googleとappleの復元機能== <pre> public class IAPDemo : IStoreListener { private IStoreController m_Controller; private IAppleExtensions m_AppleExtensions...」) |
(→googleとappleの復元機能) |
||
行4: | 行4: | ||
{ | { | ||
private IStoreController m_Controller; | private IStoreController m_Controller; | ||
− | + | private bool m_IsGooglePlayStoreSelected; | |
private IAppleExtensions m_AppleExtensions; | private IAppleExtensions m_AppleExtensions; | ||
private IGooglePlayStoreExtensions m_GooglePlayStoreExtensions; | private IGooglePlayStoreExtensions m_GooglePlayStoreExtensions; | ||
行10: | 行10: | ||
public void Init() | public void Init() | ||
{ | { | ||
+ | var module = StandardPurchasingModule.Instance(); | ||
m_IsGooglePlayStoreSelected = | m_IsGooglePlayStoreSelected = | ||
Application.platform == RuntimePlatform.Android && module.appStore == AppStore.GooglePlay; | Application.platform == RuntimePlatform.Android && module.appStore == AppStore.GooglePlay; | ||
} | } | ||
+ | /// <summary> | ||
+ | /// This will be called when Unity IAP has finished initialising. | ||
+ | /// </summary> | ||
+ | public void OnInitialized(IStoreController controller, IExtensionProvider extensions) | ||
+ | { | ||
+ | m_Controller = controller; | ||
+ | m_AppleExtensions = extensions.GetExtension<IAppleExtensions>(); | ||
+ | m_GooglePlayStoreExtensions = extensions.GetExtension<IGooglePlayStoreExtensions>(); | ||
+ | } | ||
public void RestoreButtonClick() | public void RestoreButtonClick() | ||
{ | { | ||
行24: | 行34: | ||
m_AppleExtensions.RestoreTransactions(OnTransactionsRestored); | m_AppleExtensions.RestoreTransactions(OnTransactionsRestored); | ||
} | } | ||
+ | } | ||
+ | /// <summary> | ||
+ | /// This will be called after a call to IAppleExtensions.RestoreTransactions(). | ||
+ | /// </summary> | ||
+ | private void OnTransactionsRestored(bool success) | ||
+ | { | ||
+ | Debug.Log("Transactions restored." + success); | ||
} | } | ||
</pre> | </pre> | ||
公式のIAPDemo.csから抜粋 | 公式のIAPDemo.csから抜粋 |
2020年7月20日 (月) 05:14時点における最新版
googleとappleの復元機能
public class IAPDemo : IStoreListener { private IStoreController m_Controller; private bool m_IsGooglePlayStoreSelected; private IAppleExtensions m_AppleExtensions; private IGooglePlayStoreExtensions m_GooglePlayStoreExtensions; public void Init() { var module = StandardPurchasingModule.Instance(); m_IsGooglePlayStoreSelected = Application.platform == RuntimePlatform.Android && module.appStore == AppStore.GooglePlay; } /// <summary> /// This will be called when Unity IAP has finished initialising. /// </summary> public void OnInitialized(IStoreController controller, IExtensionProvider extensions) { m_Controller = controller; m_AppleExtensions = extensions.GetExtension<IAppleExtensions>(); m_GooglePlayStoreExtensions = extensions.GetExtension<IGooglePlayStoreExtensions>(); } public void RestoreButtonClick() { if (m_IsGooglePlayStoreSelected) { m_GooglePlayStoreExtensions.RestoreTransactions(OnTransactionsRestored); } else { m_AppleExtensions.RestoreTransactions(OnTransactionsRestored); } } /// <summary> /// This will be called after a call to IAppleExtensions.RestoreTransactions(). /// </summary> private void OnTransactionsRestored(bool success) { Debug.Log("Transactions restored." + success); }
公式のIAPDemo.csから抜粋