https://www.youtube.com/watch?v=7V-fIGMDsmE
関連する他セッションや記事があれば追記しています。
まとめ記事
- GIZMODO - IoT用OS「Brillo」から16台のGoPro芸まで発表「Google I/O 2015」
- GIGAZINE - 「Android M」の詳細やIoT向けの新OSなどが次々と登場した「Google I/O 2015」まとめ
- すまほん!! - Google I/O 2015 の最新情報
- ITmedia - Google I/O 2015の基調講演まとめ 「Android Pay」やGoProのVRカメラなど盛りだくさん
Chromecast
Android M Preview
- Program Overviewより抜粋。
- final SDKリリースは2015 Q3に行われる。
- Nexus 5/6/9/Playerがシステムイメージ配布対象。
-
android:targetSdkVersion
は“MNC” - 記事
- TechBooster - Google I/O 2015 Android M Developer Previewが登場
- Android Developers Blog - Android M Developer Preview & Tools
- TechCrunch - Google I/O:Android M(5.x)のプレビュー公開―指紋スキャナー、Google Pay、アクセス許可、バッテリー改善など新機能多数
App Permissions
- アプリの権限を細かくON/OFFできるように(おそらくAppOpsの名称変更)
- オンデマンド要求で、必要時のみPermission発行可能。許可済みPermissionもあとでOFFにできる。
- 一部のPermissionが適用対象となる。
- カレンダー/カメラ/連絡先/位置情報/マイク/電話/センサー/SMS
- 拒否時の動作はアプリクラッシュ要因にならないよう、空データ取得などの動作で置き換わる。
Web Experience(Chrome Custom Tabs)
- アプリからChromeを起動したとき、UIがカスタマイズされた状態のChromeタブとして起動できる、WebViewとは異なり、認証やオートフィル機能が使える。
- PinterstからChromeを起動すると、ChromeにPinタブが表示されて画像クリッピングが楽に行える。
App Links
- HTTPスキームのURLで、任意アプリをピンポイント起動しやすくなった。
- たとえば、URLがTwitterであればTwitterクライアントを起動できるようになった。これまでのIntentの共有だと連携先アプリの問い合わせが都度発生していた。
- Androidアプリ側での変更点としては、AndroidManifest内でintent-filterの属性として
android:autoVerify = "true"
を指定しておくだけ。アプリリンクの検証を行ったあと起動できる。
Mobile Payments(Android Pay)
- クレジットカードのかわりに使える決済機能。
- Android Payとクレジットカードは併用できる。Android Payを使用する場合、クレジットカードの番号を店に通知することなく決済が可能。
Fingerprint Support
- 指紋認証を標準サポート。
- Android Payの決済に利用できる。
- スクリーンロック解除に利用できる。
- 指紋認証API(
FingerprintManager
)でアプリに組み込むことが可能。KeyguardManager#createConfirmDeviceCredentialIntent()
- サンプルアプリが公開されている。
- 記事
- Engadget - Android Mは(うわさ通り)OS標準での指紋認証機能に対応。開発者向けにAPIも用意
Power and Charging
- Power improvements
- バッテリー持ちが2倍に。
- Doze
- 充電せずに放置されている端末の起動タイミングを制御する。
- App standby
- 使用されていないアプリのネットワークアクセス頻度を減らす。
- USB Type Cに対応。
- 高速バッテリーチャージを実現。
M Preview APIs
- API変更は数百程度
- 以下、"What’s New in Android"より補足
Android Backup
- アプリデータのバックアップを標準サポート
AssistantSupport
- アプリ表示中、Google Nowなどのアシスタント(ホームボタン長押し)にアプリ内の情報を引き渡す
Activity.onProvideAssistData()
Application.OnProvideAssistDataListener
Data Binding
- レイアウトリソース内にモデルクラス/フィールドを書いておくと、Javaコード内でViewにデータをセットすることなく反映可能。
UI Features
- Android Design Support Library
- Coodinator Layout
- Snackbar
- TabLayout
- NavigationView
- TextInputLayout
- FAB
- Other UI Changes
- RecyclerView ItemTouchHelper
- Swipe-to-dismiss
- Drag and drop
- WebView
PostMessage
WebViewClient
WebSettings.setOffscreenPreRaster()
Notifications
- Icons in Notifications
-
Icon.createWithBitmap()
orIcon.createWithResource()
でビットマップアイコンを作成し、Notifications.Builder#setSmallIcon()
で設定
Texts
- Text Selection
- Easier selection
- Floating pallette with action items
- Default for TextView
- Other views
- Text Processing
<action android:name="android.intent.action.PROCESS_TEXT">
- Higher Quality Text Formatting
TextView.setBreakStrategy(int);
TextView.setHypernationFreaquency(int);
TextView.setIndents(int[] left, int[] right);
Direct Share
-
ChooserTargetService
で特定のアプリ、特定の連絡先ユーザーに対してのみデータ共有
Stylus Support
- Bluetooth stylus supportするにはBluetoothボタンを押したことを通知したい
- New stylus API in M
- Button Support
ACTION_BUTTON_PRESS
ACTION_BUTTON_RELEASE
ACTION_STYLUS_PRIMARY
ACTION_STYLUS_SECNDARY
- Gesture support
ScaleGestureDetector.setStylusScaleEnabled()
OnGestureListener.onStylusButtonPress
RenderScript Compute
- BLAS intrinsics
- Allocation-less launches
- ScriptGroup
Camera
- New Touch mode
CameraManager.setTouchMode(String cameraId, boolean enabled);
CameraManager.TouchCallback#onTouchModeUnavailable(String cameraId)
CameraManager.TouchCallback#onTouchModeChanged(String cameraId, boolean enabled)
Alpha Optimization
- 透明なビューを
setLayerType()
で指定
MIDI
- android.media.midi
-
MidiDeviceManager
- MidiInputPort/MidiOutputPort
MidiDeviceService
ART
- Runtime Stats
Debug.getRuntimeStats(String)
Wearable
Android Wear
- Watch face 1500+
- アプリ数4000+
- Always on apps
- スクリーン表示用アプリ
- スリープしても完全に画面オフにならず、省電力モードで画面表示される。
- スリープ復帰で元のアプリ画面をフォアグラウンド表示する。
- 手首のジェスチャー操作でページ送り
- 絵文字対応
IoT
Project Brillo
- Androidよりも小型のデバイス向け
- 最低限のKernel/HALで構成されるOS
- 2015 Q3リリース予定
- ITmedia - Google、I/OでIoT向けAndroid(コードネーム:Brillo)を発表か──The Information報道
Weave
- Android/Brilio/クラウドを連携するためのProtocol
- 2015 Q4リリース予定
検索技術
Deep Neural Network
- 音声認識の誤認率は2年で23%(2013)->8%(2015)に減少
Google Now
- 道路の混雑状況に応じて、帰宅時間を案内
Now on Tap
- Google Now強化、Android Mから提供される。
- 音楽プレイヤーで聴いている曲のアーティスト名(本名)をGoogle Nowで聞ける。
- ハングアウトなど、アプリ内に含まれるテキストを読み込んでGoogle Nowに質問できる。
- 記事
- GIZMODO - Google、Android Mの新機能「Now on Tap」発表。文脈に沿う情報をワンタップで表示
- GIGAZINE - ボタンを長押しするだけでスマホが必要な情報を自動で検索してくれる「Now on tap」が動作する様子はこんな感じ
- ITmedia - Google Nowの気が利き過ぎる新機能「Now on tap」 機械学習でニーズを先取り
写真
Google Photos
- ほしい写真へのアクセス性を向上
- 保存した写真のプレビュー単位を、月単位/年単位で切り替え
- 自動カテゴリ、顔認識で所有者の娘の写真を抽出して、0歳の写真までさかのぼるデモ
- 「snow storm」で雪の写真を検索
- スペック
- 写真・動画のストレージは無料、容量無制限
- 写真: 16Mピクセル
- 動画: 1080p
- 発表当日(2015/5/29)から使える
- Web/Android/iOS
- 記事
- 日本経済新聞 - グーグル、無料画像管理サービス「Google Photos」
- Engadget - 「Google Photos」発表。1600万画素までの写真を無制限に保存。Android / iOS / WEBで本日提供開始
- TechCruch - Google Photosの「無料無限ストレージ」は、Appleの高価なiCloudを打ちのめすかもしれない
- ガジェット速報 - 最新フォトストレージサービス「Google Photos」発表…条件付きで容量無制限に
途上国向けサポート
Android One
- Smartphone Sales(2016): 1.2 billion
- インド/東南アジア/トルコで開始
Chromebook
- Students: 10 million
低速通信対応
- 低速通信、PCスペックを検知して、通信データ削減によりChrome検索速度を向上
- ページ読み込み: 4x
- データ削減: 80% bytes削減
- メモリ使用量: 80MB
オフライン利用対応
- Chrome for AndroidのOffline対応
- YoutubeのOffline対応
- Google MapのOffline対応
- オフライン状態(機内モード環境)でもマップ検索、音声案内できるようになった
Developer Support
Android Studio
- Android Studio 1.3 Previewリリース
- Gradleビルド速度向上(Android Studio 1.3 + Gradle 2.4)
- Build Variantsが増えてもビルド時間が大きく増加しない
- NDK(C/C++)サポート
- CLionをベースにしている
Polymer
- Polymer 1.0リリース
- iOS向けにもcocoapodsライブラリ公開
Cloud Test Lab
- Firebase買収
- 世界で売れているTop20の端末を用いて、クラウドテストが行える
App Indexing
- iOSにも対応
- Google検索結果にインストールアプリのディープリンクを作成
- Google Webmaster Central Blog
Google Cloud Messaging
- Android/iOS/Chromeに対応
- GCM Network Manager(
JobScheduler
のようなAPI)がGoogle Play Servicesに追加される - Google Developers -
Implementing GCM Client on iOS
App Install Ads
- AdMobとGoogle Analyticsを統合
- "App Install Ads"(アプリ インストール広告)についてはAdWordsにも記載されている。こちらも統合対象か?
- https://support.google.com/adwords/answer/6032059?hl=ja
- http://venturebeat.com/2015/05/28/google-gives-developers-new-adwords-analytics-and-admob-tools-to-monetize-their-apps-with-ads/
Developer Console
- コンバージョン情報を取得
- A/Bテストに対応
Google Play Developer Pages
- 自社、自分のアプリを紹介するページ
- Google Play デベロッパー ヘルプ - デベロッパー ページの作成または更新
Search in Google Play
- Google PlayのInstall数: 50 billion/年
- Active user: 1 billion users
- Google Play Personalized Store
- 家族向けGoogle Play検索エンジン
- Browse by Age: 子供向けにGoogle Playにカテゴリフィルタをかけられる
- Popular Charactors: キャラクターで検索
- 記事
- GIGAZINE - Google Playに検索機能や年齢別フィルタリングが追加、コンバージョンやA/Bテストも利用できる開発者向けページも新設される
Education
Android Nanodegree
- Android教育プログラム
- 期間: 9-12ヶ月
- 授業料: $200
- http://blog.udacity.com/2015/05/introducing-android-developer-nanodegree.html
Expeditions
- Cardboardを授業に使う
- VRで仮想遠足、教師のタブレット操作結果を生徒のCardboardに反映
- User: 1 million users
VR
Google Cardboard
- 6インチスマホまで対応
- Cardboard SDK
- Build Android and iOS
- Cardboard SDK for Unity v0.5がリリースされた
JUMP
- GoPro16台を円状にならべて360度カメラ
- 3Dアラインメント、GoProカメラ間のつなぎ目は補正表示
- 動画アセンブラを開発者に限定公開
その他
- Google Car
- @IT - あなたの知らない自動運転技術の歴史とGoogle Carの自動運転に使用するセンサーの基礎知識
- Project LOON
- 100+ days in the air
- 10M bps connectivity
- 500m accuracy
- 4x coverage area
- local partners