Light Board ゲームボードの主要なアートワーク

このアートワークは、Maya と Cinema 4D で作成しました。また、Substance Painter を使用して、物理学に基づいてモデルのマテリアルを作成しました。エンジニアリングの場合と同じように、アートアセットを作成するときも試行錯誤が非常に重要です。これを念頭に置いて、この比較的シンプルなプロジェクトの場合も、コンテンツ パイプラインを注意深く作成しました。これにより、最終的なデザインを決定する前に、さまざまな外観とボードスタイルをすばやく試すことができました。

エンジニアリングの観点から、Unity ゲームエンジンを開発環境として選択しました。Unity により、いくつかの重要なメリットがもたらされます。第 1 に、すばらしい外観の 3D グラフィックをすばやく作成できます。第 2 に、エンジンのコンポーネントが既に完成しているため、ゲームプレイ コードの試行錯誤をすぐに開始することができました。アートワークの場合と同様に、最終決定を下す前に、ゲームプレイのオプションをテストすることができました。また、Unity では、ほんの少し手間をかければ、Android と iOS の両方がサポートされます。

また、マルチプレーヤー型ゲームの側面を処理するために Firebase Realtime Database を使用しました。このイベントでのネットワーク パフォーマンスについて懸念していましたが、データベースの持続的な特性により、不安定なネットワークへの耐性が向上すると考えました。結果として、ゲームは非常にうまく機能し、ゲームを終了してからも無料でゲームに再参加できる機能を搭載できました。

私たちは Light Board の作成を大いに楽しむことができました。AR アプリのビルドだけでなく、Cloud Anchors などのすばらしい機能を簡単に使用できる例として、Light Board を活用していただきたいと考えています。オープンソース レポジトリにアクセスして、Light Board をお試しください。


Just a line - 友人と一緒に描画




3 月に、スマートフォンを使って空間に描画できる Android アプリである Just a Line を発表しました。このアプリは、ARCore の能力を示す実験として作成されました。Google I/O では、このアプリに Cloud Anchors を追加して、一方のユーザーが Android を、もう一方のユーザーが iOS を使用している場合でも、2 人のユーザーが同じ場所で同時に描画できるようにしました。

両方のアプリはネイティブでビルドされています。Android バージョンは Android Studio で記述され、iOS バージョンは xCode でビルドされています。ARCore の Cloud Anchors を使用すると、Just a Line で 2 つのスマートフォンをペア設定して、ユーザーが共有空間で同時に描画できるようになります。ペア設定は Android 端末および iOS 端末で機能し、描画は、Firebase Realtime Database を介してリアルタイムで同期されます。iOS 向けのオープンソース コードはこちらに、Android 向けのオープンソース コードはこちらにあります。




Illusive Images - 命を吹き込まれた美術展




「Illusive Images」のデモは、3 つのアートワークで構成される拡張画廊です。各アートワークでは、拡張画像に関する別々のユースケースとユーザー エクスペリエンスを紹介しています。鑑賞者が左右に移動したり、オブジェクトの周りを歩いたり、特定の方向から見たときに、2D アートワークが 3D に変容し、物理的な額から飛び出したアートワークの空間に入り込むことができます。

拡張画像の視覚的デザインの特性のため、さまざまなレベルの機能を使ってデータベースを作成する実験を何回も行いました。最適な結果を得るために、アートワークのキャンバスのサイズを変更して、反復処理をすばやく行いました。また、輝度とコントラストのレベルを変更したり、増大したりしました。これらのバリエーションにより、デザインの意図を損なっていない最適化された画像の作成が可能になりました。

このアプリは Unity と ARCore を使ってビルドされおり、その大部分のアセットは Cinema 4D で作成されました。Mograph アニメーションは fbx として Unity にインポートされ、アートワークに相対した鑑賞者の位置によって完全に駆動されます。プロジェクトの例はこちらにあります。







デベロッパーが簡単に開発できるように、チームが作成したすべてのデモをオープンソース化しています。これらのデモが役立つことを願っています。また、こちらのウェブサイトも用意していますので、詳細を確認して、すぐに AR 体験の構築を始めることができます。


