/** * Request permission from the user to show local notifications * * @param onPermissionGrantedCallback executed when the permission is granted * @param onPermissionRefusedCallback executed when the permission is refused */ public static void RequestLocalNotificationPermission(Action onPermissionGrantedCallback, Action onPermissionRefusedCallback) { if (GameObject.Find(FGLEnhance_Callbacks.CallbackObjectName) == null) { string newName = "__FGLEnhance_Callback_" + UnityEngine.Random.Range(0, int.MaxValue); GameObject callbackObject = new GameObject(newName); callbackObject.AddComponent <FGLEnhance_Callbacks>(); } FGLEnhance_Callbacks.OnLocalNotificationPermissionGrantedCallback = onPermissionGrantedCallback; FGLEnhance_Callbacks.OnLocalNotificationPermissionRefused = onPermissionRefusedCallback; Enhance.InitializeEnhance(); #if UNITY_EDITOR FGLEditorInternals.RequestLocalNotificationsPermission(FGLEnhance_Callbacks.CallbackObjectName); #elif UNITY_ANDROID FGLAndroidInternals.RequestLocalNotificationsPermission(FGLEnhance_Callbacks.CallbackObjectName); #elif UNITY_IOS FGLiOSInternals.RequestLocalNotificationsPermission(FGLEnhance_Callbacks.CallbackObjectName); #endif }
public static void RestorePurchases(Action onRestoreSuccessCallback, Action onRestoreFailedCallback) { if (GameObject.Find(FGLEnhance_Callbacks.CallbackObjectName) == null) { string newName = "__FGLEnhance_Callback_" + UnityEngine.Random.Range(0, int.MaxValue); GameObject callbackObject = new GameObject(newName); callbackObject.AddComponent <FGLEnhance_Callbacks>(); } FGLEnhance_Callbacks.OnRestoreSuccessCallback = onRestoreSuccessCallback; FGLEnhance_Callbacks.OnRestoreFailedCallback = onRestoreFailedCallback; FGLEnhance.InitializeEnhance(); #if UNITY_EDITOR FGLEditorInternals.RestorePurchases(FGLEnhance_Callbacks.CallbackObjectName); #elif UNITY_ANDROID FGLAndroidInternals.RestorePurchases(FGLEnhance_Callbacks.CallbackObjectName); #elif UNITY_IOS FGLiOSInternals.ManuallyRestorePurchases(FGLEnhance_Callbacks.CallbackObjectName); #endif }
/** * Show rewarded ad * * @param placement placement type for this ad * @param onRewardGrantedCallback callback executed when the ad reward is granted * @param onRewardDeclinedCallback callback executed when the ad reward is declined * @param onRewardUnavailableCallback callback executed when the ad reward is unavailable */ public static void ShowRewardedAd(string placement, Action <RewardType, int> onRewardGrantedCallback, Action onRewardDeclinedCallback, Action onRewardUnavailableCallback) { if (GameObject.Find(FGLEnhance_Callbacks.CallbackObjectName) == null) { string newName = "__FGLEnhance_Callback_" + UnityEngine.Random.Range(0, int.MaxValue); GameObject callbackObject = new GameObject(newName); callbackObject.AddComponent <FGLEnhance_Callbacks>(); } FGLEnhance_Callbacks.OnRewardGrantedCallback = onRewardGrantedCallback; FGLEnhance_Callbacks.OnRewardDeclinedCallback = onRewardDeclinedCallback; FGLEnhance_Callbacks.OnRewardUnavailableCallback = onRewardUnavailableCallback; InitializeEnhance(); #if UNITY_EDITOR FGLEditorInternals.ShowRewardedAd(placement, FGLEnhance_Callbacks.CallbackObjectName); #elif UNITY_ANDROID FGLAndroidInternals.ShowRewardedAd(placement, FGLEnhance_Callbacks.CallbackObjectName); #elif UNITY_IOS FGLiOSInternals.ShowRewardedAd(placement, FGLEnhance_Callbacks.CallbackObjectName); #endif }
private static void _AttemptPurchase(string sku, Action onPurchaseSuccessCallback, Action onPurchaseFailedCallback, Action OnPurchasePendingCallback) { if (GameObject.Find(FGLEnhance_Callbacks.CallbackObjectName) == null) { string newName = "__FGLEnhance_Callback_" + UnityEngine.Random.Range(0, int.MaxValue); GameObject callbackObject = new GameObject(newName); callbackObject.AddComponent <FGLEnhance_Callbacks>(); } FGLEnhance_Callbacks.OnPurchaseSuccessCallback = onPurchaseSuccessCallback; FGLEnhance_Callbacks.OnPurchaseFailedCallback = onPurchaseFailedCallback; FGLEnhance_Callbacks.OnPurchasePendingCallback = OnPurchasePendingCallback; Enhance.InitializeEnhance(); #if UNITY_EDITOR FGLEditorInternals.AttemptPurchase(sku, FGLEnhance_Callbacks.CallbackObjectName); #elif UNITY_ANDROID FGLAndroidInternals.AttemptPurchase(sku, FGLEnhance_Callbacks.CallbackObjectName); #elif UNITY_IOS FGLiOSInternals.AttemptPurchase(sku, FGLEnhance_Callbacks.CallbackObjectName); #endif }