質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

解決済

1回答

298閲覧

Google AssistantでAndroid端末のアプリを操作したい

juliarity

総合スコア20

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2019/02/12 04:26

Google AssistantでAndroid端末のアプリを操作したいのですが、Actions on GoogleやDialogFlowなどを使って行うことはできますでしょうか。調べてもヒットしないので困っています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kakajika

2019/02/13 09:04

操作したいアプリというのはご自身で作成されたものですか?もう少し具体的な内容を書いていただかないと回答は付きにくいと思います。
juliarity

2019/02/13 09:08

質問ありがとうございます。 動かしたいのは自作アプリです。
kakajika

2019/02/14 00:26

うーんと、情報はそれだけですか? 操作というのも曖昧でよくわかりません。Googleアシスタントから特定の画面を開ければOKということでしょうか?
juliarity

2019/02/14 02:40

具体的にどうするといった操作は考えていませんが、簡単なもので言えばServiceクラスの中にある特定のメソッドを呼び出してLogを出力したり、HTTP通信であるサーバーにアクセスしにいったり、です。 どこまで、どんなことが可能かどうか知りたいです。 Googleアシスタントで「〇〇アプリを開いて」と言うと候補が表示されて、それをタッチするとアプリを起動できますが、タッチ操作なしで音声だけで起動させることはできないのか、も調べています。 音声のみでどこまで操作できるのか、です。 SiriKitだとある程度の操作はできるのでそれに対してAndroidはどうなのか気になっています。
guest

回答1

0

ベストアンサー

質問がふわっとしているので、こんな方法があるよというのだけ紹介しておきます。
1年ほど前にちょっとしたアシスタント用アプリを作った時には、以下の2つの方法を使ってアプリとの連携を実装しました。いずれかの方法で大抵の要件は満たせると思います。
最新の情報は追えていませんが、参考になれば。

1. Rich ResponsesでDeep Linkを含むUIを表示し、Intentを発行する

Actions on GoogleのRich Responsesを使うことにより、簡単なUIをGoogleアシスタント上に表示できます。
https://developers.google.com/actions/assistant/responses#basic_card
ここにアプリの特定の画面・機能を呼び出すIntentを発行するためのDeep Linkを埋め込むようにすれば、ユーザーにショートカットを提供することができます。ただし、ユーザーの操作は必要です。

最近ではActions SDKにDeepLinkというそのものズバリのAPIが用意されているようなので、こちらを使うと楽かもしれません。
https://actions-on-google.github.io/actions-on-google-nodejs/classes/conversation_helper.deeplink.html

2. DialogflowのWebhookでサーバー側のAPIをトリガーし、そこからアプリに通知する

ユーザーのタッチ操作を挟まず、音声だけで操作させたいならこちらの方法があります。
Fulfillmentを返すためのAPIの処理内で、何らかの方法によりアプリへの通知を行います。
バッテリーの持ち等も考慮すると、プッシュ通知でアプリへ通知をするのがベストな方法かと思います。

アプリ側は、通知を受け取ったら目的の機能を呼び出すように実装すればOKです。

投稿2019/02/14 16:10

編集2019/02/14 18:23
kakajika

総合スコア3131

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

juliarity

2019/02/18 08:43

ご回答ありがとうございました。 具体例ありがとうございます。 こういうことが知りたかったので助かりました。 実装はすぐには難しそうですがやってみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問