Beispiel #1
0
    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");
     }
 }
Beispiel #4
0
 public void DestroyBanner()
 {
     if (bannerView != null)
     {
         bannerView.Destroy();
         showBanner = false;
         SGDebug.Log("AdBanner: Destroy");
     }
 }
Beispiel #5
0
 public void Request()
 {
     if (isLoaded)
     {
         firstTime = true;
         bannerView.Show();
         SGDebug.Log("AdBanner: Show");
         showBanner = true;
     }
 }
Beispiel #6
0
    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);
    }
Beispiel #7
0
    // 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");
 }
Beispiel #10
0
 private void HandleOnAdOpened(object sender, EventArgs args)
 {
     SGDebug.Log("AdBanner: HandleAdOpened event received");
     SGAnalytics.AnalyticsTraking(SGAnalytics.AnalyticsEvents.AdCompleted, "type", "Banner");
 }
Beispiel #11
0
 private void HandleOnAdLoaded(object sender, EventArgs args)
 {
     SGDebug.Log("AdBanner: HandleAdLoaded event received");
     SGAnalytics.AnalyticsTraking(SGAnalytics.AnalyticsEvents.AdStart, "type", "Banner");
     isLoaded = true;
 }