0

私はメディア アプリに取り組んでおり、Siri とのやり取りを改善したいと考えています。メディア カテゴリとして「ラジオ」を使用して、Intents 拡張機能を実装し、resolveMediaItemsメソッドを改良しています。通常、 Siri に伝えてからデバッガーでPlay <search query> in <my app>調べると、次のように表示されますINPlayMediaIntent

<INPlayMediaIntent: 0x143f181c0> {
    playShuffled = 0;
    mediaSearch = <INMediaSearch: 0x143d19b50> {
        reference = 0;
        mediaType = 18;
        sortOrder = 0;
        albumName = <null>;
        mediaName = search query;
        genreNames = (
        );
        artistName = <null>;
        moodNames = (
        );
        releaseDate = <null>;
        mediaIdentifier = <null>;
    };
    mediaContainer = <null>;
    playbackRepeatMode = none;
    mediaItems = <null>;
    resumePlayback = 0;
    playbackQueueLocation = now;
    playbackSpeed = <null>;
}

にはmediaSearch.mediaName、クエリの解決に使用できるスピーカーからのデータがあります。

残念ながら、クエリに「音楽」または「ラジオ」という単語が含まれている場合、これらはmediaNameフィールドに含まれません。クエリにこれらの単語のみが含まれる場合、たとえば の場合 "Play music in <my app>"、フィールドは に<null>なり、 にINPlayMediaIntentは実質的にコンテンツがまったく含まれなくなります。

アプリが提供するコンテンツを考えると、「音楽」と「ラジオ」という用語が使用されているかどうかを知ることは、クエリを適切に解決するために絶対に必要です。INPlayMediaIntentこれらの用語をオブジェクト内に表示する方法について、誰かがガイダンスを提供できますか?

4

1 に答える 1