예제 #1
0
    public PrivacyPolicyConfiguration GetPrivacyPolicyConfiguration()
    {
        string gameConfig = null;

        #if UNITY_EDITOR
        try {
            gameConfig = File.ReadAllText(Application.streamingAssetsPath + "/defaultGameConfig.json");
        }
        catch (FileNotFoundException e) {
            Debug.Log("defaultGameConfig.json not found!");
            return(null);
        }
        #else
        gameConfig = Spil.Instance.GetConfigAll();
        #endif


        JSONObject gameConfigJSON = new JSONObject(gameConfig);
        PrivacyPolicyConfiguration privacyPolicyConfiguration = null;

        if (Application.platform == RuntimePlatform.Android)
        {
            privacyPolicyConfiguration = JsonHelper.getObjectFromJson <PrivacyPolicyConfiguration>(gameConfigJSON.GetField("androidSdkConfig").GetField("spil").Print());
        }
        else if (Application.platform == RuntimePlatform.IPhonePlayer)
        {
            privacyPolicyConfiguration = JsonHelper.getObjectFromJson <PrivacyPolicyConfiguration>(gameConfigJSON.GetField("iosSdkConfig").GetField("spil").Print());
        }
        else
        {
            privacyPolicyConfiguration = JsonHelper.getObjectFromJson <PrivacyPolicyConfiguration>(gameConfigJSON.GetField("androidSdkConfig").GetField("spil").Print());
        }

        return(privacyPolicyConfiguration);
    }
예제 #2
0
    public void ShowAdsScreen(int openId)
    {
        this.openId = openId;

        PrivacyPolicyConfiguration privacyPolicyConfiguration = GetPrivacyPolicyConfiguration();

        if (privacyPolicyConfiguration == null)
        {
            Debug.Log("Privacy Policy Configuration could not be retrieved. Please make sure you have configured properly the text for the privacy policy in the defaultGameConfig.json file.");
            return;
        }

        string deviceLocale = GetLocaleFromSystemLanguage();

        bool privacyPolicyTextSet = false;

        foreach (PrivacyPolicy privacyPolicy in privacyPolicyConfiguration.privacyPolicies)
        {
            if (privacyPolicy.locale.Equals(deviceLocale))
            {
                adsTitle           = privacyPolicy.ads.title;
                adsPersonalisedAds = privacyPolicy.ads.personalisedAds;
                adsDescription     = privacyPolicy.ads.description;
                adsSave            = privacyPolicy.ads.save;

                privacyPolicyTextSet = true;
                break;
            }
        }

        if (!privacyPolicyTextSet)
        {
            PrivacyPolicy englishPrivacyPolicy = getDefaultEnglishPrivacyPolicy(privacyPolicyConfiguration);

            if (englishPrivacyPolicy != null)
            {
                adsTitle           = englishPrivacyPolicy.ads.title;
                adsPersonalisedAds = englishPrivacyPolicy.ads.personalisedAds;
                adsDescription     = englishPrivacyPolicy.ads.description;
                adsSave            = englishPrivacyPolicy.ads.save;
            }
            else
            {
                adsTitle           = "";
                adsPersonalisedAds = "";
                adsDescription     = "";
                adsSave            = "";
            }
        }
        AdsTitle.text       = adsTitle;
        AdsPeronalised.isOn = withPersonalisedAds;
        AdsPeronalised.GetComponentInChildren <Text>().text = adsPersonalisedAds;
        AdsDescription.text = adsDescription;
        AdsSaveButton.GetComponentInChildren <Text>().text = adsSave;

        MainScreen.SetActive(false);
        SettingsScreen.SetActive(false);
        InfoScreen.SetActive(false);
        AdsScreen.SetActive(true);
    }