Reviewed by Hak Matsuda - Developer Relations Team




Reviewed by Thanet Knack Praneenararat - Ads Developer Relations



9 月 19 日 (水) 、20 日 (木) の 2 日間にわたって開催する Google Cloud Next '18 in Tokyo まで 2 か月となりました。本日より、イベントサイトに各セッションのスピーカーや詳細スケジュールを公開し、セッション登録をしていただけるようになりました。

イベント申し込み & セッション登録


1 日目の基調講演は、"Building a Cloud for Everyone" をテーマに、Google Cloud シニア バイス プレジデントのダイアン グリーン、カスタマー部門 プレジデントのタリク シャウカットをはじめ多数のスピーカーが登壇し、最新のクラウドテクノロジーや “ AI for everyone “ にまつわるトピックをお届けします。さらに、企業の経営者の方をお招きし、ビジネスやプロジェクトの根幹を支える Google Cloud 活用術についてお話いただきます。

2 日目の基調講演は、"Bringing the Cloud to You" をテーマに、Google Cloud G Suite 部門バイス プレジデントのプラバッカー ラガバンが登壇。G Suite の活用で進化する働き方について、実際に G Suite を導入されている企業の経営者の方をお迎えしてご紹介します。さらに、昨今注目を浴びるサーバーレスやオープンハイブリッドなどのテクノロジーを深掘りするとともに、今月サンフランシスコで開催する Next SFO で発表する最新テクノロジーのハイライトをご覧に入れます。

2 日間にわたり、午後は興味やレベルに合わせて選べる、130 を超えるブレイクアウト セッションをご用意しています。 セッションを選定いただく際は、カテゴリーやレベルでフィルタリングしてご自身に合ったものをセレクトいただけるようになっています。Next SFO に登壇するスピーカーも多数来日するとともに、日本オリジナルのセッション、ハンズオンラボ、GCP トレーニングも予定しています。ぜひこの機会に、Google Cloud のスペシャリストが企画したコンテンツを体感いただければと思います。

また、Google Cloud Expo では、最新のクラウド技術を体験できるデモブースや、独自のサービスをご紹介するスポンサーブースをご用意しています。さらに、2 日目の夜には ネットワーキングパーティーとして、“ Next '18 in Tokyo Night ” を企画しておりますので、ぜひふるってご参加ください。

人気セッションは早期の満席が予想されますので、まずはイベントにお申込みいただき、ご希望のセッションへのご登録をお願いたします。皆さまのご参加をお待ちしております。


イベント申し込み & セッション登録



イベント名: Google Cloud Next '18 in Tokyo

公式ハッシュタグ: #GoogleNext18
日  程: 2018 年 9 月 19 日(水)・20 日(木)
開  場: 8:30 (予定)
基調講演: 9:30 〜 11:30 (予定)
セッション: 12:00 〜 19:20
会  場: ザ・プリンス パークタワー東京

〒105-8563 東京都港区芝公園 4 - 8 - 1
東京プリンスホテル

〒105-8560 東京都港区芝公園 3 丁目 3 − 1

お問い合わせ先
Google Cloud Next Tokyo '18 運営事務局
[email protected]



(注意事項)
  • 本カンファレンスは、各種 Google Cloud 関連製品サービスの導入を検討中のエンドユーザー企業、団体、教育機関、政府自治体向けのイベントになります。導入を検討されていない方には、ご登録いただいてもご受講いただけない場合もございます。
  • 十分な座席数をご用意しておりますが、定員を超えた場合にはエンドユーザー企業様優先の抽選とさせていただきます。


ご不明な点は、こちらの FAQ をご確認ください。


Posted by Takuo Suzuki - Developer Relations Team


