#if UNITY_IOS //&& !UNITY_EDITOR using System; using System.Runtime.InteropServices; namespace Azerion.BlueStack.Platforms.iOS { public class Externs { #region Common externs [DllImport("__Internal")] internal static extern void BSURelease(IntPtr obj); #endregion #region Error [DllImport("__Internal")] internal static extern string BSUGetAdErrorDomain(IntPtr obj); [DllImport("__Internal")] internal static extern string BSUGetAdErrorMessage(IntPtr obj); [DllImport("__Internal")] internal static extern int BSUGetAdErrorCode(IntPtr obj); #endregion #region Initialization [DllImport("__Internal")] internal static extern IntPtr BSUGetInitDescription(IntPtr status, string className); [DllImport("__Internal")] internal static extern IntPtr BSUGetInitProviderName(IntPtr status, string className); [DllImport("__Internal")] internal static extern int BSUGetInitState(IntPtr status, string className); [DllImport("__Internal")] internal static extern IntPtr BSUGetInitAdapterClasses(IntPtr status); [DllImport("__Internal")] internal static extern int BSUGetInitNumberOfAdapterClasses(IntPtr status); [DllImport("__Internal")] internal static extern void BSUInitializeWithCallback(IntPtr iOSAdsClient, string appId, IntPtr settings, BlueStackClient.BSUSDKInitializationCompleteCallback callback, BlueStackClient.BSUInitializationCompleteCallback adaptersInitCallback); #endregion #region Settings [DllImport("__Internal")] internal static extern IntPtr BSUCreateSettings(); [DllImport("__Internal")] internal static extern void BSUSetDebugModeEnabled(IntPtr settingsRef, bool debugModeEnabled); #endregion #region Preference [DllImport("__Internal")] internal static extern IntPtr BSUCreateRequestOptions(); [DllImport("__Internal")] internal static extern void BSUSetGender(IntPtr requestOptionsPtr, int gender); [DllImport("__Internal")] internal static extern void BSUSetAge(IntPtr requestOptionsPtr, int age); [DllImport("__Internal")] internal static extern void BSUSetLocation(IntPtr requestOptionsPtr, double latitude, double longitude, int consentFlag); [DllImport("__Internal")] internal static extern void BSULanguage(IntPtr requestOptionsPtr, string language); [DllImport("__Internal")] internal static extern void BSUSetKeyword(IntPtr requestOptionsPtr, string keyword); [DllImport("__Internal")] internal static extern void BSUSetContentUrl(IntPtr requestOptionsPtr, string contentUrl); [DllImport("__Internal")] internal static extern void BSUDestroyRequestOptions(IntPtr requestOptionsPtr); #endregion #region RewardedVideoAd [DllImport("__Internal")] internal static extern IntPtr BSUCreateRewardedVideoAd(IntPtr rewardedClient, string placementId); [DllImport("__Internal")] internal static extern void BSUSetRewardedVideoAdCallbacks( IntPtr rewardedAd, RewardedVideoAdClient.BSUOnRewardedVideoLoadedCallback onLoadedCallback, RewardedVideoAdClient.BSUOnRewardedVideoErrorCallback onErrorCallback, RewardedVideoAdClient.BSUOnRewardedVideoClickedCallback onClickedCallback, RewardedVideoAdClient.BSUOnRewardedVideoClosedCallback onAdClosedCallback, RewardedVideoAdClient.BSUOnRewardedVideoAppearedCallback onAdAppearedCallback, RewardedVideoAdClient.BSUOnUserRewardEarnedCallback onRewardEarnedCallback ); [DllImport("__Internal")] internal static extern void BSULoadRewardedVideoAd(IntPtr rewardedClient); [DllImport("__Internal")] internal static extern void BSULoadRewardedVideoAdWithRequestOptions(IntPtr rewardedClient, IntPtr preferenceClient); [DllImport("__Internal")] internal static extern void BSUShowRewardedVideoAd(IntPtr rewardedClient); [DllImport("__Internal")] internal static extern void BSUDestroyRewardedVideoAd(IntPtr rewardedClient); #endregion #region InterstitialAd [DllImport("__Internal")] internal static extern IntPtr BSUCreateInterstitialAd(IntPtr interstitialClient, string placementId); [DllImport("__Internal")] internal static extern void BSUSetInterstitialAdCallbacks( IntPtr interstitial, InterstitialAdClient.BSUOnInterstitialDidLoadedCallback onDidLoadedCallback, InterstitialAdClient.BSUOnInterstitialDidFailCallback onDidFailCallback, InterstitialAdClient.BSUOnInterstitialClickedCallback onClickedCallback, InterstitialAdClient.BSUOnInterstitialDisappearCallback onDisappearCallback, InterstitialAdClient.BSUOnInterstitialDidShownCallback onDidShownCallback ); [DllImport("__Internal")] internal static extern void BSULoadInterstitialAd(IntPtr interstitialClient); [DllImport("__Internal")] internal static extern void BSULoadInterstitialAdWithRequestOptions(IntPtr interstitialClient, IntPtr requestOptionsPtr); [DllImport("__Internal")] internal static extern void BSUShowInterstitialAd(IntPtr interstitialClient); [DllImport("__Internal")] internal static extern void BSUDestroyInterstitialAd(IntPtr interstitialClient); #endregion #region BannerAd [DllImport("__Internal")] internal static extern IntPtr BSUCreateBannerAd( IntPtr bannerClient, string placementId, int adPosition); [DllImport("__Internal")] internal static extern void BSULoadBannerAd(IntPtr banner, string size); [DllImport("__Internal")] internal static extern void BSULoadBannerAdWithRequestOptions(IntPtr banner, string size, IntPtr requestOptionsPtr); [DllImport("__Internal")] internal static extern void BSUHideBannerAd(IntPtr banner); [DllImport("__Internal")] internal static extern void BSUShowBannerAd(IntPtr banner); [DllImport("__Internal")] internal static extern IntPtr BSUSetBannerAdPosition(IntPtr banner, int adPosition); [DllImport("__Internal")] internal static extern void BSUDestroyBannerAd(IntPtr banner); [DllImport("__Internal")] internal static extern void BSUSetBannerAdCallbacks( IntPtr bannerAd, BannerAdClient.BSUOnBannerDidLoadCallback onBannerDidLoadCallback, BannerAdClient.BSUOnBannerDidFailedCallback onBannerDidFailedCallback, BannerAdClient.BSUOnAdClickedCallback onAdClickedCallback, BannerAdClient.BSUOnBannerDidRefreshCallback onBannerDidRefreshCallback, BannerAdClient.BSUOnBannerDidFailToRefreshCallback onBannerDidFailToRefreshCallback, BannerAdClient.BSUOnBannerHideCallback onBannerHideCallback, BannerAdClient.BSUOnBannerDisplayCallback onBannerDisplayCallback ); #endregion #region NativeAd [DllImport("__Internal")] internal static extern IntPtr BSUCreateNativeAd( IntPtr bannerClient, string placementId); [DllImport("__Internal")] internal static extern void BSULoadNativeAd(IntPtr native); [DllImport("__Internal")] internal static extern void BSULoadNativeAdWithRequestOptions(IntPtr native, IntPtr requestOptionsPtr); [DllImport("__Internal")] internal static extern string BSUNativeAdGetTitle(IntPtr native); [DllImport("__Internal")] internal static extern string BSUNativeAdGetBodyText(IntPtr native); [DllImport("__Internal")] internal static extern string BSUNativeAdGetCTAText(IntPtr native); // [DllImport("__Internal")] // internal static extern byte[] BSUNativeAdGetBadge(IntPtr native); [DllImport("__Internal")] internal static extern string BSUNativeAdGetBadge(IntPtr native); [DllImport("__Internal")] internal static extern string BSUNativeAdGetCoverImageUrl(IntPtr native); [DllImport("__Internal")] internal static extern string BSUNativeAdGetIconUrl(IntPtr native); [DllImport("__Internal")] internal static extern string BSUNativeAdGetClickUrl(IntPtr native); [DllImport("__Internal")] internal static extern void BSUDestroyNativeAd(IntPtr native); [DllImport("__Internal")] internal static extern void BSURecordImpression(IntPtr native); [DllImport("__Internal")] internal static extern void BSUPerformClick(IntPtr native); [DllImport("__Internal")] internal static extern void BSUSetNativeAdCallbacks( IntPtr bannerAd, NativeAdClient.BSUOnNativeAdDidLoadCallback onNativeAdDidLoadCallback, NativeAdClient.BSUOnNativeAdDidFailedCallback onNativeAdDidFailedCallback, NativeAdClient.BSUOnNativeAdDidRecordImpressionCallback onNativeAdDidRecordImpressionCallback, NativeAdClient.BSUOnNativeAdDidPerformClickCallback onNativeAdDidPerformClickCallback, NativeAdClient.BSUOnNativeAdCloseCallback onNativeAdCloseCallback ); #endregion } } #endif