[go: nahoru, domu]

[この記事は Mugur Marculescu、プロダクト マネージャーによる Google Developers Blog の記事 "gRPC releases Beta, opening door for use in production environments" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

gRPC ベータ版がリリースされました。今回のリリースは API の安定性を高める重要なリリースであり、今後の変更は追加のみになる予定です。本番環境での gRPC 利用も視野に入れることができます。

また、インストール プロセスも大幅に向上される予定です。過去数週間にわたり、gRPC パッケージを Debian Stable/Backports にて公開しました。多くの場合、インストールには Debian パッケージまたは言語別のパッケージ マネージャー(たとえば、 mavenpipgemcomposerpeclnpmnugetpod)を使用する 2 つの方法があります。また、 gRPC docker イメージを Docker Hub で利用できるようになりました。

grpc.io のドキュメントには最新の変更を反映し、言語固有の リファレンス ドキュメントを追加リリースするなどの更新を行いました。ベータ版リリースにともなう JavaGo他のすべての言語の変更点については、GitHub のリリース ノートを確認してください。

今後数ヶ月は、本稼働でのパフォーマンスや安定性の向上に集中的に取り組み、機能を厳選して追加していく予定です。 これは、 HTTP/2 上での高性能で拡張性の高い API とマイクロサービスを可能にするという、Google の方針および目標の一環です。またドキュメントも明確に記述され、新たな使用例やガイドが引き続き追加される予定です。

gRPC に対するコミュニティの対応や、gRPC を使用予定の各種プロジェクト(etcd v3 の試験 API、RESTful API 用の grpc-gateway など)に対し感謝申し上げます。またコードのコントリビューション、プレゼンテーションの実施、gRPCの採用、コミュニティへの参加をいただいた皆様には心よりお礼申し上げます。正式版(1.0)へのご支援もどうぞよろしくお願いいたします。

Posted by Yoshifumi Yamaguchi - Developer Relations Team

[この記事は Damien Mabin、デベロッパーアドボケートによる Android Developers Blog の記事 "Virtual currency: Sources and Sinks" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

仮想通貨を提供し、無料提供をうたったモバイル ゲームが近年増えていますが、ゲーム開発時に陥りがちな危険が多数あることも認識しておかなくてはなりません。1 つめの危険は経済バランスが狂うことです。Play Games Services のツールに含まれる Sources and Sinks は、ゲームの仮想経済バランスを測る便利な機能です。

ゲーム経済における現在の状況を、簡単な図式を使って視覚化できます。下の図 1 では、x 軸 (時間) と y 軸 (仮想通貨の量) 上に、2 つの曲線があります。
  • 1 つはプレイヤーが稼いだ仮想通貨の量 (オレンジ色の線)です
  • もう 1 つはプレイヤーが使った仮想通貨の量です (緑色の線)

図 1: 収益性の低い経済状態 図 1: 収益性の低い経済状態
図のこれらの曲線は何を意味しているのでしょうか?この場合、ゲームの収益化が期待できないことを示しています。稼いだ通貨量より使った通貨量が少なければ、ユーザーは黒字になります。ユーザーはお金が足りないと感じていません。これはプレイヤーが通貨の使い方または通貨を使うことの価値を理解していないということです。仮想通貨を利用可能なコンテンツがどのくらいあるか、またそのようなコンテンツをすぐに見つけやすくなっているかを再検証する必要があります。またインフレは好ましくないため、ゲームで稼ぐことができる通貨の量を減らすことを検討しても良いでしょう。最終的に、図 2 のような曲線を描くことが望ましいといえます。
図 2 バランスのとれた経済 図 2 バランスのとれた経済
図 1 よりかなり改善されました。ユーザーは、稼ぐ量よりも多くの通貨を使っています。でも少し待ってください。なぜこのようになったのでしょうか?これには 2 つの理由があります。1 つめは、プレイヤーが変更の前に貯めていた通貨のストックを使っているからです。そして 2 つ目は、ユーザーがアプリで購入した通貨は、上の図に含めるべきではないということです。これは覚えておくべき重要なポイントです。もう数日待てば、2 つの曲線が少し近づくでしょう。その差分が、ユーザーが IAP を通じて購入した仮想通貨ということになります。

図 3 安定した経済 図 3 安定した経済
Play Games Services では、コード 2 行でこのように経済を視覚化できます。iOS や Android でも利用でき、ユーザーがサインインする必要もありません。Android や iOS のアプリでは以下のようになります。
実装方法についての詳細はこちらをご覧ください。

実装が完了すれば、Play Store デベロッパー コンソール にてグラフを表示することができます。[Game Service] セクションで、[Player analytics] から [overview] をクリックしてください。


Posted by Eiji Kitamura - Developer Relations Team

[この記事は Wayne Piekarski、デベロッパー アドボケートによる Android Developers Blog の記事 "New Courses -- Developing Watch Apps for Android Wear" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

先日、Android Wear を使用したユビキタス コンピューティング に関する Udacity の新コースを発表しました。これは、Udacity と Google が共同開発したものです。Android Wear のオールウェイズ オン ディスプレイを使えば、一目ですばやく情報を得ることができます。このコースでは、各種通知、カスタム ウォッチ フェイス、フルバージョン アプリの提供に必要な情報について学ぶことができます。

Google のデベロッパー アドボケートにより考案されたこのコースは、Android Wear の利用開始に向けた実践的なアプローチであり、コード スニペットやサンプル コードに関する詳しい説明のほか、既存の Android アプリを Android Wear で使用するための簡単な方法を紹介します。毎日使用するウォッチのインターフェイスは、見やすく目立ちすぎないことが重要です。そこで、ユーザー インターフェースの製作やユニークなウェアラブル プラットフォームで実現可能な機能についても取り上げます。
このコースは、Android Wear、Android Auto、Android TV、Google Cast といった、Google プラットフォーム上のユビキタス コンピューティング シリーズの一部として提供されます。それぞれが独立した短期コースのため、単独でも一括でも受講可能です。Android Wear プラットフォームは、お持ちのアプリに機能性をプラスし、他アプリとの差別化を実現する絶好の機会です。この Udacity コースでは、時間をかけず簡単に Android Wear プラットフォームについて学ぶことができます。

今すぐ無料のコースを始めましょう!


Posted by Eiji Kitamura - Developer Relations Team

[この記事は Megan Boundey, Product Manager, Google Maps Mobile APIs による Geo Developer Blog の記事 The new Google Maps SDK for iOS includes bitcode support, new events and more"" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

米国時間 11 月 30 日、Google は Google Maps SDK for iOS 1.11(英語)をリリースいたしました。このバージョンでは、ビットコード(Bitcode)(英語)への対応や新たなイベントの追加とともに、これまで Android SDK でしか提供されていなかったいくつかの機能が加わりました。

ビットコードは、AppStore にアップロードされるアプリの中間表現です。ビットコードにより、Apple は、プロビジョニング時に特定の対象デバイスのための最適化を行うことができます。

また、今回のバージョンアップでは、didLongPressInfoWindowOfMarker(英語)および didCloseInfoWindowOfMarker(英語)という2つのイベントを新たに追加しました。前者は、Maps SDK for iOS 対応アプリのユーザー操作に、iOS の長押しを活用できるようにするイベントです。後者は、ある特定のマーカーに関連付けられている詳細情報をユーザーが見たあとに、地図を縮小表示するようなプログラムを作成する際に特に便利です。

このほかにも、GMSMapViewDelegate(英語)および GMSPanoramaViewDelegate(英語)プロトコルにレンダリング開始および終了イベントを追加しました。レンダリング開始イベントは、タイルが要求された直後、またはラベルのレンダリング開始直後のトリガーとなります。また、終了イベントは、タイルおよび StreetView のパノラマのレンダリング完了時それぞれのトリガーとなります。

終了イベントは、アクティビティ インディケーターと併用することで、地図のレンダリングが完了したことを正確に表すことができます。この機能の使用方法を示したサンプル コードを紹介します(このサンプルでは、ユーザー エクスペリエンスを向上させるため SVProgressHUD(英語)も加えていますが、これは必須ではありません。)

import UIKit
import GoogleMaps

class MapRenderingViewController: UIViewController {
  @IBOutlet var mapView: GMSMapView!

  override func viewDidLoad() {
    super.viewDidLoad()
    mapView.delegate = self
  }

  // MARK: - GMSMapViewDelegate

  func mapViewDidStartTileRendering(mapView: GMSMapView!) {
    SVProgressHUD.showWithStatus("Loading tiles")
  }

  func mapViewDidFinishTileRendering(mapView: GMSMapView!) {
    SVProgressHUD.dismiss()
  }
}


Google Maps SDK for iOS 1.11 には、さらに以下の便利な新機能とバグ修正が含まれています。

  • グラウンド オーバーレイの透過度をアルファ値で設定 
  • ポリゴン ホールへの対応 
  • ハイズーム時のカメラのチルト レンジを拡大 
  • Places のオート コンプリート機能を追加

詳しくはリリース ノート(英語)をご確認下さい。Google Maps SDK for iOS 1.11(英語)に早速アップデートしてみましょう。

Posted by 丸山 智康 (Tomoyasu Maruyama) - Google Maps Solution Architect, Google Maps API for Work

Google では 12 月 16 日(水)、Google のテクノロジーの最新情報を紹介する開発者向けイベント Google Developers Meetup #2 を開催します。本イベントでは、Google の Developer Relations チームや Google Developer Experts が、Google の開発プラットフォーム、API, SDK、ツールなどの活用方法をご紹介します。


■イベント概要

【イベント名】 Google Developers Meetup #2
【日程】 2015 年 12 月 16 日(水) 19:00 - 21:00 (開場: 18:30)※ 終了後、懇親会(軽食付き)を行う予定です。
【場所】 イベント&コミュニティスペース dots. in 渋谷
【定員】 200 名
【会費】 無料
【主催】 グーグル株式会社


■セッション
  • スマートフォン体験を一歩先へ - プログレッシブウェブアプリの作り方
  •  : Eiji Kitamura (Developer Advocate)
  • みんなの知らない Chrome Apps の世界 : Yoichiro Tanaka (Google Developer Experts)
  • TechFeedというテクノロジーキュレーションサービスを作った話 : Toru Yoshikawa (Google Developer Experts)
※アジェンダは予告なく変更させていただく可能性があります。予めご了承ください。


■申し込み方法
こちらのフォームよりお申し込みください

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



Posted by Takuo Suzuki - Developer Relations Team

[この記事は Lily Sheringham、Google Play チームによる Android Developers Blog の記事 "Android Developer Story: RogerVoice takes advantage of beta testing to launch its app on Android first" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

RogerVoice は、聴覚障がい者が音声認識システムおよび文字キャプションを使用して通話できるアプリです。重度の聴覚障がいを持つ Olivier Jeannel によって設立されたこの会社は、Kickstarter を通じて 35,000 ドルもの資金調達に成功し事業をスタートさせました。今日、Android プラットフォームで RogerVoice のアプリが初めてリリースされました。

アクセスしやすく直感的なユーザー インターフェースを制作するにあたり、マテリアル デザインとベータ テストがどのように貢献したかについて、RogerVoice の開発チームは次のように語っています。

Google Play の機能を利用した RogerVoice アプリ開発の詳細について:


Posted by Eiji Kitamura - Developer Relations Team

[この記事は Elena Kelarevan、Google Maps API プロダクト マネージャーによる Geo Developers Blog の記事 "New Controls Style for the Google Maps JavaScript API" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

コントロールはユーザーと地図間の情報のやり取りを可能にする UI です。ストリート ビューを見るためにペグマンを動かす、または地図と衛星画像を切り替えるなど、コントロールを使用して地図上を探索し、地図から必要な情報を取得します。

Google Maps JavaScript API が提供する多様なオプションにより、デベロッパーは、可視性、位置付け、スタイリング、挙動を変更することでコントロールをカスタマイズすることができます。コントロールのオプションは地図上でコントロールが作用する方法を変更する上で、高い柔軟性をデベロッパーにもたらします。

9 月に Google Maps JavaScript API のデフォルト コントロールのアップデートをリリースしました。アップデートされたコントロールは、さらにモダンな外観と感覚を備え、Google Maps Embed APIGoogle Maps website など、他の Google マップ製品との調和が強化されています。

この API のアップデートにより、コントロールの大部分においてポジション、色、サイズが変更され、一部では機能性も多少変化します。たとえば、ズーム コントロール機能は左上部ではなく右下に配置され、スライダーの代わりに [+] と [-] のボタンのみになりました。さらに、API の バージョン 3.22 (現在の試験運用バージョン) では、コントロールおよびコントロール オプションのいくつかは使用できなくなりました。Google のロゴも新しいバージョンにアップデートされています。


API バージョン 3.23 (2015 年 11 月以降の試験運用バージョン) では、一時的に旧コントロール スタイルに切り替えることができます。バージョン 3.22 と 3.23 で旧コントロール スタイルを使用するには、地図を初期化する前に単独のパラメータ google.maps.controlStyle = 'azteca' を設定します。このパラメータは 2016 年 8 月まで使用可能であり、アプリケーションに必要なアップデートを実施するには十分な時間がとれると思います。バージョン 3.24 (2016 年 2 月以降の試験運用バージョン) では、このパラメータは削除されます。地図に重複するカスタム コントロールまたは UI を使用している場合、2016 年 8 月までに時間的余裕をもって新コントロール スタイルでアプリケーションをテストし、アップデートすることを推奨します。新しいロゴは API のバージョンすべてに影響を及ぼす唯一の変更であり、削除することはできません。

各コントロールによる影響についての詳しい説明と、旧コントロールに戻すための切り替え方法についてはデベロッパー ドキュメントをご参照ください。また、Maps API の バージョンごとの動作方法、使用している API のバージョンを確認する方法、およびデベロッパー向けのベストプラクティスについての詳細は、Maps API の バージョン ガイド をご覧ください。


Posted by Eiji Kitamura - Developer Relations Team