value和ref的区别

ref和value的区别
ref即引用,
ref="dataSource"就是引用dataSource的bean
value直接设置一个值
ref,spring容器会在引用后进行验证,验证当前的xml是否存在引用的bean
value,spring会在 容器启动,实例化bean 时进行验证

===================================================================
applicationContext-transaction.xml
<?xml version="1.0" encoding="utf-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
	http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
	http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
	http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">
	
	<!-- 定义事务管理器 -->
	<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource" />
	</bean>

	<!-- 定义事务策略 -->
	<tx:advice id="txAdvice" transaction-manager="transactionManager">
		<tx:attributes>
			<!--所有以query开头的方法都是只读的 -->
			<tx:method name="query*" read-only="true" />
			<!--其他方法使用默认事务策略 -->
			<tx:method name="*" />
		</tx:attributes>
	</tx:advice>

	<aop:config>
		<!--pointcut元素定义一个切入点,execution中的第一个星号 用以匹配方法的返回类型,
			这里星号表明匹配所有返回类型。 com.abc.dao.*.*(..)表明匹配cn.itcast.mybatis.service包下的所有类的所有 
			方法 -->
		<aop:pointcut id="myPointcut" expression="execution(* cn.itcast.mybatis.service.*.*(..))" />
		<!--将定义好的事务处理策略应用到上述的切入点 -->
		<aop:advisor advice-ref="txAdvice" pointcut-ref="myPointcut" />
	</aop:config>
	
</beans>

applicationContext.xml
?xml version="1.0" encoding="utf-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
       xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
	http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
	http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
	http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">

    <!-- 使用spring自带的占位符替换功能 -->
    <bean
            class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <!-- 允许JVM参数覆盖 -->
        <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
        <!-- 忽略没有找到的资源文件 -->
        <property name="ignoreResourceNotFound" value="true" />
        <!-- 配置资源文件 -->
        <property name="locations">
            <list>
                <value>classpath:jdbc.properties</value>
            </list>
        </property>
    </bean>

    <!-- 开启注解扫描 -->
    <context:component-scan base-package="cn.itcast.usermanage.service"/>

    <!-- 配置数据源 -->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
          init-method="init" destroy-method="close">
        <property name="driverClassName" value="${jdbc.driver}" />
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
    </bean>

</beans>





