magento2 – Magento 2 How to setShippingMethod(‘flatrate_flatrate’) using observer

After product add to cart how to set shipping method using observer.
i used “checkout_cart_save_before” event but it’s not working.

event.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
    <event name="checkout_cart_save_before">
        <observer name="antikbatik_checkout_cart_save_after_add_shipping" instance="vendormoduleObserverCartAddShipping" />
    </event>
</config>

AddShipping.php

<?php
namespace vendormoduleObserverCart;
use MagentoFrameworkEventObserverInterface;

class AddShipping implements ObserverInterface
{
  public function execute(Observer $observer)
  {
        $quote = $observer->getCart()->getQuote();
        $shippingAddress = $quote->getShippingAddress();
        if (!$shippingAddress->getShippingMethod()) {
            $shippingAddress->setShippingMethod('flatrate_flatrate');
            $shippingAddress->setCollectShippingRates(true)->collectShippingRates();
        }
  }
}