安装跟踪是否需要导出?
Install tracking needs to been exported or not?
我正在使用两种方法跟踪我的安装,就像您在我的清单中看到的那样:
<receiver
android:name="com.google.android.gms.tagmanager.InstallReferrerReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
<receiver
android:name=".tracking.ReferralReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
第二个接收器生成一个 lint 警告第一个没有。这是否意味着 Google 知道他们的 InstallReferrerReceiver
并且知道让它出口是安全的?
PS:我知道我可以使用 tools:ignore="ExportedReceiver"
。
当从 Google Play 商店安装应用程序时,会广播 INSTALL_REFERRER
意图。
android:exported="true"
表示允许接收方接收来自其他应用程序的广播意图。你确实想要这个,否则你将无法收到另一个应用程序(系统或 Play 商店应用程序,我不确定)发送的事件。
但是,如果您查看 android:exported
的文档,如果它至少有一个 <intent-filter>
,则其默认值为 true,否则为 false。
综上所述,您需要 android:exported="true"
才能赶上活动。但是省略这个 属性 也可以,因为你的接收器的默认值是 true
(但拥有它更安全)。
关于 Lint 警告:它识别名称,这就是为什么它知道第一个版本是安全的。
我正在使用两种方法跟踪我的安装,就像您在我的清单中看到的那样:
<receiver
android:name="com.google.android.gms.tagmanager.InstallReferrerReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
<receiver
android:name=".tracking.ReferralReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
第二个接收器生成一个 lint 警告第一个没有。这是否意味着 Google 知道他们的 InstallReferrerReceiver
并且知道让它出口是安全的?
PS:我知道我可以使用 tools:ignore="ExportedReceiver"
。
当从 Google Play 商店安装应用程序时,会广播 INSTALL_REFERRER
意图。
android:exported="true"
表示允许接收方接收来自其他应用程序的广播意图。你确实想要这个,否则你将无法收到另一个应用程序(系统或 Play 商店应用程序,我不确定)发送的事件。
但是,如果您查看 android:exported
的文档,如果它至少有一个 <intent-filter>
,则其默认值为 true,否则为 false。
综上所述,您需要 android:exported="true"
才能赶上活动。但是省略这个 属性 也可以,因为你的接收器的默认值是 true
(但拥有它更安全)。
关于 Lint 警告:它识别名称,这就是为什么它知道第一个版本是安全的。