什么时候广播;com.android.vending.INSTALL“u referer”;得到发送?

什么时候广播;com.android.vending.INSTALL“u referer”;得到发送?,android,google-play,Android,Google Play,这是我的问题 我的目标是跟踪谷歌play的应用程序安装情况。 我的应用程序中写入了广播接收器。因此,当该应用程序从谷歌play下载时,根据谷歌页面,将出现一个广播“com.android.vending.INSTALL\u referer”: 但我的问题是,如果在安装我的应用程序时发生这种情况,那么我如何启动应用程序附带的broadcastreceiver来接收这种意图 换句话说,我的逻辑是我的应用程序必须完成安装才能执行任何接收。或者这是否意味着,第一次启动我的应用程序的意图是“com.an

这是我的问题 我的目标是跟踪谷歌play的应用程序安装情况。 我的应用程序中写入了广播接收器。因此,当该应用程序从谷歌play下载时,根据谷歌页面,将出现一个广播“com.android.vending.INSTALL\u referer”:

但我的问题是,如果在安装我的应用程序时发生这种情况,那么我如何启动应用程序附带的broadcastreceiver来接收这种意图

换句话说,我的逻辑是我的应用程序必须完成安装才能执行任何接收。或者这是否意味着,第一次启动我的应用程序的意图是“com.android.vending.INSTALL\u referer”意图,因此该意图会传递到我的onCreate()函数中

我在这里有点困惑,不想找到一些好的文档。 有人给我指对方向吗?谢谢

“请记住,在呼叫接收者时,应用程序的其余部分不会运行,因此通常您会在某个位置记录引用者字符串,例如SharedReferences,然后在运行主应用程序时,将其收集起来并使用分析库。(您当然不希望阻止接收器中等待网络连接和类似操作的处理!)


安装应用程序后,此意图将被“激发”

如果您在AndroidManifest.xml中声明了一个接收者,其中包含一个与激发的意图匹配的意图过滤器,那么该接收者代码将启动并传递该意图。它不会传递到应用程序的onCreate(),也不会在以后启动任何活动

<receiver
        android:exported="true"
        android:name="com.yourapp.InstallReceiver">
        <intent-filter>
            <action android:name="com.android.vending.INSTALL_REFERRER" />
        </intent-filter>
</receiver>

在此广播接收器代码中,您可以解析接收到的意图并执行任何您想要的操作: e、 g.启动后台线程,并在本地或网络上记录该信息

意图甚至可能包含一个最初传入的“推荐人”(即导致此下载和安装的Playstore链接在哪里?)标识符(通过商店中应用程序链接上的附加参数)。这对于跟踪实际导致应用程序安装的推荐来源非常有用

此外,该链接还可以包含其他参数,用于配置应用程序,您可以在接收器代码中处理(并存储?),然后在以后启动应用程序时读取这些参数。

这非常有用