private static void ReceiveExternalCallAndroid(string param = "arguments") { string arguments = ""; AndroidJavaClass up = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); AndroidJavaObject ca = up.GetStatic <AndroidJavaObject>("currentActivity"); AndroidJavaObject intent = ca.Call <AndroidJavaObject>("getIntent"); bool hasExtra = intent.Call <bool>("hasExtra", "arguments"); if (hasExtra) { AndroidJavaObject extras = intent.Call <AndroidJavaObject>("getExtras"); arguments = extras.Call <string>("getString", param); SGDebug.Log("Received external call: " + arguments); SGEnvironment.SetExternalCallParam(arguments); // dispose extras.Dispose(); } // dispose up.Dispose(); ca.Dispose(); intent.Dispose(); }
private void DestroyInterstitial() { if (interstitialAd != null) { interstitialAd.Destroy(); SGDebug.Log("AdInterstitial: Destroy"); } }
public void Request() { if (interstitialAd != null && interstitialAd.IsLoaded() && enable != "0") { firstTime = true; interstitialAd.Show(); SGDebug.Log("AdInterstitial: Show"); } }
public void DestroyBanner() { if (bannerView != null) { bannerView.Destroy(); showBanner = false; SGDebug.Log("AdBanner: Destroy"); } }
public void Request() { if (isLoaded) { firstTime = true; bannerView.Show(); SGDebug.Log("AdBanner: Show"); showBanner = true; } }
public static void OnDynamicLink(object sender, EventArgs args) { if (!setupReady) { return; } var dynamicLinkEventArgs = args as ReceivedDynamicLinkEventArgs; string link = dynamicLinkEventArgs.ReceivedDynamicLink.Url.OriginalString; SGDebug.Log("Received dynamic link: " + link); SGEnvironment.SetDynamicLink(link); }
// ref: https://stackoverflow.com/questions/48521807/firebase-remote-config-in-unity-get-only-default-values-and-not-real-ones private static void RemoteSettingsFetch(Task fetchTask) { if (fetchTask.IsCanceled) { Debug.Log("Remote Settings: Fetch canceled."); } else if (fetchTask.IsFaulted) { Debug.Log("Remote Settings: Fetch encountered an error."); } else if (fetchTask.IsCompleted) { Debug.Log("Remote Settings: Fetch completed!"); var info = FirebaseRemoteConfig.Info; switch (info.LastFetchStatus) { case LastFetchStatus.Success: Debug.Log(string.Format("Remote Settings: Data loaded and ready (last fetch time {0}).", info.FetchTime)); if (FirebaseRemoteConfig.ActivateFetched()) { rsActivateFetched = true; SGDebug.Log(string.Format("Remote Settings: Activate Fetched and Data loaded and ready (last fetch time {0}).", info.FetchTime)); } break; case LastFetchStatus.Failure: switch (info.LastFetchFailureReason) { case FetchFailureReason.Error: Debug.LogError("Remote Settings: Fetch failed for unknown reason"); break; case FetchFailureReason.Throttled: Debug.LogError("Remote Settings: Fetch throttled until " + info.ThrottledEndTime); break; } break; case LastFetchStatus.Pending: Debug.LogWarning("Remote Settings: Latest Fetch call still pending."); break; default: Debug.LogWarning(string.Format("Remote Settings: Something get wrong. Data: {0}", info)); break; } } }
private void HandleOnAdLeavingApplication(object sender, EventArgs args) { SGDebug.Log("AdInterstitial: HandleAdLeavingApplication event received"); }
private void HandleOnAdClosed(object sender, EventArgs args) { SGDebug.Log("AdInterstitial: HandleAdClosed event received"); SGAnalytics.AnalyticsTraking(SGAnalytics.AnalyticsEvents.AdClose, "type", "Interstitial"); }
private void HandleOnAdOpened(object sender, EventArgs args) { SGDebug.Log("AdBanner: HandleAdOpened event received"); SGAnalytics.AnalyticsTraking(SGAnalytics.AnalyticsEvents.AdCompleted, "type", "Banner"); }
private void HandleOnAdLoaded(object sender, EventArgs args) { SGDebug.Log("AdBanner: HandleAdLoaded event received"); SGAnalytics.AnalyticsTraking(SGAnalytics.AnalyticsEvents.AdStart, "type", "Banner"); isLoaded = true; }