新規ユーザーに対しては :
  1. ブラウザが、サーバーに対して記事の URL をリクエストします。サーバーは、<amp-install-serviceworker> を含む AMP 版の記事を返します。 
  2. <amp-install-serviceworker> は、Service Worker JS をサーバーにリクエストします。サーバーは、ブラウザに Service Worker JS を返します。ブラウザは、Service Worker をインストールして起動します。 
  3. Service Worker は、インストール時に PWA App Shell をサーバーにリクエストします。サーバーは、リクエストされたリソースを Service Worker に返し、Service Worker はそれをキャッシュします。

既存ユーザーに対しては :
  1. ブラウザが、記事の URL をリクエストします。このリクエストを、Service Worker がインターセプトします。Service Worker は、キャッシュされている PWA をブラウザに返します。 
  2. PWA が AMP 記事をリクエストします。サーバーは AMP 記事を PWA に返します。PWA が処理し、記事を表示します。
ウェブ クローラーは常に新規ユーザーとして扱われる点にご注意ください!

次のステップ


今回の対応ができたところで、今後は Shadow Reader を以下のように改善していく予定です。

ぜひ Shadow Reader をお試ししただき、Github のコードをチェックして、感想をお知らせください! 皆さんのサイトでどのように AMP/PWA を利用しているか教えてほしいですし、Shadow Reader の改善案もお待ちしています。


Reviewed by Yusuke Utsunomiya - Mobile Solution Consultant, gTech
Share on Twitter Share on Facebook


動画を見ると、アラートや通知はいつでも着信する可能性がある「アウトオブバンド」メッセージであることがわかります。Hangouts Chat ボット フレームワークは、まとめて「スペース」と呼ばれるルームや DM に対して非同期メッセージを送るいくつかの方法を提供しています。最初の方法では HTTP ベースの REST API を、もう 1 つの方法では「着信 Webhook」と呼ばれるものを使います。

REST API は、ボットがスペースにメッセージを送るために使います。ボットは決して人間のユーザーではないので、Google サービス アカウントが必要になります。デベロッパー コンソールで Hangouts Chat ボット用のサービス アカウントを作成すると、API との通信に必要な認証情報をダウンロードできるようになります。次に示すのは、API を使ってスペースに対して非同期的にメッセージを送信する簡単な Python のサンプル スニペットです。
from apiclient import discovery
from httplib2 import Http
from oauth2client.service_account import ServiceAccountCredentials

SCOPES = 'https://www.googleapis.com/auth/chat.bot'
creds = ServiceAccountCredentials.from_json_keyfile_name(
        'svc_acct.json', SCOPES)
CHAT = discovery.build('chat', 'v1', http=creds.authorize(Http()))

room = 'spaces/<ROOM-or-DM>'
message = {'text': 'Hello world!'}
CHAT.spaces().messages().create(parent=room, body=message).execute()

API とサービス アカウントの代わりに使うことができるのが、着信 Webhook という考え方です。Webhook を使うと、完全なボット(モニタリング アプリ)を設定しなくても、任意のルームや DM に対してすばやく簡単にメッセージを送ることができます。さらに、Webhook は、会社の CRM(顧客管理システム)に新規顧客が追加された場合や、前述のさまざまなタイミングで実行されるカスタム ワークフローに組み込むこともできます。次に示すのは、着信 Webhook を使って非同期的にスペースと通信する Python スニペットです。
import requests
import json

URL = 'https://chat.googleapis.com/...&thread_key=T12345'
message = {'text': 'Hello world!'}
requests.post(URL, data = json.dumps(message))

着信 Webhook は単なる HTTP POST エンドポイントなので、コマンドラインから curl を使って Hangouts Chat スペースにメッセージを送ることもできます。
curl \
    -X POST \
    -H 'Content-Type: application/json' \
    'https://chat.googleapis.com/...&thread_key=T12345' \
    -d '{"text": "Hello!"}'

試してみたい方は、Hangouts Chat デベロッパー ドキュメント、特に上記の説明でリンク先となっているページをご覧ください。この動画で説明している Hangouts Chat サービスに非同期的にメッセージを送信する方法が、皆さんのボット開発スキルの向上に役立つことを願っています。


Reviewed by Eiji Kitamura - Developer Relations Team
Share on Twitter Share on Facebook



Cloud IoT Core クライアント ライブラリ

