我怎么知道该应用是否已经从Google Play下载一次

问题描述 投票:1回答:2

我有一个与会员系统兼容的Android移动应用程序。在我的应用程序中有指向其他移动应用程序和游戏的链接。使用Packet Manager,我可以检查链接中的应用程序是否已安装在电话上。我的目标是通过单击应用程序中的链接来检查用户是否已在设备上下载了游戏和移动应用程序。如果他们一次(第一次)在给定的链接中下载了该应用程序,则将获得10分。如果他们多次下载同一应用程序,则将被视为一次。我想问你,如果用户下载一个应用程序不止一次,我怎么只算一次呢?

 private boolean appInstalledOrNot(String uri) {
     PackageManager pm = getPackageManager();
     boolean app_installed = false;
     try {
         pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
         app_installed = true;
     } catch (PackageManager.NameNotFoundException e) {
         app_installed = false;
     }
     return app_installed;
 }

 public void go(View view) {
         boolean installed = appInstalledOrNot("com.dousoftware.pubgtyolar");
         //loaded
         if (installed) {
             Toast.makeText(this, "Loaded", Toast.LENGTH_SHORT).show();
         } else {
             Intent viewIntent = new Intent("android.intent.action.VIEW",
                 Uri.parse("https://play.google.com/store/apps/details? 
                     id = com.dousoftware.pubgtyolar "));
                     startActivity(viewIntent); Toast.makeText(this, "Not Loaded", Toast.LENGTH_SHORT).show();
                 }

             }
java android android-package-managers
2个回答
0
投票

如果用户单击链接

  1. 检查用户是否没有此应用程序
  2. 重定向到存储页面。
  3. 在配置文件中设置已单击此链接
  4. 如果用户安装应用程序和脚本触发器(例如,在应用程序选择时),则添加点。仅在链接被标记为单击时添加点。
  5. 将配置文件中的链接标记为不从同一应用程序中分配更多积分。您可以将此数据存储在服务器上,以避免例如卸载滥用。
  6. 仅在某处保存已使用链接的信息


0
投票

简短的答案是:您不能。

© www.soinside.com 2019 - 2024. All rights reserved.