質問と回答

DAY2 デベロッパー カンファレンスのセッションの際に、イベントツールでお寄せいただいた質問に得られた回答をご紹介します。

質問:
ViewModelは既存のアプリケーションの新規画面のみからの導入も可能でしょうか?
回答:
はい! ViewModel と LiveData をシングルスクリーンで使用し、アプリケーションにゆっくり導入することができます。 一度にアプリ全体を変換する必要はありません。

質問:
Slicesを使って、Google検索結果の特定ワードに自身のアプリをサジェストすることはできるのか。
回答:
スライスが正式に公開されるまで、スライスビューアでスライスを試すことができます(ドキュメント:https://developer.android.com/guide/slices/を参照)。 これらが今年後半に立ち上げられた後、検索でスライスを公開する方法の詳細については、前記のドキュメントをチェックしてください。

質問:
WorkManagerがstableになる目処は?
回答:
WorkManagerは現時点ではアルファ版ですが、製品として使用する準備は整っています。 APIはアルファ版から変更される可能性があることにご注意ください。 

質問:
NavigationはFragment in Fragmentも制御できますか?
回答:
Navigation は Fragments に基づいています。 ナビゲーションコントローラを保持するシングル ルートアクティビティがあります。 ナビゲーション・グラフをナビゲートすると、フラグメントがスワップインされます。

質問:
昔のDatabindingからのViewModelと今回のViewModelはどんな感じで併用した方がいいでしょうか
回答:
LiveDataとViewModelをDatabindingで使用できます。ビューモデルをデータバインディングXMLの変数として宣言するだけで、LiveDataをプロパティの値として使用できます。 LiveDataが更新されると、ビューは自動的に更新されます。

質問:
navigationで一つのActivityに複数のFragmentを設置してnavigateさせることはできますか? 
回答:
Navigation は Fragments に基づいています。 ナビゲーションコントローラを保持するシングル ルートアクティビティがあります。 ナビゲーション・グラフをナビゲートすると、フラグメントがスワップインされます。(前述と同じ回答です)

質問:
How to input lambda character 'λ' with Android Studio in macOS? or what's your recommend font for code editor?
macOS の Android Studio でラムダ文字 'λ' を入力するには? コードエディタにお勧めのフォントは何ですか?
回答:
Using Live Templates. Define a template for the function key Cmd+F and then have it replace a lambda character.
ライブテンプレートを使用します。 ファンクションキー Cmd + F のテンプレートを定義し、lambda 文字に置き換えます。

質問:
Where to find some good Android sample that wrote kotlin in kotlin?
Kotlin で Kotlin を書いた良い Android サンプルをどこで見つけられますか?
回答:
(Sean) You can find a list of official Android samples for Kotlin at https://developer.android.com/samples/?language=kotlin
(hadi@) I believe Google recently converted their Music app to use Kotlin. That would probably be a good example.

(Sean)Kotlinの公式Androidサンプルのリストはhttps://developer.android.com/samples/?language=kotlin にあります
(Hadi)Googleは最近、Kotlinを使用して音楽アプリを変換したと思う。 それがおそらく良い例になるでしょう。

質問:
アプリケーション作成時にkotlinのDSLを使うところがわからないのですが、どういう時に使えるのでしょうか?
回答:
DSLは、設定、ビジネスルール、多少のマークアップ言語など、コード内の何かを表現するための表現方法が豊かな箇所であればどこでも使用できます。

質問:
kotlinでシングルトンを書くにはどのように書くのがおすすめですか?
回答:
(Sean) Kotlinのシングルトンは、objectキーワード(ドキュメント:https://kotlinlang.org/docs/reference/object-declarations.html#object-declarations)を使用して作成されます。 Javaプログラミング言語からアクセスすると、ファイルをインポートするときにインスタンス化される静的な最終INSTANCE変数が作成されます。

// Kotlin object Foo { fun bar(): ...
}

// Java programming language Foo.INSTANCE.bar()

(hadi @) `object`を使うだけです。

質問:
現状ではARはツールとしての利用が多いように思いますが、ゲームやエンターテインメントではどのようにARは使われていくと思いますか?
回答:
ほとんどの新技術と同様に、最初は実用的な場所で使用されますが、多くのエンターテインメントの面もあると思います。 拡張された画像を使用して映画のポスターを生き生きとさせることがその一例です。

質問:
今後のVRの展開・進歩はどのようになるかと思われますか?
回答:
品質・価格・コンテンツがどんどん改善され、ビジネスと家庭の両方で一般的に使用されるようになるのではないのでしょうか。

質問:
ARは室内と屋外でユースケースが変わってくると思いますが、ARCoreで開発をするときに何か気にするべきことはありますでしょうか?
回答:
ARCoreは、コンピュータビジョンに基づいているので、屋内と屋外の両方で動作します。 屋外のアプリの場合、主な懸念は光です。非常に暗い場合は、デバイスが表面または拡張されたイメージを視認できないことがあります。

質問:
AR/VRの今後の最適なビジネスモデルはどのようなものだと思いますか?
回答:
短期的には、何百万人もの VR ユーザーがいません。 そのため、従来の消費者向けビジネスモデル(プレミアムまたは基本無料のアプリ)では難しいでしょう。 短期的にビジネスモデルとして機能するのはエンターテイメントとしての場所ベース(例:VR カフェ、ゲームセンター)のものです。 しかし、ビジネスの機会も忘れないでください。昨今では多くのビジネスがすでに投資をし、VRを開発をしているため、こうしたビジネスに必要なソフトウェアやツールを構築するための実用的なVRビジネスモデルもあります。

質問:
VRを開発しているとどうしても酔いが発生してしまったりなど、技術的な懸念点が出てきます。その場合、Googleさんからの開発サポートなどいただけますでしょうか?
回答:
Googleはこの問題に既に取り組んでいます。 その一例として、オープンソースのDaydream Elements には、3D 酔いを回避する方法に関する研究のために特別に設計されたプレイヤー・ムーブメント・システムがあります。とはいえ、まだ多くの研究が行われており、完全に解決された問題ではありません(ただし、数年前と比べるとはるかに改善しています)。

質問:
スマートフォン以外のデバイスでAR世界を覗く端末はどういうものを想像されていますか?
回答:
色々なウェアラブルのARデバイスの未来が想像できるかと思いますが、このようなデバイス開発にはハードとソフトウェアの両面においてより多くの研究開発が必要とされていると思います。

質問:
ARを可能にするセンサーの開発は今いろいろあると思いますが、今後は規格の共通化などもGoogleは考えていますか?
回答:
今後についてはお答えできませんが、個人的には、プラットフォームとしての ARの開発と、最良のユースケースを見つけるには非常に時期尚早な段階にいると考えています。

質問:
現在VRでは12才以上を対象にした方がいいなどの課題などがありますが、教育面での活用もしたいと思い、そこの敷居が下がればと思っております。そのようなことは今後実現可能でしょうか?
回答:
はい、そう思います。 ARの教育上の利点を示す多くの研究が存在するため、若者の健康と安全の問題については現在進行中の研究があることは当然のことだと思います。 私のアドバイスは、その安全性の研究についてよくよく確認し、VRを安全に使用する方法についての慎重な決定をできるようにすることです。

質問:
ARに最適なデバイスは何だと思いますか?
回答:
短期的には、スマートフォンとタブレットです。 快適で使い易いウェアラブル AR デバイスはかなり先になるため、手で持つデバイスはしばらくの間、主要なARプラットフォームになると考えています。

質問:
AIA対応するとき、一部の機能から対応することは推奨されているのか。それともすべての機能を最初から対応すべきか
回答:
私たちは一般的に両方の実装を見てきましたが、開発者とユーザージャーニー次第です。 少数の開発者は小さな機能からインスタントを始めます。 この際はアプリのすべての機能についてユーザーにインストールするかをたずねることになります。 他ではアプリが完全にインスタントになります。

質問:
サイズダウンするにあたって何かティップスはありますでしょうか?
回答:
サイズ縮小のためのトップアイデアは、 1.コンフィグレーションAPKまたはバンドルの実装 2.コードとリソースを動的に追加するためのPlay Core ライブラリの実装 3.画像の最適化(PNG to WebP) 4. ProGuardの最適化/縮小 5. 10 MB 制限にサインアップする g.co/instantapps/10MB

質問:
Instantと相性が良いサービスはどんなものが多いでしょうか?
回答:
アプリが  Target Sandbox Version 2 で動作する限り、すべてのサービスと互換性があります。

質問:
Google としては PWA も提供しているが、Instant 対応することを推奨するのか、それとも PWA か。
回答:
Google の目標は、開発者がどのプラットフォームを使用しているかに関わらず、優れたユーザーエクスペリエンスを提供できるようにすることです。 プログレッシブウェブアプリケーションはウェブを改善し、より豊かな機能とより良いパフォーマンスをもたらします。 インスタントアプリ チームでは、ウェブのトラフィックとは競合しない、現在のアプリの画面上にある Play ストアと Web-to-app バナーに、まずは集中するようおすすめしています。

質問:
キャンディクラッシュのようなパズルゲームやカジュアルゲームでの活用はイメージしやすいのですが RPG などミッドコアゲームで活用した事例などあれば参考にしたいですがありますでしょうか?
回答:
新しいユーザーがあなたのゲームを試したり、より多くのユーザーを引き付けたり、離脱したユーザーを戻したりできるようになるのがインスタントです。 これらのコンセプトは、あらゆるタイプのゲームにとてもよく当てはまります。 

質問:
逆に InstantApp とは相性があまりよくないサービスはどんなサービスでしょうか?
回答:
アプリが Target Sandbox Version 2 で動作する限り、すべてのサービスと互換性があります。

質問:
ゲーム以外で成果があがっている、あるいは上がっていないAppのカテゴリを教えてください。
ゲーム以外のAppでinstant Appの効果的な使い方はありますか??例えば、フィットネス系のAppの場合など

回答:
メディア、旅行、不動産、ニュース、eコマースなど、インスタントアプリで大成功を収めている業界は数多くあります。g.co/instantapps に公開されている成功事例をご覧ください。

質問:
普段、Unity を使ってアプリ開発をしています。App bundle は Unity でもできますか?
回答:
現時点ではできません。

質問:
効果的な自動化、どのアプリでもこれはやっておくと良いと思うよ、というものはありますか?
回答:
コンソールからは、App SigningとAndroid App Bundlesの両方を使用することを強くおすすめします。 サブスクリプションの開発者の場合、アカウントの保留と猶予期間は、キャンセルを減らすのに最適な方法です。

質問:
ゲームを開発しているのですが、リリース前レポートはゲームでもきちんと動きますか?
回答:
はい。 Demo Loops と Monkey は、リリース前レポートがゲームのような複雑な画面をに対応できるように特別に設計されています。 Deeplinking を使用すると、ゲームの重要な部分を直接ターゲットにすることもできます。

質問:
クローズド ベータを使っていたのですが、これはこれからも引き続きつかえますか?できる場合、操作手順などは前と変わりないですか?
会合:
可能です。 クローズベータは、単にクローズド テストトラックになります。

質問:
Play consoleからグローバルのストアを選択して、閲覧できるように出来ないでしょうか?日本からグローバルのトレンドを把握、研究する上でも console の機能として最も期待しています。
回答:
現時点ではそうした機能はありません。

質問:
Android vital はサイドローディングしたアプリでも計測されますか?
回答:
いいえ、されません。

質問:
開発環境と本番環境で別のパッケージ名でapkを作っているときに、Internal Testで、それらを同時に配布することはできますか? 
回答:
別々のパッケージ名は個別のアプリを表しているため、別々にリリースされています。 Play パブリッシング API を使用すると、ほぼ同時に同じようにリリースを編成できますが、基本的には 2 つの別々のアプリケーションです。

質問:
DAUやMAUをみれないでしょうか?(アクティブなデバイス端末数ではなく) 
回答:
多くの開発者がこのデータを見ることに興味があることはわかっています。 私たちはそれを模索していますが、現時点では共有できる具体的な回答は何もありません。

質問:
マップを現実世界の変化に合わせて有機的に変化させたくない場合、特定の日時のマップデータを使い続けることは出来ますか?
回答:
こちらはGoogle マップと同様の地図を採用しているため、常に最新の地図が更新されて、クライアント側で描画されます。特定の日時の指定をすることは、現時点では対応しておりません。

質問:
Firebase の機能を Play console へ統合する予定はありますか?
回答:
Firebase の Google アナリティクスを介して、Play Console と Firebase の間にはすでにいくつかのリンクがあります(e.g.https://support.google.com/firebase/answer/6392038?hl=en)。Tes Lab の使用もできます。(https://firebase.google.com/docs/test-lab/android/robo-ux-test#integration_with_google_play)

質問:
既存の Realtime Database から Firestore に data を移動できますか?
回答:
はい、ただし、魔法の Firestore へのエクスポート"ボタンはありません。 件名に関するいくつかのドキュメントがあります:https://firebase.google.com/docs/firestore/firestore-for-rtdb

質問:
私はゲームデベロッパーで一部機能は利用してますがまだまだ使いきれてないです。ゲームデベロッパーでの利用は多いのでしょうか?特に日本のゲームデベロッパーでの活用事例、うまく効率化できてるという事例はあるのでしょうか?
回答:
はい、ゲーム開発者による多くの利用があります。 ベストプラクティスについては、下記の C ++ と Unity のサンプルゲームをチェックすることをお勧めします。 https://firebase.google.com/docs/samples/ , また、クイックスタートサンプルプロジェクトとソリューションプロジェクトはこちら: https://cloudplatform.googleblog.com/2018/06/new-gitHub-repo-using-firebase-to-add-cloud-based-features-to-games-built-on-unity.html

質問:
FirebaseCrashlytics のログをより便利に特定する方法はありますか? KEYS や、DATA でフィルタリングしたいのですがその機能がない(なくなった?)ようでエラー特定に難航しています。
回答:
検索はダッシュボードに表示され、時間の経過とともにフィルタリングが改善されます。 

質問:
firebase Analytics のダッシュボードをカスタマイズして必要なものだけ簡単にチェックしたいのですがフィルタリング機能等含めてカスタマイズできますか?
回答:
現時点では、ダッシュボードをカスタマイズする機能はありません。 BigQuery のエクスポートを使用し、Data Studio を使用してカスタムダッシュボードを構築することをおすすめします。

質問:
Android の場合、firebase で多端末の動作検証ができるのは魅力的です。だだ今までと手法が変わるので不安もあります。実際に利用した会社などから精度や効率化(時間短縮など)についてフィードバックあれば教えて下さい。
回答:
ケーススタディをご参考にしていただけると思います: https://firebase.google.com/use-cases/

質問:
Who is the youngest child you've ever seen who built an app with Firebase?
あなたが今までに見た中で Firebase でアプリを作った一番若い人は誰ですか?
回答:
I've had many coworkers who have helped their kids build apps, but I think the youngest external Firebase app builder I've seen was 11 or 12!
私は多くの同僚で彼らの子供がアプリを作ることを手伝っている人を知っていますが、最も若い 外部  Firebase アプリビルダーは11か12でした!

質問:
Datastudio のデータソースとして Firebase のデータを参照できるようにする予定はありますか? 
回答:
Firebase Analytics は BigQuery にエクスポートできるため、DataStudio を使用して読み込むことができます。(https://support.google.com/datastudio/answer/7259176?hl=ja

質問:
PWA は Android アプリ内の WebView ページで HomeScreen への追加はできるのでしょうか?
回答:
残念ながらWebViewからホーム画面に追加することはできません。

質問:
PWAがストアに出せようになったら、もうアプリは作る必要はなくなるのでしょうか。
回答:
一概に言えることではないため基本的にはお答えしかねます。

質問:
ストアに登録したPWAはコンテンツはオンライン上にあるのでウェブページを更新していくのであればストアに登録されてたPWA自体の更新が必要なにりますか?
回答:
Trusted Web Activitiesを使って登録した場合、中身は基本的にウェブ上に存在していますので、ウェブページを更新するだけで構いません。

質問:
今からウェブアプリをいちから開発するとしたらPWAは是非採用したいのですが、何か他にライブラリやフレームワークなどオススメがあれば教えて頂けますか?例: React, Web Component, Workboxとか
回答:
最近のモダンなフレームワーク(React, Angular, Vue)は、どれもPWAを簡単に構築するオプションが用意されています。また、まだ開発途中ですがWeb Componentsを使ったpwa-starter-kit (https://polymer.github.io/pwa-starter-kit/) というものも提供されています。 

質問:
デスクトップ PWAでブラウザプッシュはできるのでしょうか
回答:
はい、可能です。 

質問:
Add to Home screen は Safari でも実現出来ますか?
回答:
ホーム画面に追加すること自体は可能ですが、残念ながらAndroidと違い、ブラウザが自動的にサジェストしてくれることはありません :\

質問:
Multiple Actions に関して、Actions on Google 開発者はなにか特別な対応が必要ですか?
回答:
各リクエストに対し、回答をご用意いただければ結構です 各リクエストに対し、回答をご用意いただければ結構です

質問:
マルチアクションはいくつまでのアクションに対応することができますか?
回答:
現状では 2 つです。

質問:
Build-in Intent を使うためには Dialogflow V2 の対応が必要でしょうか?
回答:
必要です。

質問:
Build-in Intent を指定する Dialogflow のインテントは起動時に呼ばれるものだけで良いのでしょうか
回答:Explicit Intent があるのであればそちらもご対応ください

質問:
AppActions は PWA にも適用されますか?
回答:
未定です

質問:
App Actions 起動契機となるキーワードはどこで管理するのか?アプリ側?Google の Console 側?
回答: 
アプリ側です

質問:
ハードウェアアクセラレータの仕組みは古いAndroid端末でもサポートしているのか。
回答:
していません

質問:
ゲームのように GPU をヘビーに使っている場合でも、GPUがあればそれを選択されるようになるのでしょうか?状況によって制御できますか?
回答:
制御できます

質問:
UACには3つのモードがあってマーケティングゴールに合ったものを選ぶのがおすすめとの事ですが、それぞれで相性のいいアプリのタイプなどはありますか?傾向があれば教えてください。
回答:
アプリのタイプというよりは、アプリのプロダクトライフサイクルにおけるタイミングに合わせた選択をしていただく、という認識です。一般的にはローンチ直後はインストールを最大化することに集中することが多く、しばらくするとインストールの質を上げるオペレーションになります。

質問:
Firebase predictions の具体的なケーススタディはありますか?
回答:
こちらのページにご紹介がございます。https://firebase.google.com/products/predictions/

質問:
On device API に、カスタムモデルを使うことが可能ですか
回答:
可能です。というより、Custom Model が on-device の推論の為に作られているます 可能です。というより、Custom Model が on-device の推論の為に作られているます。

質問:
専門家がいないのにカスタムモデルを作成できたのですか?カスタムモデルは専門家の領域では?
回答:
Linux Kernel の知識がなくても Android アプリを作ることが可能と同様です。当然、現時点の機械学習の学習コストがまだ高いですが、機械学習の基礎知識だけあれば、専門家が作った機械学習のモデルを自社のユースケースに適用できることが可能な時代になりました。LIFULL社のケースも、プロジェクトに機械学習の専門家が関わらずに、Android と iOS エンジニアだけで開発できました。

質問:
LIFULL HOME'S について。画像はたくさん保有されていたとのことですが、領域はどのように与えたのでしょうか?
回答:
手動で学習用の画像に建物の領域を指定(ラベリング)しました。

質問:
Navigation は、Activity から Activity への遷移もサポートしているでしょうか。
回答:
Navigation コンポーネントは基本的に Fragment の切り替えで遷移を行います。ただ、従来 Activity に Intent を設定することでで行っていたディープ リンクの扱いは Navigation で簡単に行うことができます。https://developer.android.com/topic/libraries/architecture/navigation/navigation-implementing#Deeplink