在Android应用中跟踪用户数量

时间:2013-08-12 06:50:32

标签: android visitor-statistic

我需要创建一个应用,我必须显示当前访问该应用的用户总数。 (类似于我们可以显示的网页中的web-stat"总访问者数量:1000")。

只要有任何用户打开应用程序(跨越全球),他就会看到截至目前的总访客数量。

此要求是否存在任何解决方案?

感谢任何帮助/建议。感谢

- 更多信息 - 有一个网站http://www.web-stat.net/可以用于网页。需要类似的Android应用程序。

2 个答案:

答案 0 :(得分:1)

您可以阅读的两个例子:

  

http://www.flurry.com

     

http://www.google.com/analytics/

这两种都是DataReporting服务,它提供用于导出数据的API,例如:作为JSON。主要目的是您的应用程序将使用情况统计信息发送到外部服务器(您可以查看数据)。 此外,您还可以连接到这些服务器并在设备上检索数据。

更新 - 本地存储

如果您只想在设备上显示本地计数器,向用户显示他访问该应用的频率,请查看 SharedPreferences 。 SharedPreferences使您可以在设备上存储数据,并在打开或关闭应用程序时再次检索该数据。

更新 - 全球 - 数据库

如果你只想要一个“全球”计数器。我建议你创建一个 SQL数据库,用于存储当前访问者数量,并在每次用户访问时增加它并在应用启动时接收当前计数以显示它。 如果您想跟踪当前正在使用该应用的应用的不同用户,则可以为每个用户生成相同的ID,并在用户首次打开应用并将其存储到SQL数据库中时将其存储在SQL数据库中柜台。 为此,您当然还需要一个存储ID的表。 当用户关闭应用程序时,您需要再次连接到数据库并从表中删除其ID并减少计数器。

这可能是为每个用户获取唯一ID的方法:

public class Installation {
    private static String sID = null;
    private static final String INSTALLATION = "INSTALLATION";

    public synchronized static String id(Context context) {
        if (sID == null) {  
            File installation = new File(context.getFilesDir(), INSTALLATION);
            try {
                if (!installation.exists())
                    writeInstallationFile(installation);
                sID = readInstallationFile(installation);
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        }
        return sID;
    }

    private static String readInstallationFile(File installation) throws IOException {
        RandomAccessFile f = new RandomAccessFile(installation, "r");
        byte[] bytes = new byte[(int) f.length()];
        f.readFully(bytes);
        f.close();
        return new String(bytes);
    }

    private static void writeInstallationFile(File installation) throws IOException {
        FileOutputStream out = new FileOutputStream(installation);
        String id = UUID.randomUUID().toString();
        out.write(id.getBytes());
        out.close();
    }
}

从这里采取:Android unique id

答案 1 :(得分:0)

  1. 扩展Application类。
  2. 创建一个可以增加和减少用户数量的Web方法。
  3. 使用onCreate()方法报告活动用户(增加数量)。
  4. 使用onTerminate()方法报告非活动用户(减少数量)。
  5. 创建一种获取用户数量的方法。