четверг, 11 июля 2019 г.

"Mission's Rewards in Fortnite" application's Private Policy

Developer built the "Mission's Rewards in Fortnite" app as an Ad Supported app. This app is provided by at no cost and is intended for use as is.

This privacy policy is used to inform you regarding policies with the collection, use, and disclosure of Personal Information if anyone decided to use this Service.


1. Overview

The app uses advertising to make revenue. The app uses third party
libraries for advertising which may collect and share personal information with third parties.

Links to privacy policies of third party service providers used in the app:



2. Sharing Your Information

The developer will share personal information with third parties only in the ways that are described in this privacy statement.

Your personal information may be disclosed:
* As required by law, such as to comply with a subpoena, or similar legal process.
* To any other third party with your prior consent to do so.


3. What information are collected and why

3.1 AdMob

AdMob, is Google's mobile app advertising platform designed specifically for app developers. In order to understand Google's use of Data, consult Google's partner policy.

Personal Data:
* Google Advertiser ID

Online resources:


3.2 Google Play Services

Google Play Services offers APIs and security services to the Android developer ecosystem. Google acts as a data controller for any personal data processed in Google Play Services, and offers user notices and consents about the use of personal data in the service’s user interface in Android.

Collected informations:
* Device information
* Log information
* Location information
* Unique application numbers
* Local storage
* Cookies and similar technologies

Google use the collected information to provide, maintain, protect and improve Google's services, to develop new ones, and to protect Google and the users. Google also use this information to offer you tailored content – like giving you more relevant search results and ads.

Online resources:


4. Security

I am striving to use commercially acceptable means of protecting your Personal Information. But remember that no method of transmission over the internet, or method of electronic storage is 100% secure and reliable, and I cannot guarantee its absolute security.


5. Links to Other Sites

This Service may contain links to other sites. If you click on a third-party link, you will be directed to that site. Note that these external sites are not operated by me. Therefore, I strongly advise you to review the Privacy Policy of these websites. I have no control over and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services.


6. Children’s Privacy

These Services do not address anyone under the age of 16. I do not knowingly collect personally identifiable information from children under 16. In the case I discover that a child under 16 has provided me with personal information, I immediately delete those informations. If you are a parent or guardian and you are aware that your child has provided personal information, please contact me so that I will be able to do necessary actions.


7. Distribution

The only official channel for distribution of this app are:

Any other mode of distribution is not official and thus, is not maintained by the developer. This privacy policy is effective to distribution made on official channel only.


8. Changes to This Privacy Policy

This policy may be updated from time to time.


Contact me

If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact me by e-mail: sp0xff.dev(at)gmail(dot)com



воскресенье, 17 марта 2019 г.

"What The Next Chests" application's Private Policy

Developer built the "What The Next Chests" app as an Ad Supported app. This app is provided by at no cost and is intended for use as is.

This privacy policy is used to inform you regarding policies with the collection, use, and disclosure of Personal Information if anyone decided to use this Service.


1. Overview

The app uses advertising to make revenue. The app uses third party
libraries for advertising which may collect and share personal information with third parties.

Links to privacy policies of third party service providers used in the app:



2. Sharing Your Information

The developer will share personal information with third parties only in the ways that are described in this privacy statement.

Your personal information may be disclosed:
* As required by law, such as to comply with a subpoena, or similar legal process.
* To any other third party with your prior consent to do so.


3. What information are collected and why

3.1 AdMob

AdMob, is Google's mobile app advertising platform designed specifically for app developers. In order to understand Google's use of Data, consult Google's partner policy.

Personal Data:
* Google Advertiser ID

Online resources:


3.2 Google Play Services

Google Play Services offers APIs and security services to the Android developer ecosystem. Google acts as a data controller for any personal data processed in Google Play Services, and offers user notices and consents about the use of personal data in the service’s user interface in Android.

Collected informations:
* Device information
* Log information
* Location information
* Unique application numbers
* Local storage
* Cookies and similar technologies

Google use the collected information to provide, maintain, protect and improve Google's services, to develop new ones, and to protect Google and the users. Google also use this information to offer you tailored content – like giving you more relevant search results and ads.

Online resources:


4. Security