给出这个value有哪几种种类的builder; <entry key="${omada.app.eap.status.type}" value-ref="eapStatusMsgGcmPayloadBuilder"/> <entry key="${omada.app.controller.status.type}" value-ref="statusMsgGcmPayloadBuilder" /> <entry key="${tether.app.subscribe.status.type}" value-ref="statusMsgGcmPayloadBuilder" /> <entry key="${tapo.shareLauch.msg.type}" value-ref="tapoShareFcmPayloadBuilder" /> <entry key="${tapo.detect.smartTapoDeviceActivity.msg.type}" value-ref="smartTapoDeviceActivityFcmPayloadBuilder" /> <entry key="${device.msg.msg.type}" value-ref="notificationFcmPayloadBuilder" /> <entry key="${autoupgrade.msg.msg.type}" value-ref="autoUpgradeFcmPayloadBuilder" /> <entry key="${tapoFfsNewDeviceFound.msg.msg.type}" value-ref="tapoFfsFcmPayloadBuilder" /> <entry key="${tapo.camera.areaIntrusion.msg.msg.type}" value-ref="tapoFcmPayloadBuilder" /> <entry key="${tapo.camera.linecrossing.msg.msg.type}" value-ref="tapoFcmPayloadBuilder" /> <entry key="${tapo.camera.cameraTampering.msg.msg.type}" value-ref="tapoFcmPayloadBuilder" /> <entry key="${tapo.expire.trialin3days.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.expire.trial.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.expire.subscriptionin3days.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.expire.subscription.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.paymentfailed.subscription.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.preference.subscription.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.activated.subscription.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.tapoContactSensorTriggered.msg.type}" value-ref="tapoTriggeredFcmPayloadBuilder"/> <entry key="${tapo.tapoSmartButtonTriggered.msg.type}" value-ref="tapoTriggeredFcmPayloadBuilder"/> <entry key="${tapo.tapoSmartSwitchTriggered.msg.type}" value-ref="tapoTriggeredFcmPayloadBuilder"/> <entry key="${tapo.tapoHubTriggered.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.tapoMotionSensorTriggered.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.tapoThermostatRadiatorValve.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.tapoDeviceLowBattery.msg.type}" value-ref="triggeredMsgFcmPayloadBuilder"/> <entry key="${tapo.tapoSensorFrequentlyTriggered.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.tapoSmartGarageDoorKeptOpen.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.tapoSmartGarageDoorOpen.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.tapoSmartGarageDoorClose.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.tapoSmartGarageDoorAbnormallyOpen.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.tapoSmartGarageDoorAbnormallyClose.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${verification.msg.type}" value-ref="verificationFcmPayloadBuilder"/> <entry key="${tapo.iotDeviceActivity.msg.type}" value-ref="triggeredMsgFcmPayloadBuilder"/> <entry key="${tapo.kasaCareFreeTrialEnded.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.kasaCareSubscriptionExpired.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.kasaCarePaymentFailed.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.iotDeviceManualRecording.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.iotDeviceTampered.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.iotDeviceTransactionTimeout.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.iotDoorBellRing.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.iotDeviceTempOverheat.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.iotDeviceVideoSummary.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.videosummaryGenerated.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.videosummaryGeneratedV2.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.videosummaryCanCreateFromClips.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${iac.userReport.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.petDetected.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.vehicleDetected.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.BatteryEmpty.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.BatteryFullyCharged.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.PowerSavingModeEnabled.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.CameraLowBattery.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${backupAlert.msg.msg.type}" value-ref="backupAlertFcmPayloadBuilder"/> <entry key="${iac.tapoCareWeeklyReportNewFeature.msg.type}" value-ref="tapoFcmPayloadBuilder" /> <entry key="${tapo.tapoGlassBreakingDetected.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.tapoSmokeAlarmDetected.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.tapoMeowDetected.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.tapoBarkDetected.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.tapoDeviceOverheat.msg.type}" value-ref="triggeredMsgFcmPayloadBuilder"/> <entry key="${tapo.tapoDeviceOverheatRelieve.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.tapoSensorWaterLeakDetected.msg.type}" value-ref="tapoSensorMsgFcmPayloadBuilder"/> <entry key="${tapo.tapoSensorWaterLeakSolved.msg.type}" value-ref="tapoSensorMsgFcmPayloadBuilder"/> <entry key="${tapo.tapoSensorTempTooWarm.msg.type}" value-ref="tapoSensorMsgFcmPayloadBuilder"/> <entry key="${tapo.tapoSensorTempTooCool.msg.type}" value-ref="tapoSensorMsgFcmPayloadBuilder"/> <entry key="${tapo.tapoSensorTooHumid.msg.type}" value-ref="tapoSensorMsgFcmPayloadBuilder"/> <entry key="${tapo.tapoSensorTooDry.msg.type}" value-ref="tapoSensorMsgFcmPayloadBuilder"/> <entry key="${tapo.lensMask.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.ringEvent.msg.type}" value-ref="soundFcmPayloadBuilder"/> <entry key="${tapo.missRingEvent.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.storyRingEvent.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.storyPersonEvent.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.deliverPackageDetected.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.pickUpPackageDetected.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.antiTheft.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.iotDeviceTriggerStop.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.iotDeviceMotionTriggeredStop.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.iotDeviceLock.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.iotDeviceUnlock.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.iotDeviceLocking.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.iotDeviceUnlocking.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.iotDeviceUnknown.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.iotDeviceStatus.msg.type}" value-ref="triggeredMsgFcmPayloadBuilder"/> <entry key="${tapo.iotDeviceAbnormal.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.iotDeviceLoadAbnormal.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tss.provisionee.msg.type}" value-ref="tssFcmPayloadBuilder" /> <entry key="${tapo.tapoDevicePowerProtection.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.msg.online.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.robotBatteryExceptionEvent.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.robotCleanRelativeEvent.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.robotLocateFailEvent.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.robotIssueDetected.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.kasaCareSubscriptionExpiringIn3Days.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.kasaCareSubscriptionDowngradePreference.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.kasaCareSubscriptionDowngradeActivated.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${cloud.account.abnormalLogin.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${cloud.account.accountLeak.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.abnormalBatteryPowerConsumption.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.messageActionPush.msg.type}" value-ref="tapoFcmPayloadBuilder" /> <entry key="${tapo.deviceOffline.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.currentProtectionEvent.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.tapoDeviceJam.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.tapoDeviceMotorMalfunction.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.tapoLockLowBattery.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.tapoDeviceUnlock.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.tapoDeviceLock.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.tapoDeviceWrongTry.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.tapoDeviceDoorbellRang.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.familiarFaceDetected.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.unfamiliarFaceDetected.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.hardDiskNotInitialized.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.hardDiskInsufficientStorage.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.faceDetectWeeklyReport.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.faceDetectMonthlyReport.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.connectedApplianceFullyCharged.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${tapo.newMessageFromTechnicalSupport.msg.type}" value-ref="tapoFcmPayloadBuilder"/> <entry key="${app.push.type.default}" value-ref="gcmPayLoadBuilder" />
09-20
帮我把这两个beanmap的相同消息类型的不同payloadBuilder整合出来,例如:shareLauch:["tapoShareAPNsNotificationBuilder", "tapoShareFcmPayloadBuilder"]。<util:map id="apnsNotificationMap" map-class="java.util.HashMap" key-type="java.lang.String" value-type="com.tplink.cloud.msgcenter.service.sender.payloadBuilder.AppPayloadBuilder"> <entry key="${tapo.shareLauch.msg.type}" value-ref="tapoShareAPNsNotificationBuilder" /> <entry key="${tapo.detect.smartTapoDeviceActivity.msg.type}" value-ref="smartTapoDeviceActivityApnsNotificationBuilder" /> <entry key="${tapoFfsNewDeviceFound.msg.msg.type}" value-ref="tapoFfsApnsNotificationBuilder" /> <entry key="${tapo.camera.areaIntrusion.msg.msg.type}" value-ref="tapoApnsNotificationBuilder" /> <entry key="${tapo.camera.linecrossing.msg.msg.type}" value-ref="tapoApnsNotificationBuilder" /> <entry key="${tapo.camera.cameraTampering.msg.msg.type}" value-ref="tapoApnsNotificationBuilder" /> <entry key="${tapo.expire.trialin3days.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.expire.trial.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.expire.subscriptionin3days.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.expire.subscription.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.paymentfailed.subscription.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.preference.subscription.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.activated.subscription.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoContactSensorTriggered.msg.type}" value-ref="tapoTriggeredApnsNotificationBuilder"/> <entry key="${tapo.tapoSmartButtonTriggered.msg.type}" value-ref="tapoTriggeredApnsNotificationBuilder"/> <entry key="${tapo.tapoSmartSwitchTriggered.msg.type}" value-ref="tapoTriggeredApnsNotificationBuilder"/> <entry key="${tapo.tapoHubTriggered.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoMotionSensorTriggered.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoThermostatRadiatorValve.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoDeviceLowBattery.msg.type}" value-ref="triggeredMsgApnsNotificationBuilder"/> <entry key="${tapo.tapoSensorFrequentlyTriggered.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoSmartGarageDoorKeptOpen.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoSmartGarageDoorOpen.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoSmartGarageDoorClose.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoSmartGarageDoorAbnormallyOpen.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoSmartGarageDoorAbnormallyClose.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.iotDeviceActivity.msg.type}" value-ref="triggeredMsgApnsNotificationBuilder"/> <entry key="${tapo.kasaCareFreeTrialEnded.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.kasaCareSubscriptionExpired.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.kasaCarePaymentFailed.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.iotDeviceManualRecording.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.iotDeviceTampered.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.iotDeviceTransactionTimeout.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.iotDoorBellRing.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.iotDeviceTempOverheat.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.iotDeviceVideoSummary.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.videosummaryGenerated.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.videosummaryGeneratedV2.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.videosummaryCanCreateFromClips.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${iac.userReport.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.petDetected.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.vehicleDetected.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.BatteryEmpty.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.BatteryFullyCharged.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.PowerSavingModeEnabled.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.CameraLowBattery.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${iac.tapoCareWeeklyReportNewFeature.msg.type}" value-ref="tapoApnsNotificationBuilder" /> <entry key="${tapo.tapoGlassBreakingDetected.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoSmokeAlarmDetected.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoMeowDetected.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoBarkDetected.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoDeviceOverheat.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoDeviceOverheatRelieve.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoSensorWaterLeakDetected.msg.type}" value-ref="tapoSensorMsgApnsNotificationBuilder"/> <entry key="${tapo.tapoSensorWaterLeakSolved.msg.type}" value-ref="tapoSensorMsgApnsNotificationBuilder"/> <entry key="${tapo.tapoSensorTempTooWarm.msg.type}" value-ref="tapoSensorMsgApnsNotificationBuilder"/> <entry key="${tapo.tapoSensorTempTooCool.msg.type}" value-ref="tapoSensorMsgApnsNotificationBuilder"/> <entry key="${tapo.tapoSensorTooHumid.msg.type}" value-ref="tapoSensorMsgApnsNotificationBuilder"/> <entry key="${tapo.tapoSensorTooDry.msg.type}" value-ref="tapoSensorMsgApnsNotificationBuilder"/> <entry key="${tapo.lensMask.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.ringEvent.msg.type}" value-ref="soundApnsNotificationBuilder"/> <entry key="${tapo.missRingEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.storyRingEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.storyPersonEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.deliverPackageDetected.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.pickUpPackageDetected.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.antiTheft.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.iotDeviceTriggerStop.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.iotDeviceMotionTriggeredStop.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.iotDeviceLock.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.iotDeviceUnlock.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.iotDeviceLocking.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.iotDeviceUnlocking.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.iotDeviceUnknown.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.iotDeviceStatus.msg.type}" value-ref="triggeredMsgApnsNotificationBuilder"/> <entry key="${tapo.iotDeviceAbnormal.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.iotDeviceLoadAbnormal.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoDevicePowerProtection.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.msg.online.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.robotBatteryExceptionEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.robotCleanRelativeEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.robotLocateFailEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.robotIssueDetected.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.abnormalBatteryPowerConsumption.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${cloud.account.abnormalLogin.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${cloud.account.accountLeak.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.messageActionPush.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.deviceOffline.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.currentProtectionEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoDeviceJam.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoDeviceMotorMalfunction.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoLockLowBattery.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoDeviceUnlock.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoDeviceLock.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoDeviceWrongTry.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoDeviceDoorbellRang.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.familiarFaceDetected.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.unfamiliarFaceDetected.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.hardDiskNotInitialized.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.hardDiskInsufficientStorage.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.faceDetectWeeklyReport.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.faceDetectMonthlyReport.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.connectedApplianceFullyCharged.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.newMessageFromTechnicalSupport.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${app.push.type.default}" value-ref="apnsNotificationBuilder" /> <entry key="${tapo.switchedToHardwirePowering.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.switchedToBatteryPowering.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.exitAlwaysOnMode.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.lteTrafficExceedUsrSetLimit.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.lteTrafficExceedTotalAmount.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoBabyLeave.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoBabyOffFence.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoMotionNearFence.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoBabyAwake.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoBabyAsleep.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoBabyFaceCoverd.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoBabyMove.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoCaptureNotice.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoWeeklySleepAnalysis.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoCaregiverDetected.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoCameraSDvideoInsufficientStorage.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.CameraSDCaptureInsufficientStorage.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoSubscriptionExpiration.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.tapoCameraCloudCaptureInsufficientStorage.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.CameraSDCaptureNearlyFullStorage.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.MonthlyGrowthRecordVideo.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.BirthdayGrowthRecordVideo.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.AnnualGrowthRecordVideo.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.CloudStorageForMomentsNearlyFull.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.CloudStorageForMomentsCleared.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.PanoramicVideo.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.LoiteringDetected.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.NvrOffline.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.NvrDiskException.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.NvrDiskInsufficientStorage.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.NvrDiskNeedInitialization.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.RelayOperatingAbnormal.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.NvrVideoLoss.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.CamBatteryLowStopAOV.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.CamBatterySufficientResumeAOV.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.DeviceMigration.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.DeviceSharingCanceled.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.CamSDCardEncryptionDisabled.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.CamSDCardAutomaticDecryptionFailed.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.LockLowDryBattery.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.LockDryExtremeLowBattery.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotCleanCompleteEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotSelfMopCleanCompleteEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotSelfWaterShortageEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotWaterTankFullEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotMopClothDryingEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.AIAction.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.AIActionReachLimit.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.LockLowMainBattery.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.LockLowBackupBattery.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SensorLowBattery.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.EventsSummaryWeeklyReport.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.EventsSummaryMonthlyReport.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.LockKeypadLowBattery.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.LockAntiTheftAlarm.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.LockLeftOpenAlarm.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.DeviceBatteryEmpty.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.NetworkSwitchTo4G.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.NetworkSwitchToWifi.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.LockMainBatteryDepleted.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.LockBackupBatteryExtremeLowBattery.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.LockDoorSensorMalfunction.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.AISummary.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.CloudMergeEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.DeviceFrequentOperations.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.AnimalDetected.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.multipleTypeDetect.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.faceDetectWeeklyReportNotAlias.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.faceDetectMonthlyReportNotAlias.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.LockDoorSensorOffset.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotSelfMopCleanCompleteEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotUpdateDockLocationFailEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotUnableFindDockEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotNewLocationDetectedEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotInstallMoppingAttachmentFailedEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotFanMotorBlockedEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotMoppingAttachmentStuckEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotExtendedMopStuckEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotMechanicalMoppingArmsErrorEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotCarpetDetectionSensorErrorEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotWipeFrontLineLaserSensorEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotWipeSideLineLaserSensorEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotMoppingAttachmentRemovedEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotDustBagOrBaseCoverInstalledEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotDirtyWaterTankPumpErrorEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotDryingFanMotorErrorEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotHeatingModuleErrorEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotCleaningTrayOverflowEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotCleaningTrayNotInstalledEvent.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.DoorKeepOpenTooLong.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.UnexpectedDoorOpening.msg.type}" value-ref="tapoApnsNotificationBuilder"/> <entry key="${tapo.Tapo.DeviceControlFailed.msg.type}" value-ref="tapoApnsNotificationBuilder"/> </util:map><util:map id="gcmNotificationMap" map-class="java.util.HashMap" key-type="java.lang.String" value-type="com.tplink.cloud.msgcenter.service.sender.payloadBuilder.AppPayloadBuilder"> <entry key="${tapo.shareLauch.msg.type}" value-ref="tapoShareFcmNotificationBuilder" /> <entry key="${tapo.detect.smartTapoDeviceActivity.msg.type}" value-ref="smartTapoDeviceActivityFcmNotificationBuilder" /> <entry key="${tapoFfsNewDeviceFound.msg.msg.type}" value-ref="tapoFfsFcmNotificationBuilder" /> <entry key="${tapo.camera.areaIntrusion.msg.msg.type}" value-ref="tapoFcmNotificationBuilder" /> <entry key="${tapo.camera.linecrossing.msg.msg.type}" value-ref="tapoFcmNotificationBuilder" /> <entry key="${tapo.camera.cameraTampering.msg.msg.type}" value-ref="tapoFcmNotificationBuilder" /> <entry key="${tapo.expire.trialin3days.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.expire.trial.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.expire.subscriptionin3days.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.expire.subscription.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.paymentfailed.subscription.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.preference.subscription.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.activated.subscription.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoContactSensorTriggered.msg.type}" value-ref="tapoTriggeredFcmNotificationBuilder"/> <entry key="${tapo.tapoSmartButtonTriggered.msg.type}" value-ref="tapoTriggeredFcmNotificationBuilder"/> <entry key="${tapo.tapoSmartSwitchTriggered.msg.type}" value-ref="tapoTriggeredFcmNotificationBuilder"/> <entry key="${tapo.tapoHubTriggered.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoMotionSensorTriggered.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoThermostatRadiatorValve.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoDeviceLowBattery.msg.type}" value-ref="triggeredMsgFcmNotificationBuilder"/> <entry key="${tapo.tapoSensorFrequentlyTriggered.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoSmartGarageDoorKeptOpen.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoSmartGarageDoorOpen.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoSmartGarageDoorClose.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoSmartGarageDoorAbnormallyOpen.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoSmartGarageDoorAbnormallyClose.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.iotDeviceActivity.msg.type}" value-ref="triggeredMsgFcmNotificationBuilder"/> <entry key="${tapo.kasaCareFreeTrialEnded.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.kasaCareSubscriptionExpired.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.kasaCarePaymentFailed.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.iotDeviceManualRecording.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.iotDeviceTampered.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.iotDeviceTransactionTimeout.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.iotDoorBellRing.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.iotDeviceTempOverheat.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.iotDeviceVideoSummary.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.videosummaryGenerated.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.videosummaryGeneratedV2.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.videosummaryCanCreateFromClips.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${iac.userReport.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.petDetected.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.vehicleDetected.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.BatteryEmpty.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.BatteryFullyCharged.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.PowerSavingModeEnabled.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.CameraLowBattery.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${iac.tapoCareWeeklyReportNewFeature.msg.type}" value-ref="tapoFcmNotificationBuilder" /> <entry key="${tapo.tapoGlassBreakingDetected.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoSmokeAlarmDetected.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoMeowDetected.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoBarkDetected.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoDeviceOverheat.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoDeviceOverheatRelieve.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoSensorWaterLeakDetected.msg.type}" value-ref="tapoSensorMsgFcmNotificationBuilder"/> <entry key="${tapo.tapoSensorWaterLeakSolved.msg.type}" value-ref="tapoSensorMsgFcmNotificationBuilder"/> <entry key="${tapo.tapoSensorTempTooWarm.msg.type}" value-ref="tapoSensorMsgFcmNotificationBuilder"/> <entry key="${tapo.tapoSensorTempTooCool.msg.type}" value-ref="tapoSensorMsgFcmNotificationBuilder"/> <entry key="${tapo.tapoSensorTooHumid.msg.type}" value-ref="tapoSensorMsgFcmNotificationBuilder"/> <entry key="${tapo.tapoSensorTooDry.msg.type}" value-ref="tapoSensorMsgFcmNotificationBuilder"/> <entry key="${tapo.lensMask.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.ringEvent.msg.type}" value-ref="soundFcmNotificationBuilder"/> <entry key="${tapo.missRingEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.storyRingEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.storyPersonEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.deliverPackageDetected.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.pickUpPackageDetected.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.antiTheft.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.iotDeviceTriggerStop.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.iotDeviceMotionTriggeredStop.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.iotDeviceLock.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.iotDeviceUnlock.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.iotDeviceLocking.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.iotDeviceUnlocking.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.iotDeviceUnknown.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.iotDeviceStatus.msg.type}" value-ref="triggeredMsgFcmNotificationBuilder"/> <entry key="${tapo.iotDeviceAbnormal.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.iotDeviceLoadAbnormal.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoDevicePowerProtection.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.msg.online.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.robotBatteryExceptionEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.robotCleanRelativeEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.robotLocateFailEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.robotIssueDetected.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.abnormalBatteryPowerConsumption.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${cloud.account.abnormalLogin.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${cloud.account.accountLeak.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.messageActionPush.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.deviceOffline.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.currentProtectionEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoDeviceJam.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoDeviceMotorMalfunction.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoLockLowBattery.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoDeviceUnlock.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoDeviceLock.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoDeviceWrongTry.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoDeviceDoorbellRang.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.familiarFaceDetected.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.unfamiliarFaceDetected.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.hardDiskNotInitialized.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.hardDiskInsufficientStorage.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.faceDetectWeeklyReport.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.faceDetectMonthlyReport.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.connectedApplianceFullyCharged.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.newMessageFromTechnicalSupport.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${app.push.type.default}" value-ref="gcmNotificationBuilder" /> <entry key="${tapo.switchedToHardwirePowering.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.switchedToBatteryPowering.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.exitAlwaysOnMode.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.lteTrafficExceedUsrSetLimit.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.lteTrafficExceedTotalAmount.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoBabyLeave.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoBabyOffFence.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoMotionNearFence.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoBabyAwake.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoBabyAsleep.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoBabyFaceCoverd.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoBabyMove.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoCaptureNotice.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoWeeklySleepAnalysis.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoCaregiverDetected.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoCameraSDvideoInsufficientStorage.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.CameraSDCaptureInsufficientStorage.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoSubscriptionExpiration.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.tapoCameraCloudCaptureInsufficientStorage.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.CameraSDCaptureNearlyFullStorage.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.MonthlyGrowthRecordVideo.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.BirthdayGrowthRecordVideo.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.AnnualGrowthRecordVideo.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.CloudStorageForMomentsNearlyFull.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.CloudStorageForMomentsCleared.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.PanoramicVideo.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.LoiteringDetected.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.NvrOffline.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.NvrDiskException.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.NvrDiskInsufficientStorage.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.NvrDiskNeedInitialization.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.RelayOperatingAbnormal.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.NvrVideoLoss.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.CamBatteryLowStopAOV.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.CamBatterySufficientResumeAOV.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.DeviceMigration.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.DeviceSharingCanceled.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.CamSDCardEncryptionDisabled.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.CamSDCardAutomaticDecryptionFailed.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.LockLowDryBattery.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.LockDryExtremeLowBattery.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotCleanCompleteEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotSelfMopCleanCompleteEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotSelfWaterShortageEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotWaterTankFullEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotMopClothDryingEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.AIAction.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.AIActionReachLimit.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.LockLowMainBattery.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.LockLowBackupBattery.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SensorLowBattery.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.EventsSummaryWeeklyReport.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.EventsSummaryMonthlyReport.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.LockKeypadLowBattery.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.LockAntiTheftAlarm.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.LockLeftOpenAlarm.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.DeviceBatteryEmpty.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.NetworkSwitchTo4G.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.NetworkSwitchToWifi.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.LockMainBatteryDepleted.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.LockBackupBatteryExtremeLowBattery.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.LockDoorSensorMalfunction.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.AISummary.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.CloudMergeEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.DeviceFrequentOperations.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.AnimalDetected.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.multipleTypeDetect.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.faceDetectWeeklyReportNotAlias.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.faceDetectMonthlyReportNotAlias.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.LockDoorSensorOffset.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotSelfMopCleanCompleteEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotUpdateDockLocationFailEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotUnableFindDockEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotNewLocationDetectedEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotInstallMoppingAttachmentFailedEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotFanMotorBlockedEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotMoppingAttachmentStuckEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotExtendedMopStuckEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotMechanicalMoppingArmsErrorEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotCarpetDetectionSensorErrorEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotWipeFrontLineLaserSensorEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotWipeSideLineLaserSensorEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotMoppingAttachmentRemovedEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotDustBagOrBaseCoverInstalledEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotDirtyWaterTankPumpErrorEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotDryingFanMotorErrorEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotHeatingModuleErrorEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotCleaningTrayOverflowEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.SelfCleanRobotCleaningTrayNotInstalledEvent.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.DoorKeepOpenTooLong.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.UnexpectedDoorOpening.msg.type}" value-ref="tapoFcmNotificationBuilder"/> <entry key="${tapo.Tapo.DeviceControlFailed.msg.type}" value-ref="tapoFcmNotificationBuilder"/> </util:map>
10-09
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值