When you reach Great Buddy rank with your chosen Pokémon Buddy in Pokémon GO, you have the chance to receive gifts from them. Make sure you have the second heart under their name when viewing their boyfriend profile before trying to hunt for freebies.
Your buddy will find these gifts at random as you explore the world. To make sure they have the chance to find them, you need to make sure their stomachs are full in the lower left corner of your screen. If it's empty, you won't see them flying around your trainer avatar and you'll have to give them berries.
You will see a small gift wrapped under their buddy avatar on the buddy profile page. To receive the gift, you must "play" with them in AR mode.
When you first achieve Great Buddy status, your Pokémon should have one immediately available for you to unbox. The items inside these gifts vary between berries and potions useful or even revive.
Many writers believe that you can only receive one gift from your friend per day, much like another friend can only send you one per day. If you have multiple Pokémon with the Great Buddy rank or higher, you could receive a lot of freebies because you can receive 20 gifts per day from all of your friends. The system can work in the same way, but this is not confirmed.
There are ways to quickly increase your buddy's rank, like making them horny or giving them a Poffin. You will need to spend time with your boyfriend and strengthen your relationship with him.