WWDC Quick Look 💓 By SwiftGGTeam
Explore the catalog with the Apple Music API

Explore the catalog with the Apple Music API

元の動画を見る

ハイライト

Apple Music API 新規/search/suggestionsrelateextend、リレーションシップ ビュー、および Charts API パラメータを使用すると、開発者は検索候補、関連リソース、拡張属性、およびランキング プレイリストを迅速に取得できます。

主要内容

音楽検索ページを作りました。ユーザー入力taylor、インターフェイスはすぐに提案を提供するはずです。

以前は、電話をかけるのが一般的でした。/search/hints提案された言葉を採用します。ユーザーが検索したいものはわかりますが、アーティストや曲などの結果を直接与えることはできません。通常のルートに進む前に、ユーザーが送信するまで待つ必要があります。/search。関連付けページに入るには数秒かかります。

Apple が 2021 年に Apple Music API に追加/search/suggestions。それは置き換えます/search/hints、提案された単語を保持し、上位の結果を返します。アーティストと曲は入力ボックスのすぐ下に表示されます。

検索結果が出た後、2 番目の質問がありました。曲からそのアルバム ページにジャンプしたいだけかもしれません。使用includeフルアルバムを取得すると、さらに多くのフィールドが得られます。アップルの新製品relateの場合、関連付けられたリソースの ID、タイプ、href のみが返されます。ジャンプ力も十分でレスポンスも軽いです。

一部のフィールドはデフォルトでは指定できません。歌などartistUrl。これは機能しますが、すべての検索を返すと応答が遅くなったり、オブジェクト モデルが大きくなったりする可能性があります。extendリソース タイプごとに名前で拡張属性をリクエストできます。

商品ページには別の種類のデータがあります。アーティスト ページには、人気の曲、人気の MV、シングル リストが必要です。これらはページ モジュールに似ています。 Apple はこのタイプのデータを運ぶために関係ビューを使用しており、開発者はviewsパラメータまたは/view/{viewName}パスのリクエスト。

最後に、Charts API はチャート プレイリストを直接取得できます。グローバルデイリーリストと都市リストを渡すことができます/charts追加withパラメータを取得すると、ディスカバリー ページやローカル トレンド ポータルに適しています。

詳細

### 使用/search/suggestions検索候補に戻る

01:25

/search/suggestions代わりの/search/hints。古い提案ワード機能のみが必要な場合は、リクエストでこれを指定してくださいkinds=terms

GET /v1/catalog/us/search/suggestions?term=taylor&kinds=terms

キーポイント:

  • GETApple Music カタログ データの読み取りを表します。
  • /v1/catalog/us米国のストアフロントにアクセスするためのディレクトリを指定します。
  • /search/suggestionsは新しい検索候補エンドポイントです。
  • term=taylorは、ユーザーが現在入力している検索語です。
  • kinds=terms提案された検索語を返すように要求します。

応答には、各提案の種類が示されます。また、検索クエリで使用される単語とユーザーに表示される単語も区別されます。検索ボックスを使用すると、表示コピーをより使いやすくし、クエリ用語を後続の検索リクエストに引き渡すことができます。

上位の結果を使用して入力を促進 Lenovo

02:09

入力の関連付けでは、多くの場合、アーティストと曲を直接表示する必要があります。新しいエンドポイントkinds=topResultsこれを行うには、必要なリソースのタイプも指定します。

GET /v1/catalog/us/search/suggestions?term=taylor&kinds=topResults&types=artists,songs

キーポイント:

  • kinds=topResults人気の検索結果が返されるようにリクエストします。
  • types=artists,songs結果をアーティストと曲に限定します。
  • 上位の結果のリソースが応答に配置されますcontentキーを押します。
  • このエンドポイントは速度を優先しており、結果は通常のものと同じくらい優れている可能性があります。/search違う。
  • 通常/searchまだ完全な検索結果ページに収まります。

このタイプのリクエストは、入力ボックスのドロップダウン レイヤーに適しています。ユーザーは Enter キーを押す前にアーティストまたは曲をクリックできます。

### 使用relate関連付けられたリソース識別子のみを取得します

03:47

Apple Music API のリソース識別子は、ID、type、href で構成されます。relate関係をリクエストすると、これらの識別子のみが返されます。

GET /v1/catalog/us/search/suggestions?term=taylor&kinds=topResults&types=artists,albums,songs&relate[songs]=albums

キーポイント:

  • types=artists,albums,songs提案された結果にアーティスト、アルバム、曲を含めることができます。
  • relate[songs]=albums曲リソースのリクエストのみが行われることを示しますalbums関係。
  • 返されるアルバム関係には、リソース識別子のみが含まれます。
  • 曲をクリックするとアルバムページにジャンプするだけです。href十分です。
  • この応答は、完全な関係オブジェクトを要求するよりも高速です。

これにより、検索ページの一般的な無駄が解決されます。リスト ページにはジャンプ ターゲットのみが必要で、アルバム名、カバー、その他の属性は必要ありません。

### 使用extend拡張属性をリクエストする

05:03

リソースには、デフォルトで名前やアートワークなどの共通属性が含まれます。一部のプロパティは計算コストが高いか、使用頻度が低いため、デフォルトでは返されません。extendこれらの拡張属性を名前で要求するために使用されます。

