我正在开发一个Android应用程序,我正在使用INSTALL\u referer
了解我的应用程序的安装来源。为此,我使用了firstGoogle Analytics
Install\u referer intent filter和一个我自己定制的过滤器。
是否有可能有两个广播接收器条目带有意图过滤器com.Android出售。在Android中安装\u referer
?
谷歌分析接收器
<receiver
android:name="com.google.analytics.tracking.android.CampaignTrackingReceiver"
android:exported="true" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
我的自定义广播接收器。
<receiver
android:name="com.xyz.broadcastreceiver.ReferrerCatcher"
android:exported="true" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
我一直在一个类似的应用程序中工作,在做了一些研究后,我发现我们可以删除谷歌分析接收器(因为它什么也不做),并使用您自己的自定义接收器。当然,你仍然可以让你的应用程序通过实现以下代码向谷歌分析发送数据:
public enum TrackerName {
APP_TRACKER, // Tracker used only in this app.
GLOBAL_TRACKER, // Tracker used by all the apps from a company. eg: roll-up tracking.
ECOMMERCE_TRACKER, // Tracker used by all ecommerce transactions from a company.
}
HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>();
synchronized Tracker getTracker(TrackerName trackerId) {
if (!mTrackers.containsKey(trackerId)) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
Tracker t = (trackerId == TrackerName.APP_TRACKER) ? analytics.newTracker("UA-xxxxxxxx-1")
: (trackerId == TrackerName.GLOBAL_TRACKER) ? analytics.newTracker(R.xml.global_tracker)
: analytics.newTracker("UA-xxxxxxxx-1");
mTrackers.put(trackerId, t);
} return mTrackers.get(trackerId);
}
// Get tracker.
Tracker t = getTracker(TrackerName.APP_TRACKER);
// Set screen name.
t.setScreenName("some string");
// Send a screen view.
t.send(new HitBuilders.AppViewBuilder().build());
编辑:
下面的代码显示了我如何在AndroidManifest中声明广播接收器。xml:
<!-- Used for Google Play Store Campaign Measurement-->;
<service android:name="com.google.android.gms.analytics.CampaignTrackingService" />
<receiver android:name=".app.service.CustomReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
不,我们不能有两个安装参考广播接收器。为此,我创建了自己的自定义广播接收器,以实现谷歌分析源跟踪和我自己的东西。
<receiver
android:name="com.xyz.broadcastreceiver.ReferrerCatcher"
android:exported="true" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
在参考捕捉器中
广播接收器
public class ReferrerCatcher extends BroadcastReceiver {
public static final String TAG = InstallReceiver.class.getCanonicalName();
@Override
public void onReceive(Context context, Intent intent) {
// Google Analytics
new CampaignTrackingReceiver().onReceive(context, intent);
Log.d(TAG, intent.getExtras().getString("referrer");
// my stuff here
}
}
可能是Tomcat每次停止都要删除/conf/catalina/localhost文件夹下的website.xml文件。 localhost文件夹下的website.xml文件如下所示
一旦我们在android 10后台收到FCM推送通知消息,启动活动就受到限制。当我们在另一个应用程序中时,需要像WhatsApp和Skype通知来电这样的解决方案。 任何帮助都将不胜感激。 下面是前台服务和时间敏感通知的代码。 startForeground(1234,getNotification(IncomingCallContent));
null 这是我第一次尝试将Firebase集成到我的一个项目中,因此一些关于实现这项任务的指导将是非常有用的。 谢了!
我是RxJava新手,目前正在使用RxJava版本1。我的用例就像我必须进行一次rest API调用(使用rest模板)。因此,使用调度器是更好的主意吗。在这种情况下,每次都可以使用computation()或任何调度器。 我的课程是 SampleController。Java语言 服务Java语言 在这里,我使用Schedulers来启动新线程。但我再次使用延迟结果进行即时响应,Spring将把
问题内容: 我有一个使用此函数运行线程的代码示例。我们为什么以及何时需要使用它? 编辑 怎么样来使用类,什么是和? 问题答案: 当您要从非UI线程更新UI时必须使用。例如-如果您想从后台线程更新UI。您也可以将其用于同一件事。 从文档- 在UI线程上运行指定的操作。如果当前线程是UI线程,则立即执行该操作。如果当前线程不是UI线程,则将操作发布到UI线程的事件队列。 句法 - 更新- 如果您要执行
问题内容: 我可以在一个应用程序中包含多个web.xml文件吗?并且两个应用程序可以具有父子关系,以便有两个web.xml吗? 问题答案: 对于Servlet 3.0以下,您不能。 如果您使用的是3.0,则有可能。 在JSR 315:Java Servlet 3.0规范中,引入了 web-fragment.xml 来实现库jar的可插入性,这些库jar打包在 WEB-INF / lib下 。web