App notification windows 10

Содержание
  1. How to Mute or Change App Notification sound in Windows 10
  2. How to Disable Notifications sounds for apps
  3. Another method would be as follows:
  4. How to disable notifications for an App in Windows 10
  5. How to disable App Notifications on Windows 10
  6. Focus Assist
  7. Disable Notifications for an application
  8. How to Fix Notifications on Windows 10
  9. What causes Windows 10 Notifications to stop working?
  10. Method 1: Enable Let Apps run in the background
  11. Method 2: Turn on Notifications for Specific Apps
  12. Method 3: Turn on/off Notifications via Registry
  13. Method 4: Adding Action Center through Power Shell
  14. Method 5: Performing an SFC Scan
  15. Method 6: Reconfigure Registry Settings
  16. Method 7: Run DISM Scan
  17. Method 8: Restart Windows Explorer
  18. Method 9: Using Third-Party Tool
  19. Method 10: Optimize Disk Drive
  20. Method 11: Run Microsoft Account Troubleshooter
  21. Method 12: Checking for Updates
  22. Method 13: Performing a Restore
  23. Method 14: Removing Akamai Netsession Client
  24. Solution 15: Uninstalling Dropbox
  25. Solution 16: Hiding the Taskbar
  26. Solution 17: Creating a New User Account
  27. Solution 18: Low-Level Format on HDD
  28. Solution 19: Performing Clean Shutdown
  29. Solution 20: Uninstalling Updates
  30. Solution 21: Renaming UsrClass.dat File
  31. Плитки, индикаторы событий и уведомления в приложениях для Windows Tiles, badges, and notifications for Windows apps
  32. Part 4: Add Windows 10 user activities and notifications
  33. Add a user activity
  34. Introduction to Adaptive Cards
  35. Add an Adaptive Card
  36. About the code
  37. Define the user activity
  38. About the code
  39. Integrate the application with Timeline
  40. Add a notification
  41. Next steps

How to Mute or Change App Notification sound in Windows 10

The notification system in Windows 10 lets the user know of a notification that has just arrived, through notification sounds. These sounds can be useful to attract the attention of the user who might be busy doing something else on the device. This model of notification sounds is better than the earlier Windows 8 pop up toast notifications, and is pretty good as it ensures the user gets messages or notifications he or she may have previously missed.

Read:

But several users complain that the sounds that chime along with the notifications, are annoying. Notification sounds are heard for connecting or disconnecting a USB, a battery warning, and other mundane notifications, so this can get irritating quickly to anybody who frequently uses his or her Windows 10 device. Users have complained of receiving ghost notifications- the system chimes to inform them they have a notification, but when they open it, there is no notification. Also, people have been receiving notifications late sometimes. In that case, being interrupted by frequent chiming of notifications that probably exist or do not exist, there has to be a way to disable the notification sounds permanently.

Apart from muting the speakers of the device (which would turn sound off for, well, every sound related action), this is how you can disable notification sounds for apps

How to Disable Notifications sounds for apps

Another method would be as follows:

For those users who don’t want to turn all sounds off, or all notification sounds off for that matter, they can easily change the individual Sound settings as well.

Just choose settings which you want to turn off or change the sound from program events list.

Then choose sounds as desired from the list as shown. For muting notification just choose no sound from the dropdown.

Finally click on Apply.

Disabling notification sounds won’t stop the notifications themselves from coming in though, so if you want to disable notifications altogether, just toggle Show app notifications to Off under PC settings.

System settings may be accessible in a different way to other users of Windows 10. For some users, Settings will lead to a System menu, under which

Saurav is associated with IT industry and computers for more than a decade and is writing on The Geek Page on topics revolving on windows 10 and softwares.

Источник

How to disable notifications for an App in Windows 10

Do you dislike too many notifications on your Windows 10 computer? Well some of them are important, but most of them are not required. Windows 10 introduced this concept of notifications, and now almost any application that you have installed can send you one. If you do not like excessive notifications on your computer, there are quite a few ways to disable them. In this post, we are going to talk about cutting down on the number of notifications you get on your computer.

How to disable App Notifications on Windows 10

Focus Assist

If you are looking to disable notifications completely then, you should use Focus Assist. It is a recent addition to Windows and lets you control the level of notifications that you get. You can disable all notifications except the ones from priority apps. You will have to maintain a list of priority applications. Or you can simply disable all notifications except some important ones like alarms.