예제 #3
0
    public void ShowMainScreen(int openId)
    {
        this.openId = openId;

        PrivacyPolicyConfiguration privacyPolicyConfiguration = GetPrivacyPolicyConfiguration();

        if (privacyPolicyConfiguration == null)
        {
            Debug.Log("Privacy Policy Configuration could not be retrieved. Please make sure you have configured properly the text for the privacy policy in the defaultGameConfig.json file.");
            return;
        }

        string deviceLocale = GetLocaleFromSystemLanguage();

        bool privacyPolicyTextSet = false;

        foreach (PrivacyPolicy privacyPolicy in privacyPolicyConfiguration.privacyPolicies)
        {
            if (privacyPolicy.locale.Equals(deviceLocale))
            {
                mainDescription = privacyPolicy.main.description;
                mainAccept      = privacyPolicy.main.accept;
                mainSettings    = privacyPolicy.main.settings;

                privacyPolicyTextSet = true;
                break;
            }
        }

        if (!privacyPolicyTextSet)
        {
            PrivacyPolicy englishPrivacyPolicy = getDefaultEnglishPrivacyPolicy(privacyPolicyConfiguration);

            if (englishPrivacyPolicy != null)
            {
                mainDescription = englishPrivacyPolicy.main.description;
                mainAccept      = englishPrivacyPolicy.main.accept;
                mainSettings    = englishPrivacyPolicy.main.settings;
            }
            else
            {
                mainDescription = "";
                mainAccept      = "";
                mainSettings    = "";
            }
        }

        MainDescription.text = mainDescription;
        MainAcceptButton.GetComponentInChildren <Text>().text   = mainAccept;
        MainSettingsButton.GetComponentInChildren <Text>().text = mainSettings;

        MainAcceptToggle.isOn = false;

        MainScreen.SetActive(true);
        SettingsScreen.SetActive(false);
        InfoScreen.SetActive(false);
        AdsScreen.SetActive(false);
    }
예제 #4
0
    public PrivacyPolicy getDefaultEnglishPrivacyPolicy(PrivacyPolicyConfiguration privacyPolicyConfiguration)
    {
        foreach (PrivacyPolicy privacyPolicy in privacyPolicyConfiguration.privacyPolicies)
        {
            if (privacyPolicy.locale.Equals("en"))
            {
                return(privacyPolicy);
            }
        }

        return(null);
    }
예제 #5
0
    public void ShowInfoScreen()
    {
        PrivacyPolicyConfiguration privacyPolicyConfiguration = GetPrivacyPolicyConfiguration();

        if (privacyPolicyConfiguration == null)
        {
            Debug.Log("Privacy Policy Configuration could not be retrieved. Please make sure you have configured properly the text for the privacy policy in the defaultGameConfig.json file.");
            return;
        }

        string deviceLocale = GetLocaleFromSystemLanguage();

        bool privacyPolicyTextSet = false;

        foreach (PrivacyPolicy privacyPolicy in privacyPolicyConfiguration.privacyPolicies)
        {
            if (privacyPolicy.locale.Equals(deviceLocale))
            {
                infoDescription = privacyPolicy.info.description;
                infoOk          = privacyPolicy.info.ok;

                privacyPolicyTextSet = true;
                break;
            }
        }

        if (!privacyPolicyTextSet)
        {
            PrivacyPolicy englishPrivacyPolicy = getDefaultEnglishPrivacyPolicy(privacyPolicyConfiguration);

            if (englishPrivacyPolicy != null)
            {
                infoDescription = englishPrivacyPolicy.info.description;
                infoOk          = englishPrivacyPolicy.info.ok;
            }
            else
            {
                infoDescription = "";
                infoOk          = "";
            }
        }

        InfoDescription.text = infoDescription;
        InfoOkButton.GetComponentInChildren <Text>().text = infoOk;

        MainScreen.SetActive(false);
        SettingsScreen.SetActive(false);
        InfoScreen.SetActive(true);
        AdsScreen.SetActive(false);
    }
