What is the best way to include Metadata to a smart contract/Token

Im trying to refer to my metadata stored on IPFS in my smart contract. From what I understand, that has to be behind the token URI but how do I include it correctly in a smart contract? as now i did as the base URI with the line:
function _baseURI() internal pure override returns (string memory) {
return "https://ipfs.io/ipfs/Q...";
}
But is this the most effient way? Since when i mint a token, the Token URI of course is the base URI but with a 1 at the end, which kind of destroys my IPFS CID doesnt it?

Your IPFS URI needs to be a directory ending with a / so that when it gets concatenated with the token ID the resulting URI becomes https://ipfs.io/ipfs/Q.../1.

Thank you! So it is the most efficient/ usual way to store the metadata CID as base URI and adding a “/“?

I can't say if this is the most usual way, but as far as I can tell it should be the most efficient.

Thanks a lot for ur help