public static void SafeSetObject(string key, RewardedVideo rv) { lock (instances) { instances[key] = rv; } }
protected override void InternalInit() { #if EM_FBAN mIsInitialized = true; mAdSettings = EM_Settings.Advertising.AudienceNetwork; mCustomBannerAds = new Dictionary <AdPlacement, BannerAd>(); mCustomInterstitialAds = new Dictionary <AdPlacement, Interstitial>(); mCustomRewardedVideoAds = new Dictionary <AdPlacement, RewardedVideo>(); if (mAdSettings.EnableTestMode) { SetupTestMode(mAdSettings); } // The FB Audience Network ads need to be registered to a gameObject, // so we just create one here and register them to it. mAdHandlerObject = new GameObject(AD_HANDLER_GO_NAME); // This game object should persist across scenes. GameObject.DontDestroyOnLoad(mAdHandlerObject); mDefaultBanner = CreateNewBannerAd(mAdSettings.DefaultBannerId.Id, ToAdSize(mAdSettings.BannerAdSize)); mDefaultInterstitial = CreateNewInterstitialAd(mAdSettings.DefaultInterstitialAdId.Id, AdPlacement.Default); mDefaultRewardedVideo = CreateNewRewardedVideoAd(mAdSettings.DefaultRewardedAdId.Id, AdPlacement.Default); Debug.Log("Audience Network client has been initialized."); #endif }
public static bool SafeGetObject(string key, out RewardedVideo rv) { lock (instances) { return(instances.TryGetValue(key, out rv)); } }
private void OnRewaredVideoAdClosed(AdPlacement placement) { if (placement == null) { return; } // Dispose ad. if (placement.Equals(AdPlacement.Default)) { if (mDefaultRewardedVideo != null && mDefaultRewardedVideo.Ad != null) { mDefaultRewardedVideo.Ad.Dispose(); mDefaultRewardedVideo = null; } } else { if (mCustomRewardedVideoAds.ContainsKey(placement) && mCustomRewardedVideoAds[placement] != null && mCustomRewardedVideoAds[placement].Ad != null) { mCustomRewardedVideoAds[placement].Ad.Dispose(); mCustomRewardedVideoAds.Remove(placement); } } if (RewardedVideoAdDidClose != null) { RewardedVideoAdDidClose(); } }
protected override void InternalLoadRewardedAd(AdPlacement placement) { #if EM_FBAN if (placement.Equals(AdPlacement.Default)) // Default rewarded ad... { if (mDefaultRewardedVideo == null) { mDefaultRewardedVideo = CreateNewRewardedVideoAd(mAdSettings.DefaultRewardedAdId.Id, AdPlacement.Default); } mDefaultRewardedVideo.Ad.LoadAd(); } else // Custom rewarded ad... { if (!mCustomRewardedVideoAds.ContainsKey(placement) || mCustomRewardedVideoAds[placement] == null) { string id = FindIdForPlacement(mAdSettings.CustomRewardedAdIds, placement); if (string.IsNullOrEmpty(id)) { Debug.LogFormat("Attempting to load {0} rewarded ad with an undefined ID at placement {1}", Network.ToString(), AdPlacement.GetPrintableName(placement)); return; } mCustomRewardedVideoAds[placement] = CreateNewRewardedVideoAd(id, placement); } mCustomRewardedVideoAds[placement].Ad.LoadAd(); } #endif }
void Start() { // 初期処理 rv = new RewardedVideo(groupId, unitId); // イベントハンドラ設定 rv.OnDidLoad += HandleDidLoad; rv.OnDidOpen += HandleDidOpen; rv.OnDidClose += HandleDidClose; rv.OnShouldReward += HandleShouldReward; rv.OnDidFailToLoad += HandleDidFailToLoad; rv.OnDidFailToPlay += HandleDidFailToPlay; }
private RewardFluct() { #if UNITY_ANDROID var groupID = "1000090271"; var unitID = "1000135434"; #elif UNITY_IOS var groupID = "1000085420"; var unitID = "1000127865"; #else var groupID = ""; var unitID = ""; #endif _rewardedVideo = new RewardedVideo(groupID, unitID); _rewardedVideo.OnDidLoad += RewardedVideoLoaded; _rewardedVideo.OnShouldReward += RewardedVideoRewarded; _rewardedVideo.OnDidClose += RewardedVideoClosed; }
static void OnDidCloseHandler(string groupId, string unitId) #endif { RewardedVideo value; if (!RewardedVideoInstanceManager.SafeGetObject(groupId + unitId, out value)) { return; } EventHandler <RewardedVideoEventArgs> handler = value.OnDidClose; if (handler == null) { return; } RewardedVideo.Dispose(groupId, unitId); handler(value, new RewardedVideoEventArgs(groupId, unitId)); }
private void OnRewardedVideoAdActivityDestroyed(AdPlacement placement) { if (placement == null) { return; } if (placement.Equals(AdPlacement.Default)) { mDefaultRewardedVideo = null; } else { mCustomRewardedVideoAds.Remove(placement); } if (RewardedVideoAdActivityDestroyed != null) { RewardedVideoAdActivityDestroyed(); } }
void Awake() { instance = this; }