You can also set up automatic rules such as Focus Assist timings. You can make Focus Assist enabled for a certain period during the day. Or when you are duplicating your display or when you are simply playing a game.

Disable Notifications for an application

Is there an application that is spamming you with notifications? Well then, you can also disable notifications for that application. Windows gives you very fine control over what notifications you want to get. To disable notifications for an app, head over to Settings and then into System. Open Notifications and actions and scroll down to a section that says Get notifications from these apps.

Now find the application that you want to disable notifications for and click the toggle corresponding to it to disable notifications for that app. Or you can click open to explore more settings about that particular application.

You can disable notifications or just the notification banners. Apart from that, you can control the notification sound and its behavior on the lock screen. Lastly, you can adjust the number of notifications displayed in the Action Centre or decide the priority of the selected applications.

As I mentioned, Windows gives you very fine control. You can customize every corner of the notifications part on Windows. Very similarly, you can change notification settings for other applications. You can selectively enable a few applications and disable notifications for one.

Other than that, there are a few other notifications related settings that you can adjust. You can disable notifications about tips, tricks, and suggestions that you might get when you use Windows. Or you can disable notifications on the lock screen. Or you can even disable summary notifications from Windows Defender. So that was pretty much about disabling notifications on Windows 10.

Date: September 24, 2018 Tags: Notifications

Источник

How to Fix Notifications on Windows 10

Windows notifications provide a great way for Windows users to get important alerts from the apps. Unfortunately, the Windows 10 notifications aren’t working properly after the latest Windows Update. A lot of the Windows users are noticing that they don’t get the notification popup (banner notification) but they do see the notification count (bottom right corner of the screen) getting increments. For example, if you perform a specific task that would raise a Windows notification then you won’t see a notification alert nor will you hear a notification sound.

You will, however, see the notification count increment by 1. This means that the Windows 10 notifications aren’t completely broken i.e. you are getting the notification but they aren’t showing as alerts. Users who experienced this also noticed that the notifications weren’t showing up in the action center as well. So, the notification won’t show an alert and it won’t show up in the action center but the counter will be incremented. You should also keep in mind that this isn’t specifically applicable to a single (or a few) apps. The Windows notifications won’t work for any app or any alert at all.

What causes Windows 10 Notifications to stop working?

The main reason, as mentioned above, is the Windows update. This problem usually starts happening after a Windows Update. The solution for this is to turn a certain setting on. So the most logical explanation is that the latest Windows update might have turned it off. Before continuing, verify that you haven’t manually disabled Windows 10 notifications.

Читайте также:  Web server windows firewall

Method 1: Enable Let Apps run in the background

There is an option in the Windows privacy settings that allow users to select whether the apps should run in the background or not. Enabling this option will let the apps run in the background and, therefore, show the notifications. Simply follow the steps given below

That’s it. Reboot and the issue should be fixed after the restart.

Note: If this doesn’t solve the issue then simply wait for the next Windows Update. If you can, report the bug in the Windows Feedback hub. The issue will most likely get fixed in the upcoming updates.

Method 2: Turn on Notifications for Specific Apps

Sometimes the issue isn’t an issue at all. Sometimes we forget to turn on the notifications or a Windows Update simply changes the settings. So, making sure that the notifications are turned on for your system is the first step. We will also make you go through a series of steps that will help you check whether the notifications are on for specific apps. Sometimes the notifications are on but not for every app. So, if you are experiencing an issue with only a couple of apps then that will be resolved by these steps.

Once done, check if the issue is resolved

Note: If the issue isn’t resolved then follow the steps given above until step 5. Then click Settings from the list and make sure all the essential settings are turned on e.g. show notifications in action center, Play a sound when a notification arrives, etc.

Settings of notifications Customize App Notification Settings

Method 3: Turn on/off Notifications via Registry

You can also turn on/off the notifications for all apps via the registry editor. The registry method is a bit tedious and technical so we have provided a bat file. All you have to do is download the files and double click. The file will automatically do the job for you.

Now check and the notifications should be working fine. Although this file turns on the notifications for all apps and senders, you can still follow the steps given in method 2 and change various other settings according to your liking.