Cloud IoT Core クライアント ライブラリは、Android Things デベロッパーがわずか数行のコードで使い始めることができるように設計されました。認証、セキュリティ、エラー処理、オフライン操作のベスト プラクティスが実装されており、ネットワーク、スレッド、メッセージ ハンドリングの処理を行ってくれます。

Cloud IoT Core は承認済み端末を追跡する端末レジストリを管理し、各端末は公開鍵を使ってサーバー認証を行います。Android Things では、ハードウェアのサポートによって暗号鍵マテリアルを確実に保護する Android Keystore など、IoT アプリの保護に役立つ多くの機能が提供されています。クライアント ライブラリは RSA 鍵と ECC 鍵の両方をサポートし、Cloud IoT Core での認証に利用できる JSON Web Token(JWT)の生成を実装します。

接続を確立できた端末は、テレメトリー データをテレメトリー トピック内の 1 つまたは複数のバケットにパブリッシュできるほか、個々の端末状態トピックに対して内部状態を報告できます。端末の状態は、ソフトウェアのバージョンや動作しているセンサーの数などの情報を格納することを想定しています。テレメトリー メッセージは、実際のセンサーの測定値など、端末からのその他すべてのデータが対象です。端末は、Cloud IoT Core がパブリッシュする 構成変更をサブスクライブすることもできます。

現実世界の IoT 端末は質の悪い無線条件で動作しているので、クライアント ライブラリは、エラー処理や、イベントのキャッシュと再送信を幅広くサポートしています。オフライン動作をカスタマイズしたいデベロッパーのために、ライブラリのキューをカスタマイズしたり置き換えたりすることもできます。これにより、保存するイベントや、オンラインに戻ったときに送信するイベントの順番などを細かく制御することが可能です。

Android Things を使った端末のプロビジョニングと認証


Cloud IoT Core クライアント ライブラリは、Android Things を使った端末のプロビジョニングや認証の全体像の一部です。この点の詳細については、Google I/O 2018 のプレゼンテーション動画をご覧ください。




サンプルコード

Cloud IoT Core クライアント ライブラリは簡単に使ってみることができます。Android Things プロジェクトの build.gradle ファイルに次の行を追加するだけです。
implementation 'com.google.android.things:cloud-iot-core:1.0.0'

このライブラリは、ご自分でビルドしたい方のために、オープンソースとして GitHub で公開されています。さらに、Android Things でセンサーハブを実現する方法を示すサンプルも公開しています。これは、接続されているセンサーからデータを収集し、それを Google Cloud IoT Pub/Sub トピックにパブリッシュするものです。

独自のコードでクライアント ライブラリを使うのも簡単です。次の Kotlin の例は、プロジェクトに基づいて新しい構成とクライアントを作成する方法を示しています。
var configuration = IotCoreConfiguration.Builder().
                         .setProjectId("my-gcp-project")
                         .setRegistry("my-device-registry", "us-central1")
                         .setDeviceId("my-device-id")
                         .setKeyPair(keyPairObject)
                         .build()

var iotCoreClient = IotCoreClient.Builder()
              .setIotCoreConfiguration(configuration)
              .setOnConfigurationListener(onConfigurationListener)
              .setConnectionCallback(connectionCallback)
              .build()

iotCoreClient.connect()

続いて、次の Kotlin の例では、テレメトリー情報や端末の状態をパブリッシュしています。
private fun publishTelemetry(temperature: Float, humidity: Float) {
    // payload is an arbitrary, application-specific array of bytes
    val examplePayload = """{
        |"temperature" : $temperature,
        |"humidity": $humidity
        |}""".trimMargin().toByteArray()
    val event = TelemetryEvent(examplePayload, topicSubpath, TelemetryEvent.QOS_AT_LEAST_ONCE)
    iotCoreClient.publishTelemetry(event)
}

private fun publishDeviceState(telemetryFrequency: Int, enabledSensors: Array<String>) {
    // payload is an arbitrary, application-specific array of bytes
    val examplePayload = """{
        |"telemetryFrequency": $telemetryFrequency,
        |"enabledSensors": ${enabledSensors.contentToString()}
        |}""".trimMargin().toByteArray()
    iotCoreClient.publishDeviceState(examplePayload)
}


