
AddPlayButton
Sharable cards for video & music embeds
About
The problem it solves Farcaster and Base do not natively support embedded players or deep links for music and video from other platforms. When the user creates a Cast with a link to media from another platform, Farcaster/Base just launches a new browser tab, bringing the the user out of the Farcaster/Base ecosystem. AddPlayButton creates shareable cards for music and video links that play in the miniapp window without leaving Farcaster/Base. AddPlayButton supports Spotify, Apple Music, YouTube, Vimeo, Mixcloud, and SoundCloud embedded players. This way creators can share their work and drive traffic, without having their fans leave the Farcaster/Base apps or ecosystem. Smart Contract Address(es) 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 // USDC on Base for Donations Other Onchain Proof Just launched the app today. I can also provide a link to my entire source code to the Base team via Github, if desired.
How it's made
Challenges we ran into * Differing Wallet models. Even now as I write this for miniapps the Coinbase Wallet SDK is being deprecated for new Base buttons. This also conflicts with the Farcaster Wallet. For now, until further clear guidance, I provided a dropdown for the user to choose their Wallet type for donations. * No support for fullscreen mode or lightbox. For media playback, I would love to provide a "full screen mode" pop-up lightbox over the main farcaster parent window. This would make a great experience for the user to enjoy media from any platform on Farcaster/Base. Would also love to have support for landscape rotation on mobile. * Embedded web media players, like Apple Music, often require login and cookie management. It would be nice to allow the login cookie to persist across launches of the miniapp so that when the user logs into their Apple Music account, the miniapp wouldn't need to require a new Apple Music login every time they launch the miniapp. The app still works, but only plays previews in this case. This is currently only an issue with Apple Music and Spotify.