I refer this solution https://stackoverflow.com/a/15167450/2910183 ,and an error occur:
Compile Error: Declaration of AppBundle\Block\NewsletterBlockService::execute() must be compatible with Sonata\BlockBundle\Block\BlockServiceInterface::execute(Sonata\BlockBundle\Block\BlockContextInterface $blockContext, Symfony\Component\HttpFoundation\Response $response = NULL)
Code
Part of my app/config/config.yml
sonata_block:
    default_contexts: [cms]
    blocks:
        # enable the SonataAdminBundle block
        sonata.admin.block.admin_list:
            contexts: [admin]
        sonata.user.block.menu: ~    # used to display the menu in profile pages
        sonata.user.block.account: ~ # used to display menu option (login option)
        sonata.block.service.text: ~
        sonata.block.service.rss: ~
        sonata.block.service.newsletter: ~
sonata_admin:
    dashboard:
        blocks:
            -
                position: left
                type: sonata.admin.block.admin_list
                settings:
                    groups: [default, app.admin.group.content]
            -
                position: right
                type: sonata.admin.block.admin_list
                settings:
                   groups: [default]
            - { position: left, type: sonata.block.service.newsletter}
Part of my /private/var/www/learning_sonata/app/config/services.yml
sonata.block.service.newsletter:
        class: AppBundle\Block\NewsletterBlockService
        arguments: [ "sonata.block.service.newsletter", @templating ]
        tags:
            - { name: sonata.block }
My /private/var/www/learning_sonata/src/AppBundle/Block/NewsletterBlockService.php
namespace AppBundle\Block;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
use Sonata\BlockBundle\Model\BlockInterface;
use Sonata\BlockBundle\Block\BlockContextInterface;
use Sonata\BlockBundle\Block\BlockContext;
use Sonata\BlockBundle\Block\BlockServiceInterface;
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\CoreBundle\Validator\ErrorElement;
use Sonata\BlockBundle\Block\BaseBlockService;
//use Sonata\BlockBundle\Block;
class NewsletterBlockService extends BaseBlockService
{
    public function getName()
    {
        return 'My Newsletter';
    }
    public function getDefaultSettings()
    {
        return array();
    }
    public function validateBlock(ErrorElement $errorElement, BlockInterface $block)
    {
    }
    public function buildEditForm(FormMapper $formMapper, BlockInterface $block)
    {
    }
    public function execute(BlockInterface $block, Response $response = null)
    {
        // merge settings
        $settings = array_merge($this->getDefaultSettings(), $block->getSettings());
        return $this->renderResponse('InstitutoStoricoNewsletterBundle:Block:block_my_newsletter.html.twig', array(
            'block'     => $block,
            'settings'  => $settings
        ), $response);
    }
}
Thanks devilcius!
I refer your answer,clear the error above,but new erro occur:
Method "id" for object "Sonata\BlockBundle\Block\BlockContext" does not exist in SonataBlockBundle:Block:block_base.html.twig at line 11
File path vendor/sonata-project/block-bundle/Resources/views/Block/block_base.html.twig
<div id="cms-block-{{ block.id }}" class="cms-block cms-block-element">
    {% block block %}EMPTY CONTENT{% endblock %}
</div>
Sonata Version
sonata-project/admin-bundle              3.1.0   The missing Symfony Admin ...
sonata-project/block-bundle              3.0.0   Symfony SonataBlockBundle
sonata-project/cache                     1.0.7   Cache library
sonata-project/core-bundle               3.0.0   Symfony SonataCoreBundle
sonata-project/doctrine-orm-admin-bundle 3.0.1   Symfony Sonata / Integrate...
sonata-project/exporter                  1.4.1   Lightweight Exporter library
I read this resource,it said it's the version pro.
Could u give some idea,guys?