参考資料

Android Things 開発の詳細については、デベロッパー サイトをご覧ください。Cloud IoT Core を使ってみるための詳しい情報については、情報ページドキュメントをご覧ください。ぜひ Google+ の Google's IoT Developers Community に参加して、皆さんが Android Things や Cloud IoT Core で開発しているものについて教えてください。



Reviewed by Takuo Suzuki - Developer Relations Team
Share on Twitter Share on Facebook


Google Cloud に代表されるクラウド技術の進化が引き起こすその先の世界を、機械学習、VR / AR、IoT などの領域で活躍されているスタートアップの方々と一緒に議論するイベント「INEVITABLE ja night」。

今回のテーマは「最新技術で変わる、エンタメ、スポーツ、ライフスタイルビジネスの不可避な未来」です。モバイルデバイスの進化や AR などのエッジなテクノロジーがますます身近となり、エンターテイメントや日常生活にも浸透してきています。これは同時に、この分野でのテクノロジー提供者やビジネスにも大きな変化が起きることを意味しています。

そこで、「エンターテインメント×テクノロジー=エンターテックはカルチャーを創る」をビジョンにさまざまな事業に参画しているエンターテック・アクセラレーターの鈴木貴歩さんをメインゲストに迎え、South by Southwest(SXSW)などで見られる世界の潮流や事例を踏まえ、今起きている変革と今後の不可避な流れについて議論していきます。

講演会後には恒例の交流会も行います。参加者様同士の交流はもちろん、日頃の業務の課題や悩みについても、ご相談/共有いただける良い機会となります。

AR や AI サービス事業の企画、関連するシステム構築に関心のある方々のご参加をお待ちしています。

【開催概要】
イベント名 : INEVITABLE ja night - “インターネットの次にくるもの”
   第 5 回 最新技術で変わる、エンタメ、スポーツ、ライフスタイルビジネスの不可避な未来
日程 : 2018 年 8 月 2 日(木) 19:00 〜 21:00(開場 18:30 より)
会場 : グーグル合同会社
定員 : 200 名
ハッシュタグ : #inevitableja
プログラム :
INEVITABLE 対談 エンターテックを実現するテクノロジーとプレイヤー
   スピーカー:鈴木 貴歩 氏 (パレードオール株式会社 代表取締役 / エンターテック・アクセラレーター)
   聞き手:小島 英揮 氏(Still Day One合同会社 代表社員 パラレルマーケター・エバンジェリスト)
Google テクノロジーアップデート
   スピーカー:松田 白朗(グーグル合同会社 デベロッパー アドボケート)

※その他、調整中

講演後は講師や参加者の皆さんとの交流や情報交換をお楽しみください。

参加を希望される方は、お申し込みサイトをご覧ください。

皆様のご参加をお待ちしております。

■■■ INEVITABLE TV のご案内 ■■■

イベントでは取り上げることができなかったこと、語り尽くせなかったことを中心に、「インターネットの次に来るもの」に関連する話題を深く掘り下げていく番組「INEVITABLE TV」ももぜひご覧ください。



Posted by Takuo Suzuki - Developer Relations Team
Share on Twitter Share on Facebook


データモデル フィールドを作成するには、ゼロから作成するか、既存の CSV または Google スプレッドシートを使用します。
データモデルの構造を定義した後、検証ルールを挿入して、保存可能なデータを制限することができます。
App Maker の Relation Editor を使用すると、データモデル間の関係(1 対多や多対多など)を簡単に作成できます。
App Maker のモデルエディタでは、カスタムクエリフィルタの設定、ロールに基づいたデータアクセスの保護、実行に基づいたデータイベントのトリガーなど、その他のさまざまな機能が提供されます。詳細は、データモデルのドキュメントをご覧ください。

UI のデザイン 