GET /v1/catalog/us/search/suggestions?term=taylor&kinds=topResults&types=artists,albums,songs&relate[songs]=albums&extend[songs]=artistUrl

キーポイント:

  • このリクエストは以前の検索候補を継承し、relate
  • extend[songs]=artistUrl曲リソースのみをリクエストすることを示しますartistUrl拡張属性。
  • artistUrlユーザーを Apple Music のアーティストのページに誘導するために使用できます。
  • 拡張プロパティは、デフォルトの応答が遅くなったり大きくなったりするのを避けるために、オンデマンドで返されます。

実際の使用方法の 1 つは、検索結果の [アーティスト ページを開く] ボタンです。このボタンが存在する場合にのみ要求されますartistUrl

リレーションシップ ビューを使用してアーティスト ページ モジュールを構築する

06:16

ビューは製品ページに適しています。これはリレーションシップよりも緩やかで、独自のヘッダーとデータを持つことができます。講演で挙げられた例は、アーティストのトップ ソング ビューです。

GET /v1/catalog/us/artists/159260351?views=top-songs

キーポイント:

  • /artists/159260351アーティストのリソースを直接取得します。
  • views=top-songsリクエストの応答には、トップソングのビューが含まれています。
  • ビューは、リソースの直接取得中にのみリクエストできます。
  • その他の例には、トップ ミュージック ビデオやシングルが含まれます。
  • 特定のリソース タイプがサポートするビューについては、Apple Music API ドキュメントを確認する必要があります。

パスを使用して同じビューをリクエストすることもできます。

GET /v1/catalog/us/artists/159260351/view/top-songs

キーポイント:

  • /view/top-songsリソース ID の後に配置します。
  • この書き方では 1 つのビューのみを要求します。
  • ユーザーが「Hot Songs」領域までスクロールしたときにリクエストを送信するなど、ページ モジュールの遅延読み込みに適しています。

Charts API を使用してグラフ リストを取得する

06:59

Apple Music は、世界、店頭、都市レベルのチャート プレイリストをサポートしています。ユーザーはこれらのプレイリストをデータベースに追加でき、プレイリストは自動的に更新されます。開発者は直接アクセスできるようになりました。/charts入手してください。

GET /v1/catalog/us/charts?types=playlists&with=dailyGlobalTopCharts,cityCharts

キーポイント:

  • /chartsリーダーボードのエンドポイントです。
  • types=playlists返されるプレイリストタイプのランキングリストを指定します。
  • with=dailyGlobalTopCharts,cityChartsグローバルのデイリーリストと都市リストをリクエストします。
  • withパラメーターは、コレクションの 1 つだけ、または両方で渡すことができます。
  • 返された結果は、音楽検索ページに配置するのに適しています。

重要ポイント

  1. やるべきこと: 音楽アプリのインスタント検索ドロップダウン レイヤーを作成します。 実行する価値がある理由:/search/suggestions提案された単語と人気のある結果の両方を返すことができ、先行入力に適しています。 開始方法: 入力ボックス内のテキストの変化を監視し、呼び出しますGET /v1/catalog/{storefront}/search/suggestions?term={text}&kinds=topResults&types=artists,songs、バンドルcontent以下のアーティストと曲は、クリック可能なアイテムとして表示されます。

  2. やるべきこと: 曲の検索結果に「アルバムの表示」ショートカットを追加します。 実行する価値がある理由:relate[songs]=albumsアルバムリソース識別子のみが返されます。hrefジャンプすることができます。 開始方法: 検索の提案 参加のリクエストrelate[songs]=albums、曲の結果でアルバムの関係を読み取ります。hrefをクリックしてアルバム詳細ページのデータを取得します。

  3. やるべきこと: 検索結果に「Apple Music でアーティストを開く」ボタンを追加します。 実行する価値がある理由:extend[songs]=artistUrlすべてのリクエストにデフォルトで拡張属性を持たせる必要がなく、オンデマンドで曲に対応するアーティスト リンクを取得できます。 開始方法: インターフェイスに外部リンク ボタンが必要な場合のみ、リクエストに追加しますextend[songs]=artistUrl、そしてそれを返しますartistUrlボタンにバインドします。

  4. やるべきこと: アーティスト詳細ページの「Hot Songs」モジュールを作成します。 実行する価値がある理由: リレーションシップ ビューに特化したサービス製品ページ モジュール、top-songsこのページのニーズを直接表現します。 始め方:アーティストページ入場時のお願い/v1/catalog/{storefront}/artists/{id}?views=top-songs、ビューデータを曲リストにレンダリングします。モジュールが最初の画面の外側にある場合は、次を使用できます/view/top-songs遅延読み込み。

  5. やるべきこと: アーバン ミュージックのトレンド ページを作成します。 実行する価値がある理由: Charts API は機能しますwith=cityCharts地元の人気コンテンツを紹介するのに適した都市チャートのプレイリストを入手します。 開始方法: 電話/v1/catalog/{storefront}/charts?types=playlists&with=cityCharts、返されたチャート プレイリストを入り口として使用し、クリックしてプレイリストの詳細を入力します。

関連セッション

コメント

GitHub Issues · utterances