diff --git a/services/ans/BUILD.gn b/services/ans/BUILD.gn index bfa66da97fbb662e7ccab32497236b1aefd9c24a..45345a948a230b43f02b8475e20383f85733f3cd 100644 --- a/services/ans/BUILD.gn +++ b/services/ans/BUILD.gn @@ -79,6 +79,7 @@ ohos_shared_library("libans") { "ability_runtime:app_manager", "ability_runtime:wantagent_innerkits", "access_token:libaccesstoken_sdk", + "device_usage_statistics:usagestatsinner", "distributeddatamgr:distributeddata_inner", "multimedia_image_standard:image_native", "multimedia_media_standard:media_client", diff --git a/services/ans/src/advanced_notification_service.cpp b/services/ans/src/advanced_notification_service.cpp index 8fe812c6900a34f579f9091e8e9110e7a313fe05..7ddff2252582036a0bfacdb736285b309a0a1d57 100644 --- a/services/ans/src/advanced_notification_service.cpp +++ b/services/ans/src/advanced_notification_service.cpp @@ -28,6 +28,7 @@ #include "ans_log_wrapper.h" #include "ans_watchdog.h" #include "ans_permission_def.h" +#include "bundle_active_client.h" #include "bundle_manager_helper.h" #include "common_event_manager.h" #include "common_event_support.h" @@ -477,6 +478,10 @@ ErrCode AdvancedNotificationService::Publish(const std::string &label, const spt if (result != ERR_OK) { return result; } + int32_t userId = request->GetCreatorUserId(); + std::string bundleName = bundleOption->GetBundleName(); + DeviceUsageStats::BundleActiveEvent event(DeviceUsageStats::BundleActiveEvent::NOTIFICATION_SEEN, bundleName); + DeviceUsageStats::BundleActiveClient::GetInstance().ReportEvent(event, userId); return PublishPreparedNotification(request, bundleOption); }