App Maker には、UI 要素(ウィジェット)をキャンバスにドラッグ&ドロップしてから、Property Editor を使用してウィジェットのプロパティを設定できる視覚的なデザイン環境が用意されているため、UI の開発を効率化することができます。必要に応じて、UI をより迅速に開発できるように、便利な UI 生成ウィザードを使用して、編集または挿入フォーム、表、さまざまなグラフなどが含まれた既成の UI 構造を作成することもできます。
UI の外観と操作性は CSS によって制御され、デフォルトでは、Google のマテリアル デザイン標準に準拠しています。エディタでは、さまざまなバリエーションのスタイルが利用できるため、プルダウン メニューを介して、または CSS を直接編集することにより、ウィジェットがレンダリングされる方法を簡単に切り替えることができます。

UI は App Maker のデータ バインディング機能を介してバックエンド データに結びつけられます。作成者はこの機能を使用して、ウィジェットのプロパティをデータモデル フィールドに結びつけることができます。

視覚的なデザイン、データ バインディング、Google マテリアルをデフォルトとして使用する CSS UI のスタイルを組み合わせることで、生産性の高い UI を作成できるようになります。App Maker の UI のコンセプトに関する詳細は、UI ドキュメントをご覧ください。

コードによるアプリの改良 

データベース通信や UI デザインに関しては、App Maker が煩雑な作業をすべて処理しますが、アプリの動作のカスタマイズが必要になる場合があります。このとき、App Maker のスクリプト機能が役立ちます。

App Maker で使用されるスクリプト言語は、ブラウザ(クライアント)とサーバーの両方で使用される JavaScript です。サーバーのランタイム環境は Apps Script です。このランタイム環境により、G Suite サービスの膨大なライブラリへのアクセスが提供され、Gmailドキュメントスプレッドシートカレンダー、その他のサービスの一般的な操作が実行されます。

App Maker には、便利なコード補完機能を備えた直感的に使用できるコードエディタが用意されているため、コードを記述するプロセスが効率化されます。
さらに、App Maker では、構文エラーのハイライト表示に加えて、インタラクティブな警告 / エラー表示機能が提供されています。App Maker のコーディング関連トピックの詳細については、スクリプトに関するドキュメントをご覧ください。

アプリのプレビューと公開 

最後になりましたが、App Maker には、アプリを自分ですばやくテストできる、使いやすいプレビュー機能が用意されています。アプリをユーザーに公開する準備ができたら、App Maker の包括的な公開(またはデプロイ)機能を利用できます。アプリのプレビューと公開の詳細については、公開ガイドをご覧ください。

すぐに App Maker を試してみる 

App Maker の機能の概念を把握できたら、App Maker コードラボに挑戦してみてください。注: G Suite Business / Enterprise または G Suite for Education を介して、自分のドメインで App Maker を有効にする必要があります。
App Maker についてさらに詳しく知りたい方は、developers.google.com/appmaker にアクセスするか、最新情報にご注目ください。


Reviewed by Eiji Kitamura - Developer Relations Team
Share on Twitter Share on Facebook

Reviewed by Thanet Knack Praneenararat - Ads Developer Relations
Share on Twitter Share on Facebook



Reviewed by Thanet Knack Praneenararat - Ads Developer Relations
Share on Twitter Share on Facebook

Android アプリバンドルの作成

Android Emulator スナップショット

Energy Profiler

開発フローごとに分類された主な機能の一覧を以下に示します。各機能の詳細は Canary に関するブログ記事でご覧いただけます。


開発

  • Navigation Editor
  • AndroidX リファクタリング
  • サンプルデータ
  • マテリアル デザインのアップデート
  • Android Slices
  • CMakeList 編集
  • 新機能を通知するアシスタント パネル
  • 新しい lint チェック
  • IntelliJ プラットフォーム アップデート

ビルド
  • Android アプリバンドル
  • D8 desugar
  • R8 オプティマイザ
テスト
  • Android Emulator スナップショット
  • Android Emulator での画面録画
  • Android Emulator の仮想シーンカメラ
  • ADB Connection Assistant