You can reverse the changes by double-clicking the Turn_Off_App_Notifications.reg (it should be in the downloaded zip file). This will turn off the notifications for all the apps. The process is the same, download and double-clicking to run the file and you should be good to go.

Method 4: Adding Action Center through Power Shell

In some cases, the issue might be triggered if the Windows 10 Action center has somehow been disabled or if it is being interfered with on your computer through a third-party app or service. Therefore, in this step, we will be disabling the Windows 10 Action center from the Powershell window and then we will check to see if doing so fixes the issue.

Method 5: Performing an SFC Scan

In some cases, certain Windows services or drivers might’ve gotten broken or corrupted due to which the Windows Notifications aren’t working. Therefore, in this step, we will be performing an SFC scan to fix this issue by automatically checking and replacing any corrupted system files. In order to do so, follow the steps listed as follows.

Method 6: Reconfigure Registry Settings

If the above registry fix doesn’t work for you, we can try to manually reconfigure some registry settings in an attempt to fix the Windows notifications. In this step, we will be changing the value of a registry entry that should be responsible for sending notifications to the Windows 10 action center. In order to do so, follow the steps below.

Method 7: Run DISM Scan

In some situations, the Drive health or partition system on your computer might’ve been damaged which can in some cases interfere with system functions. Therefore, in this step, we will be running a complete DISM scan to fix the Windows 10 Notifications not working and the action center notifications not working issue. Make sure to follow the steps below to run this scan.

Method 8: Restart Windows Explorer

In some situations, the Windows Explorer might get glitched due to which the file sorting system and notifications on the computer might not work properly because the computer gets confused between the timelines. Therefore, in this step, we will be restarting the Windows Explorer and then we will check to see if doing so fixes the notifications not working issue. For that:

Some users reported that this fix worked for them but they had to repeat it after a while to get their notifications working again. Therefore, we can create a batch file to execute on Windows that will automatically perform these steps on our computer and we will not have to repeat them again and again. For that:

Method 9: Using Third-Party Tool

In some cases, the HDD or SSD that you might be using as your partition might need to be defragged and due to the delay in this process by the default Windows defragger, you might be getting issues such as the Windows 10 Notifications not working and other errors.

Therefore, in this step, we will be using a third-party tool called the Advanced System Care tool to perform a Smart Defrag on our partition and that should hopefully get rid of this issue. However, before doing so, we will have to download and install it on our computer. For that:

Method 10: Optimize Disk Drive

In some cases, the root partition of your computer where you have installed the Windows 10 operating system might’ve acquired some bad sectors or it must be badly optimized due to which you are running into the notifications not working issue. In order to fix this, we will be running an optimized operation on the disk drive through the disk management tool. For that:

Method 11: Run Microsoft Account Troubleshooter

It is possible in some cases, that there might have been some issues associated with the account that you are using to sign in to the operating system. Either its database might be corrupted or it might be glitched due to which the notifications aren’t working. In order to fix this, we can run the Microsoft Account Troubleshooter to get around these issues. For that:

Method 12: Checking for Updates

The notifications might not be properly registering on your computer because your operating system has acquired some false configuration files or if the updates haven’t been properly installed on it. Therefore, in this step, we will be checking for any available updates and applying them on our computer. In order to do that, follow the guide below.

Method 13: Performing a Restore

In some situations, a recent change made to the system settings or configurations might’ve affected this feature and broken it on your computer. It is also possible that a recent driver or application install has caused this. Therefore, in this step, we will be restoring the computer to a reset point in the past where this feature was working. For that:

Method 14: Removing Akamai Netsession Client

It is possible that your computer has installed the Akamai Netsession Client to handle some network-related tasks and it is actually preventing the Windows 10 notifications from going through. Therefore, in this step, we will be removing this client from the add or remove programs feature and that should get the notifications back to working again. In order to do this:

Solution 15: Uninstalling Dropbox

It is possible that the Dropbox application installed on your computer might be interfering with some system functions and it might be preventing your notifications from going through. Therefore, in this step, we will be removing the Dropbox application from our computer through the application management screen in the control panel. For that:

Solution 16: Hiding the Taskbar

It is possible that the Windows taskbar might be glitching out and it might actually be preventing the Windows notifications from being displayed. Therefore, in this step, we will be hiding the taskbar when it isn’t active and that should fix this issue for some users. In order to do this, we will have to reconfigure some taskbar settings. For that:

Читайте также:  Windows server 2008 посмотреть открытые файлы

Solution 17: Creating a New User Account

It is possible that the user account that you are using might have acquired a corrupted database or some of its settings might not have been configured properly. It is also possible that it isn’t properly registered with the Microsoft servers due to which you are facing the notifications issue on your computer. Therefore, in this step, we will be creating a new user account from scratch and you will also be able to import your data from the previous account to this new account. In order to do this:

Solution 18: Low-Level Format on HDD

Most users that were unable to fix this issue with any solution available on the internet were most likely running into it due to a bad HDD that was unable to fix itself by fragmentation or even through a clean Windows Install. What this necessarily means is that the Hard Drive that you are using is so badly messed up that even a simple format is unable to bring it back to normal.

However, we thought of fixing this solution through a low-level format that gets rid of all the data to such a scope that it is very difficult to identify or recover it through any method. In addition to making the data unrecoverable, it essentially improves the health of the HDD and gets rid of the worst sectors. In order to do this though, you will have to reinstall Windows on your computer after the process.

Solution 19: Performing Clean Shutdown

In some cases, you might actually be able to fix this issue by performing a clean shutdown. However, you might not be able to do this by just clicking on the “Shutdown” button in the start menu. You can give that a go once and if that doesn’t work, you can attempt to perform a more elaborate shutdown which can in some cases fix this issue.

Basically, most computers by default on Windows 10 are configured to perform a “Fast Startup”. What this means that a file is written to the RAM which contains some basic startup instructions and these don’t need to be loaded from the RAM but we will be performing a complete shutdown by disabling Fast Startup and then turning off the machine. For that:

Solution 20: Uninstalling Updates

The notifications not working bug is a fairly common one but as no one might suspect, it is sometimes caused due to the Windows Update itself. Microsoft is practically known for releasing faulty updates that aren’t properly optimized for all hardware and they end up breaking certain Windows features. Therefore, in this step, we will be uninstalling all updates and then check to see if doing so fixes this issue.

Solution 21: Renaming UsrClass.dat File

In some situations, it is possible that the user account data might’ve been corrupted due to which this particular issue is being triggered. Therefore, as a remedy, we can try to rename the file which contains most of this data and a new file should be generated in its place which obviously won’t be corrupt. This might get some configurations reverted to the defaults but your Data and Account should be safe. In order to do this:

Источник

Плитки, индикаторы событий и уведомления в приложениях для Windows Tiles, badges, and notifications for Windows apps

Узнайте, как использовать плитки, индикаторы событий, всплывающие и простые уведомления, чтобы предоставлять точки входа в свои приложения и держать пользователей в курсе последних событий. Learn how to use tiles, badges, toasts, and notifications to provide entry points into your app and keep users up-to-date.

Плитки используются для представления приложений в меню «Пуск». A tile is an app’s representation on the Start menu. У каждого приложения для Windows есть своя плитка. Every Windows app has a tile. Можно включить несколько размеров плиток (маленькая, средняя, широкая и большая). You can enable different tile sizes (small, medium, wide, and large).

Можно использовать уведомление на плитке, чтобы сообщать пользователю новую информацию, например, заголовки новостей или тему последнего непрочитанного сообщения. You can use a tile notification to update the tile to communicate new information to the user, such as news headlines, or the subject of the most recent unread message.

Можно использовать индикатор событий для предоставления сводной информации или информации о статусе в виде предоставленных системой глифов или числа от 1 до 99. You can use a badge to provide status or summary info in the form of a system-provided glyph or a number from 1-99. Индикаторы событий также отображаются на значке приложения в панели задач. Badges also appear on the task bar icon for an app.

Всплывающее уведомление — это уведомление, которое ваше приложение отправляет пользователю с помощью элемента всплывающего пользовательского интерфейса под названием всплывающее уведомление (или баннер). A toast notification is a notification that your app sends to the user via a pop-up UI element called a toast (or banner). Уведомление отображается независимо от того, включено ли приложение. The notification can be seen whether the user is in your app or not.