예제 #6
0
    public void ShowSettingsScreen()
    {
        PrivacyPolicyConfiguration privacyPolicyConfiguration = GetPrivacyPolicyConfiguration();

        if (privacyPolicyConfiguration == null)
        {
            Debug.Log("Privacy Policy Configuration could not be retrieved. Please make sure you have configured properly the text for the privacy policy in the defaultGameConfig.json file.");
            return;
        }

        string deviceLocale = GetLocaleFromSystemLanguage();

        bool privacyPolicyTextSet = false;

        foreach (PrivacyPolicy privacyPolicy in privacyPolicyConfiguration.privacyPolicies)
        {
            if (privacyPolicy.locale.Equals(deviceLocale))
            {
                settingsTitle = privacyPolicy.settings.title;
                settingsPersonalisedContent = privacyPolicy.settings.personalisedContent;
                settingsPersonalisedAds     = privacyPolicy.settings.personalisedAds;
                settingsRememberSettings    = privacyPolicy.settings.rememberSettings;
                settingsUnderstandHow       = privacyPolicy.settings.understandHow;
                settingsSocialMedia         = privacyPolicy.settings.socialMedia;
                settingsDescription         = privacyPolicy.settings.description;
                settingsLearnMore           = privacyPolicy.settings.learnMore;
                settingsLearnMoreUrl        = privacyPolicy.settings.learnMoreUrl;
                settingsPrivacyPolicy       = privacyPolicy.settings.privacyPolicy;
                settingsPrivacyPolicyUrl    = privacyPolicy.settings.privacyPolicyUrl;
                settingsSave = privacyPolicy.settings.save;

                privacyPolicyTextSet = true;
                break;
            }
        }

        if (!privacyPolicyTextSet)
        {
            PrivacyPolicy englishPrivacyPolicy = getDefaultEnglishPrivacyPolicy(privacyPolicyConfiguration);

            if (englishPrivacyPolicy != null)
            {
                settingsTitle = englishPrivacyPolicy.settings.title;
                settingsPersonalisedContent = englishPrivacyPolicy.settings.personalisedContent;
                settingsPersonalisedAds     = englishPrivacyPolicy.settings.personalisedAds;
                settingsRememberSettings    = englishPrivacyPolicy.settings.rememberSettings;
                settingsUnderstandHow       = englishPrivacyPolicy.settings.understandHow;
                settingsSocialMedia         = englishPrivacyPolicy.settings.socialMedia;
                settingsDescription         = englishPrivacyPolicy.settings.description;
                settingsLearnMore           = englishPrivacyPolicy.settings.learnMore;
                settingsLearnMoreUrl        = englishPrivacyPolicy.settings.learnMoreUrl;
                settingsPrivacyPolicy       = englishPrivacyPolicy.settings.privacyPolicy;
                settingsPrivacyPolicyUrl    = englishPrivacyPolicy.settings.privacyPolicyUrl;
                settingsSave = englishPrivacyPolicy.settings.save;
            }
            else
            {
                settingsTitle = "";
                settingsPersonalisedContent = "";
                settingsPersonalisedAds     = "";
                settingsRememberSettings    = "";
                settingsUnderstandHow       = "";
                settingsSocialMedia         = "";
                settingsDescription         = "";
                settingsLearnMore           = "";
                settingsLearnMoreUrl        = "";
                settingsPrivacyPolicy       = "";
                settingsPrivacyPolicyUrl    = "";
                settingsSave = "";
            }
        }

        SettingsTitle.text = settingsTitle;
        SettingsContentToggle.GetComponentInChildren <Text>().text = settingsPersonalisedContent;
        SettingsAdsToggle.GetComponentInChildren <Text>().text     = settingsPersonalisedAds;
        SettingsRememberText.text    = settingsRememberSettings;
        SettingsUnderstandText.text  = settingsUnderstandHow;
        SettingsSocialMediaText.text = settingsSocialMedia;
        SettingsDescription.text     = settingsDescription;
        SettingsLearnMoreButton.GetComponentInChildren <Text>().text     = settingsLearnMore;
        SettingsPrivacyPolicyButton.GetComponentInChildren <Text>().text = settingsPrivacyPolicy;
        SettingsSaveButton.GetComponentInChildren <Text>().text          = settingsSave;

        SettingsContentToggle.isOn = withPersonalisedContent;
        SettingsAdsToggle.isOn     = withPersonalisedAds;

        MainScreen.SetActive(false);
        SettingsScreen.SetActive(true);
        InfoScreen.SetActive(false);
        AdsScreen.SetActive(false);
    }