最適化
  • Energy Profiler
  • System Trace
  • Profiler セッション
  • 自動 CPU 記録
  • JNI リファレンス トラッキング

Google I/O 2018 のセッション

Google I/O 2018 では、Android Studio 3.2 のリリースと合わせて、Android Studio チームによる Android Studio 関連のセッションがいくつか行われました。以下の動画では、最新機能が実際に動作している様子のほか、Android Studio を使う際のヒントやコツをご覧いただけます。

ダウンロードとフィードバック

最新バージョンの Android Studio 3.2 は、ベータ版チャンネル ダウンロード ページからダウンロードしてください。Android Studio の以前のバージョンを使用している場合は、Android Studio ベータ版 1 以降にアップデートする必要があります。Android Studio の安定バージョンも保持する必要がある場合、Android Studio の安定リリース バージョンとベータ版リリース バージョンを同時に実行することができます。詳細はこちらをご覧ください

上記の Android Emulator 機能を使用するには、Android Studio SDK Manager を介してダウンロードした Android Emulator v27.3 以降を実行している必要があります。

なお、プロダクトの品質を維持するため、Navigation Editor など、Canary チャンネルで利用できた機能のいくつかは、デフォルトで有効化されていません。Canary リリース チャンネルで利用できた機能を有効化するには、[File] → [Settings] → [Experimental] → [Editor] → [Enable Navigation Editor] を選択します。

バグや問題を見つけた方は、ご遠慮なく問題を送信してください。Google+ のページや Twitter で Android Studio 開発チームからの情報を常にチェックしてください。


Reviewed by Yuichi Araki - Developer Relations Team

Share on Twitter Share on Facebook

Share on Twitter Share on Facebook

没入型コンテンツを提供するアプリでは、ディスプレイの切り欠きがある端末でも全画面表示が可能です。

アプリで SMS 通知を使用している場合、通知をさらに便利かつ実用的にする MessagingStyle の変更点を活用してください。会話を表示したり、写真やステッカーを貼り付けたり、スマート リプライを提案できるようになりました。間もなく ML Kit を使用して、アプリでスマート リプライの提案を生成できるようになります。
MessagingStyle 通知 MessagingStyle 通知
MessagingStyle 通知では、会話やスマート リプライを表示したり [左]、画像やステッカーを貼り付けることができます [右]。

セキュリティ



購入を確認するアイコン認証にさまざまなバイオメトリック センサーが使用されるようになっていますが、Google では、センサーのタイプとアプリを横断してエクスペリエンスの一貫性を向上させています。Android P には、サポートされるタイプのバイオメトリック認証をユーザーに求める、システム管理ダイアログが導入されています。アプリ独自のダイアログをビルドする必要がなくなりました。代わりに BiometricPrompt API を使用すると、標準のシステム ダイアログが表示されます。この API では、指紋認証センサー(ディスプレイ内センサーを含む)に加えて、顔および虹彩認証がサポートされます。

アプリで独自の指紋認証ダイアログを描画している場合、できるだけ速やかに BiometricPrompt API の使用に切り替える必要があります。

その他


アプリで端末のカメラを使用している場合は、複数の物理カメラのストリームに同時にアクセスできるようにする新しいマルチカメラ API を試してみてください。デュアルカメラが搭載されている端末では、シームレスなズーム、ぼかし、立体視など、単一のカメラでは実現できない画期的な機能を実現できます。デュアルカメラが搭載された Android P ベータ版端末を使用して、すぐにこれらの機能を導入できます。

オーディオ アプリでは、Dynamics Processing API を使用してマルチステージかつマルチバンドの Dynamics Processing エフェクトにアクセスし、Android 端末で再生されるオーディオを調整して、リスナーの好みや周囲の環境に合わせてオーディを最適化できます。 Dynamics Processing API 新しい機能と API の全リストについては、Android P の機能の概要をご覧ください。 

対応を開始するためのシンプルな数ステップ


Android Virtual Device