Push-уведомление или необработанное уведомление – это уведомление, отправляемое приложению из служб push-уведомлений Windows (WNS), или уведомление от фоновой задачи. A push notification or raw notification is a notification sent to your app either from Windows Push Notification Services (WNS) or from a background task. Ваше приложение может реагировать на эти уведомления, либо сообщая пользователю о том, что произошло какое-то значимое событие (путем обновления индикатора событий, плитки или с помощью всплывающего уведомления), либо другим способом на ваш выбор. Your app can respond to these notifications either by notifying the user that something of interest happened (via badge update, tile update, or toast) or it can respond in any way of your choice.

Источник

Part 4: Add Windows 10 user activities and notifications

This is the fourth part of a tutorial that demonstrates how to modernize a sample WPF desktop app named Contoso Expenses. For an overview of the tutorial, prerequisites, and instructions for downloading the sample app, see Tutorial: Modernize a WPF app. This article assumes you have already completed part 3.

In the previous parts of this tutorial you added UWP XAML controls to the app using XAML Islands. As a by product of this, you also enabled the app to call any WinRT API. This opens up the opportunity for the app to use many other features offered by Windows 10, not just UWP XAML controls.

In the fictional scenario of this tutorial, the Contoso development team has decided to add two new features to the app: activities and notifications. This part of the tutorial shows how to implement these features.

Add a user activity

In Windows 10, apps can track activities performed by the user such as opening a file or displaying a specific page. These activities are then made available through Timeline, a feature introduced in Windows 10 version 1803, which allows the user to quickly go back to the past and resume an activity they started previously.

User activities are tracked using Microsoft Graph. However, when you’re building a Windows 10 app, you don’t need to interact directly with the REST endpoints provided by Microsoft Graph. Instead, you can use a convenient set of WinRT APIs. We’re going to use these WinRT APIs in the Contoso Expenses app to track every time the user opens an expense within the app, and use Adaptive Cards to enable users to create the activity.

Introduction to Adaptive Cards

This section provides a brief overview of Adaptive Cards. If you don’t need this information, you can skip this and go right to the add an Adaptive Card instructions.

Adaptive Cards enable developers to exchange card content in a common and consistent way. An Adaptive Card is described by a JSON payload that defines its content, which can include text, images, actions, and more.

An Adaptive Card defines just the content and not the visual appearance of the content. The platform where the Adaptive Card is received can render the content using the most appropriate styling. The way Adaptive Cards are designed is through a renderer, which is able to take the JSON payload and to convert it into native UI. For example, the UI could be XAML for a WPF or UWP app, AXML for an Android app, or HTML for a website or a bot chat.

Читайте также:  Windows 7 sp1 обновление до sp2

Here is an example of a simple Adaptive Card payload.

The image below shows how this JSON is rendered in different ways by ta Teams channel, Cortana and a Windows notification.

Adaptive cards play an important role in Timeline because it’s the way Windows renders activities. Each thumbnail displayed inside Timeline is actually an Adaptive Card. As such, when you’re going to create a user activity inside your app, you will be asked to provide an Adaptive Card to render it.

A great way to brainstorm the design of an Adaptive Card is using the online designer. You will have the chance to design the card with building blocks (images, texts, columns, etc) and get the corresponding JSON. After you have an idea of the final design, you can use a library called Adaptive Cards to make it easier to build your Adaptive Card using C# classes instead of plain JSON, which might be hard to debug and build.

Add an Adaptive Card

Right click on the ContosoExpenses.Core project in Solution Explorer and choose Manage NuGet packages.

In the NuGet Package Manager window, click Browse. Search for the Newtonsoft.Json package and install the latest available version. This is a popular JSON manipulation library that you will use to help mainipulate the JSON strings required by Adaptive Cards.

In the NuGet Package Manager window, click Browse. Search for the AdaptiveCards package and install the latest available version.

In the TimelineService.cs file, add the following statements to the top of the file.

Add the following method to the TimelineService class.

About the code

This method receives an Expense object with all the information about the expense to render and it builds a new AdaptiveCard object. The method adds the following to the card:

The last 3 elements are split into two different columns, so that the Contoso logo and the details about the expense can be placed side by side. After the object is built, the method returns the corresponding JSON string with the help of the ToJson method.

Define the user activity

Now that you have defined the Adaptive Card, you can create a user activity based on it.

Add the following statements to the top of TimelineService.cs file:

Add the following field declarations to the TimelineService class.

Add the following method to the TimelineService class.

Save the changes to TimelineService.cs.

About the code

