2017-08-17 90 views
1

如果我位于美国,并且想要由Two Door Cinema Club播放歌曲“Sun”,我将使用ID 544390857。 我可以在(例如)systemMusicPlayer中执行此操作,并开始在Apple音乐中播放歌曲。Apple Music Kit - 用店面A中的用户播放带有店面B的用户的歌曲用于店面B的用户B

如果我的朋友位于英国并希望播放同一首歌曲,则发送544390857到系统音乐播放器会导致歌曲不被识别(并且没有播放)。

该歌曲的GB店面等效ID是674900368

我有两个问题:

  • 有没有我能在苹果音乐(使用systemMusicPlayer)从其他店面播放ID的简单方法或我将不得不重复下的新搜索,第二个店面ID?

  • 或者,有没有一种方法可以取出一首歌曲ID(即美国版本)并将它换成替代版本(即GB)?

感谢您的帮助,您可以给!

+0

我知道这不是你真正想要的,但我想分享它,因为它是一种相关的。有一种方法可以使iTunes链接storefrontid无关: https://affiliate.itunes.apple.com/resources/documentation/apple-music-best-practices-for-app-developers/ 如果您是只需链接到音乐,您就可以为任何链接添加“地理位置”前缀,我们会将用户路由到其所在地区的正确内容,这样您就不必担心找到正确的ID。地理感知链接结构示例:https://geo.itunes.apple.com/us/album/if-youre-reading-this-its/id966997496 –

+0

@BahriOkuroglu谢谢你。我曾想过使用geo.链接来帮助我到达目的地,但是如果(例如)他们正在旅行到另一个国家,那么用户的基本店面就不是这样。 – scgough

+0

我的印象是,“地理位置”前缀确保Apple Music为用户的商店时间块显示正确的内容。我使用非美国Apple音乐订阅和美国专用歌曲进行了验证。不幸的是,我找不到一种方法来播放正确的歌曲ID,固定为用户的店面。 –

回答

0

你可以尝试使用Apple Music API得到正确的信息:

(步骤1时,才需要,如果你不事先知道歌曲的名字,你只知道songIds)

  1. 基础上storeFrontCountryCode(“美国”)和songId(匹配到“美”店),你可以得到SONGNAME(“太阳报”),使用'Get song' API call.

  2. 您需要获取用户当前的店面。你可以用requestStorefrontCountryCodeWithCompletionHandler

    你会得到类似“GB”的东西。

  3. 使用songName('Sun')和用户storeFrontCountryCode('GB'),我们执行'Search for catalog resources'以获得正确的歌曲ID。

最终以防止重复歌曲名称的问题,你可以在艺术家的名字添加到“搜索目录资源” API调用。

相关问题