I am striving to use commercially acceptable means of protecting your Personal Information. But remember that no method of transmission over the internet, or method of electronic storage is 100% secure and reliable, and I cannot guarantee its absolute security.


5. Links to Other Sites

This Service may contain links to other sites. If you click on a third-party link, you will be directed to that site. Note that these external sites are not operated by me. Therefore, I strongly advise you to review the Privacy Policy of these websites. I have no control over and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services.


6. Children’s Privacy

These Services do not address anyone under the age of 16. I do not knowingly collect personally identifiable information from children under 16. In the case I discover that a child under 16 has provided me with personal information, I immediately delete those informations. If you are a parent or guardian and you are aware that your child has provided personal information, please contact me so that I will be able to do necessary actions.


7. Distribution

The only official channel for distribution of this app are:

Any other mode of distribution is not official and thus, is not maintained by the developer. This privacy policy is effective to distribution made on official channel only.


8. Changes to This Privacy Policy

This policy may be updated from time to time.


Contact me

If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact me by e-mail: sp0xff.dev(at)gmail(dot)com


воскресенье, 20 марта 2011 г.

Интересная автоматизация.


недавно мой друг попросил меня написать ему программу, которая должна уметь определять, что к компьютеру была присоединена флешка и после этого должна выполнить некоторые действия.
ему хотелось, чтобы с компьютера были скопированы необходимые файлы на флешку.
я подумал и не стал реализовывать всяческое копирование, а сделал основу для модульной автоматизации ;)

программа была написана на c#. через заданный промежуток времени проверяет наличие removable диска с заданной меткой. после этого запускает cmd файл и передает ему в качестве параметра имя диска.
программа запускается из командной строки безо всякой формы. в качестве параметра передается файл в котором заданы параметры (в каждой строке): метка диска, интервал обновления, путь к cmd файлу.

using System;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Windows.Forms;

namespace Copy2Flash
{
    static class Program
    {
        private static bool isSyncOk;
        private static String diskLabelName;
        private static int timeInterval = 1000;
        private static String execFilePath;


        [STAThread]
        static void Main(string[] args)
        {
            if (args != null && args.Length > 0)
            {
                String iniFilePath = args[0];

                if (File.Exists(iniFilePath))
                {
                    try
                    {
                        var file = new StreamReader(iniFilePath);

                        try
                        {
                            diskLabelName = file.ReadLine();
                            timeInterval = Convert.ToInt32(file.ReadLine());
                            execFilePath = file.ReadLine();
                        }
                        catch
                        {
                        }
                        finally
                        {
                            file.Close();
                        }
                    }
                    catch
                    {
                    }
                }
            }

            var timer = new Timer();
            timer.Tick += TimerEventProcessor;
            timer.Interval = timeInterval;
            timer.Start();
            Application.Run();
            timer.Stop();
        }

        private static void TimerEventProcessor(Object myObject, EventArgs myEventArgs)
        {
            var removableDrives = from d in DriveInfo.GetDrives() where d.DriveType == DriveType.Removable select d;
            //var removableDrives = DriveInfo.GetDrives().Where(d => d.DriveType == DriveType.Removable);

            bool isDiskFound = false;
            string driveName = null;

            foreach (var removableDrive in removableDrives)
            {
                if (removableDrive.IsReady)
                {
                    if (!String.IsNullOrEmpty(diskLabelName) && removableDrive.VolumeLabel.ToLower() == diskLabelName.ToLower())
                    {
                        isDiskFound = true;
                        driveName = removableDrive.Name;
                        break;
                    }
                }
            }

            if (isDiskFound && !isSyncOk)
            {
                if (!String.IsNullOrEmpty(execFilePath))
                {
                    try
                    {
                        var process = new Process();

                        var pInfo = new ProcessStartInfo(execFilePath, driveName);
                        pInfo.WindowStyle = ProcessWindowStyle.Hidden;

                        process.StartInfo = pInfo;
                        process.Start();
                        process.WaitForExit();
                        //int exitCode = process.ExitCode;
                        process.Close();
                    }
                    catch
                    {
                    }
                }

                isSyncOk = true;
            }
            else if (!isDiskFound && isSyncOk)
            {
                isSyncOk = false;
            }
        }
    }
}