The AddToTimeline method first gets a UserActivityChannel object that is required to store user activities. Then it creates a new user activity using the GetOrCreateUserActivityAsync method, which requires a unique identifier. This way, if an activity already exists, the app can update it; otherwise it will create a new one. The identifier to pass depends by the kind of application you’re building:

In this scenario, the app will track each opened expense as a different user activity, so the code creates each identifier by using the keyword Expense- followed by the unique expense ID.

After the method creates a UserActivity object, it populates the object with the following info:

This is where the Adaptive Card you defined earlier plays a role. The app passes the Adaptive Card you designed earlier as content to the method. However, Windows 10 uses a different object to represent a card compared to the one used by the AdaptiveCards NuGet package. Therefore, the method recreates the card by using the CreateAdaptiveCardFromJson method exposed by the AdaptiveCardBuilder class. After the method creates the user activity, it saves the activity and creates a new session.

When a user clicks on an activity in Timeline, the contosoexpenses:// protocol will be activated and the URL will include the information the app needs to retrieve the selected expense. As an optional task, you could implement the protocol activation so that the application reacts properly when the user uses Timeline.

Integrate the application with Timeline

Now that you have created a class that interacts with Timeline, we can start using it to enhance the application’s experience. The best place to use the AddToTimeline method exposed by the TimelineService class is when the user opens the detail page of an expense.

In the ContosoExpenses.Core project, expand the ViewModels folder and open the ExpenseDetailViewModel.cs file. This is the ViewModel that supports the expense detail’s window.

Locate the public constructor of the ExpenseDetailViewModel class and add the following code at the end of the constructor. Whenever the expense window is opened, the method calls the AddToTimeline method and passes the current expense. The TimelineService class uses this info to create a user activity using the expense information.

When you are done, the constructor should look like this.

Press F5 to build and run the app in the debugger. Choose an employee from the list and then choose an expense. In the detail page, note the description of the expense, the date and the amount.

Press Start + TAB to open Timeline.

Scroll down the list of currently opened applications until you see the section titled Earlier today. This section shows some of your most recent user activities. Click the See all activities link next to the Earlier today heading.

Confirm that you see a new card with the information about the expense you have just selected in the application.

If you now open other expenses, you will see new cards being added as user activities. Remember that the code uses a different identifier for each activity, so it creates a card for each expense you open in the app.

Add a notification

The second feature the Contoso development team wants to add is a notification that is shown to the user whenever a new expense is saved to the database. To do this, you can leverage the built-in notifications system in Windows 10, which is exposed to developers via WinRT APIs. This notification system has many advantages:

To add a notification to the app:

In the NotificationService.cs file, add the following statements to the top of the file.

Add the following method to the NotificationService class.

Toast notifications are represented by an XML payload, which can include text, images, actions, and more. You can find all the supported elements here. This code uses a very simple schema with two lines of text: the title and the body. After the code defines the XML payload and loads it in a XmlDocument object, it wraps the XML in a ToastNotification object and shows it by using a the ToastNotificationManager class.

In the ContosoExpenses.Core project, expand the ViewModels folder and open the AddNewExpenseViewModel.cs file.

Locate the SaveExpenseCommand method, which is triggered when the user presses on the button to save a new expense. Add the following code to this method, just after the call to the SaveExpense method.

When you are done, the SaveExpenseCommand method should look like this.

Press F5 to build and run the app in the debugger. Choose an employee from the list and then click the Add new expense button. Complete all fields in the form and press Save.

You will receive the following exception.

This exception is caused by the fact that the Contoso Expenses app doesn’t yet have package identity. Some WinRT APIs, including the notifications API, require package identity before they can be used in an app. UWP apps receive package identity by default because they can only be distributed via MSIX packages. Other types of Windows apps, including WPF apps, can also be deployed via MSIX packages to obtain package identity. The next part of this tutorial will explore how to do this.

Next steps

At this point in the tutorial, you have successfully added a user activity to the app that integrates with Windows Timeline, and you have also added a notification to the app that is triggered when users create a new expense. However, the notification doesn’t yet work because the app requires package identity to use the notifications API. To learn how to build an MSIX package for the app to obtain package identity and gain other deployment benefits, see Part 5: Package and deploy with MSIX.

Источник

Поделиться с друзьями
Советы экспертов и специалистов
Adblock
detector