如何将跟踪参数添加到NFC标签上的android软件包名称?

如何将跟踪参数添加到NFC标签上的android软件包名称?,android,google-analytics,nfc,ndef,android-applicationrecord,Android,Google Analytics,Nfc,Ndef,Android Applicationrecord,我有NFC标签,当我触摸手机时,可以访问手机上的某个应用程序。所以我在com.example.app的标签上放了一条Android应用程序记录。然后,如果用户没有该应用程序,他们会被引导到谷歌play商店,在那里可以下载该应用程序 但是,我希望能够跟踪用户使用的nfc标签。所以我想使用跟踪参数,比如理想情况下,它应该是com.example.app/?id=1。但是我不认为你可以对java中的软件包这么做,我也不认为google analytics tracking会注册,或者会注册吗 也许在a

我有NFC标签,当我触摸手机时,可以访问手机上的某个应用程序。所以我在com.example.app的标签上放了一条Android应用程序记录。然后,如果用户没有该应用程序,他们会被引导到谷歌play商店,在那里可以下载该应用程序

但是,我希望能够跟踪用户使用的nfc标签。所以我想使用跟踪参数,比如理想情况下,它应该是
com.example.app/?id=1
。但是我不认为你可以对java中的软件包这么做,我也不认为google analytics tracking会注册,或者会注册吗

也许在android系统的某个地方有代码,如果它看到一个它没有的包,它会带着生成的url进入google play商店?我在哪里能找到这个?也许我可以直接编辑这个脚本

  • 您必须按原样使用应用程序包名称

  • 当安卓设备扫描你的NFC标签时,它将在NDEF中查找所有AAR,如果当前没有安装匹配的软件包,它将交出play store(第一次AAR)的意向书。我不相信我们可以修改
    “play store”
    处理代码

  • >P>但解决方案<>强> >强> -如果您想使用Play Store和谷歌Analytics来跟踪NFC标签是否已被使用,则可以考虑创建简单代理/跟踪虚拟应用程序(可能是Mycom .NFC跟踪包名),并将该包AAR作为NDEF中的第一个包。你真正的应用程序包名AAR next

    • 这个简单的跟踪应用程序可以只有一个活动,当通过nfc调用时,它将读取您放置在NDEF中用于跟踪目的的其他分析ID,并更新google analytics或您使用的任何其他分析服务,然后它将启动您的“real app”(如果已安装),或者将其移交给play store以安装real app

    • 此代理活动可以不带任何UI,因此用户不会注意到这些。它是透明的,并且在任何其他nfc相关的簿记/分析中为您提供了更多的灵活性

    • 如果设备上尚未安装此代理/跟踪应用程序,NFC将切换到playstore,您可以使用google analytics跟踪您的NFC标签使用情况。这不应影响您真实应用程序的非nfc用户

  • 注意,如果已经有一个应用程序使用AAR,则可能会完全跳过AAR匹配

      • 您必须按原样使用应用程序包名称

      • 当安卓设备扫描你的NFC标签时,它将在NDEF中查找所有AAR,如果当前没有安装匹配的软件包,它将交出play store(第一次AAR)的意向书。我不相信我们可以修改
        “play store”
        处理代码

      • >P>但解决方案<>强> >强> -如果您想使用Play Store和谷歌Analytics来跟踪NFC标签是否已被使用,则可以考虑创建简单代理/跟踪虚拟应用程序(可能是Mycom .NFC跟踪包名),并将该包AAR作为NDEF中的第一个包。你真正的应用程序包名AAR next

        • 这个简单的跟踪应用程序可以只有一个活动,当通过nfc调用时,它将读取您放置在NDEF中用于跟踪目的的其他分析ID,并更新google analytics或您使用的任何其他分析服务,然后它将启动您的“real app”(如果已安装),或者将其移交给play store以安装real app

        • 此代理活动可以不带任何UI,因此用户不会注意到这些。它是透明的,并且在任何其他nfc相关的簿记/分析中为您提供了更多的灵活性

        • 如果设备上尚未安装此代理/跟踪应用程序,NFC将切换到playstore,您可以使用google analytics跟踪您的NFC标签使用情况。这不应影响您真实应用程序的非nfc用户

      • 注意,如果已经有一个应用程序使用AAR,则可能会完全跳过AAR匹配

      如果您想跟踪应用程序安装/下载的标签使用情况 不幸的是,将跟踪参数添加到Android应用程序记录(AAR)中只能部分实现。例如,您可以创建一个AAR,其包名设置为:

      com.example.application&referrer=utm_source%3Dtag1
      
      此AAR将导致为您的应用程序“com.example.application”打开Play Store,并添加一个跟踪参数,指示活动来源“tag1”(基于)

      但是,此AAR不会直接打开你的应用。无论你的应用是否安装,Play Store都会打开。这是因为NFC系统服务不支持AAR中的跟踪参数

      我不认为ashoke使用单独的跟踪应用程序会有多大用处:

      • 您的用户需要在主应用程序之外安装第二个应用程序。当然,除非您将主应用程序的全部功能集成到跟踪应用程序中

      • 除非您为每个要跟踪的标记使用单独的跟踪应用程序,否则您的用户需要双击该标记以触发主应用程序的安装:一次他们需要点击以安装跟踪应用程序,一次用于运行跟踪应用程序并向其传递参数。因此,您也可以通过要求用户点击标签来强制主应用程序双击,以便在第一次启动时激活该应用程序

      另一种方法是使用URI记录而不是AAR。一种选择是直接使用包含跟踪参数的Play Store URL:

      https://play.google.com/store/apps/details?id=com.example.application&referrer=utm_source%3Dtag1
      
      不幸的是,Android的意图过滤器不允许对URL参数进行过滤,因此您只能注册应用程序以在任何“”URL上触发,而不管包ID如何。因此,此选项并不真正合适

      更好的选择是提供重定向器web服务。对于
      http://www.example.com/apps/application/tag1
      
      https://play.google.com/store/apps/details?id=com.example.application&referrer=utm_source%3Dtag1
      
      <intent-filter>
          <action android:name="android.nfc.action.NDEF_DISCOVERED" />
          <category android:name="android.intent.category.DEFAULT" />
          <data android:scheme="http" android:host="www.example.com" android:pathPrefix="/apps/application/" />
      </intent-filter>
      
      EXT: example.com:tracking PAYLOAD=tag1
      AAR: com.example.application
      
      <intent-filter>
          <action android:name="android.nfc.action.NDEF_DISCOVERED" />
          <category android:name="android.intent.category.DEFAULT" />
          <data android:scheme="vnd.android.nfc"
                android:host="ext"
                android:pathPrefix="/example.com:tracking"/>
      </intent-filter>