最初に、アプリの互換性を確保し、ユーザーがシームレスに Android P に移行できるようにします。Android P ベータ版端末エミュレータに、Google Play にある現在のアプリをインストールし、テストします。アプリは正しく表示および実行され、すべてのアプリに対する Android P の動作の変更点に問題なく対処できる必要があります。必要なアップデートを終えた後は、アプリのプラットフォームのターゲットを変更せず、すぐに Google Play で公開することをおすすめします。

サポート対象の端末がない場合は、テスト環境として、Android Emulator で Android Virtual Device をセットアップできます。最近試していないという方は、エミュレータが信じられないほど高速になっていることに気づくはずです。6 秒未満で起動し、長い画面や切り欠きがある画面といった次世代の画面まで試すことができます。

次に、できるだけ早くアプリの targetSdkVersion を 28 にアップデートして、Android P でアプリを使用するユーザーがこのプラットフォームの最新のセキュリティ、パフォーマンス、安定性機能の恩恵を受けられるようにしてください。間もなく適用される Google Play のポリシーに即して、アプリが既に API 26 以降を対象としている場合は、28 を対象とするように簡単に変更できます。

また、非 SDK インターフェースの使用に関してアプリをテストして、これらのインターフェースへの依存を削減することが重要です。以前説明したように、Android P より、一部の非 SDK インターフェースへのアクセスを制限するプロセスを徐々に開始します。制限される非 SDK インターフェースの直接的な使用をハイライト表示する logcat の警告を監視し、プログラムでアクセスを捕捉する新しい StrictMode メソッド detectNonSdkApiUsage() を試してみてください。可能であれば、Android SDK または NDK が提供する同等なパブリック API の使用に移行する必要があります。ユースケースに適合するパブリック API がない場合は、ご連絡ください

準備ができたら、Android P に移行して新機能と API について学習し、アプリを拡張してください。新しい API を使ってビルドするには、正式な API 28 SDK とツールを Android Studio 3.1 にダウンロードするか、最新版の Android Studio 3.2 を使用してください。その後、プロジェクトの compileSdkVersion と targetSdkVersion を API 28 にアップデートします。

詳細とドキュメントについては、デベロッパー プレビュー サイトをご覧ください。また、デベロッパー向けに Android P の新機能を解説したこちらの動画Google I/O Android プレイリストをご覧ください。

Google Play のアルファ版、ベータ版、または製品版のチャンネルに公開する


本日から、API 28 でコンパイルした、またはオプションで API 28 を対象とする APK アップデートを公開できます。プレビュー期間中にアップデートを Google Play に公開すると、ユーザーにアップデートをプッシュして、Android P ベータ版 2 を実行している端末を含む、既存の端末で互換性をテストすることができます。

アップデートしたアプリが Android P だけでなく旧バージョンでも動作することを確かめるには、通常、Google Play のベータ版テスト機能を使って、Android P ベータ版 2 のユーザーを含む少人数のユーザーから初期段階でのフィードバックを入手します。その後、製品版への段階的ロールアウトを実施します。

Android P ベータ版 2 を入手する方法


Pixel 端末の場合、端末を Android ベータ版プログラムに登録すると、Android P ベータ版 2 へのアップデートを OTA で自動的に受け取ることができます。既に登録していて、ベータ版 1 を受け取っている場合は、間もなくアップデートが送信されます。Android P ベータ版プログラムに参加しているパートナーは、今後数週間で端末がアップデートされる予定です。

パートナーが提供するサポート対象の端末と Pixel 端末の全リストは、android.com/beta で確認できます。各端末の仕様が記載されているほか、ダウンロード、サポート、問題の報告が行えるメーカーの専用サイトへのリンクが提供されています。

いつもフィードバックにご協力いただき、ありがとうございます。今夏の終わり頃に予定している正式リリースに向けて努力してまいりますので、今後もフィードバックやリクエストをお寄せください。プラットフォームの問題アプリの互換性の問題サードパーティ SDK の問題がありましたら、ホットリストを自由にお使いください。

Android P に対応した皆さんのアプリを楽しみにしています。



Reviewed by Takeshi Hagikura - Developer Relations Team


Share on Twitter Share on Facebook