2018 年より開催している Google Play 主催のインディー ゲーム フェスティバルは、インディー ゲームとそのデベロッパーの革新性や独自性を称えるイベントです。2022 年に 5 回目を迎えたインディー ゲーム フェスティバル の、トップ 3、トップ 10、特別賞を決定するファイナル イベントを、9 月 3 日 (土) にオンラインで開催しました。
今年も1 日限りのメタバース空間 ”Adventure”に、全国から多くの方にご参加いただきました。日本だけでなく、韓国やヨーロッパのファイナリストとの貴重な交流や作品のダウンロード、ファイナル イベントをプラットフォーム内のステージ上で視聴するなど、さまざまな交流が見られました。
作品のクオリティは、年々高くなっており、技術力だけではなく多様な世界観にあふれる作品が並びました。
審査員は予め全作品をプレイし、事前収録したファイナリストたちの 5 分間のプレゼンテーション動画を視聴後、審査に挑みました。ファイナル イベントではファイナリストたちが 1 分間のアピールタイムと質疑応答に対応。その後、各審査員による協議を経てトップ 3、トップ 10、各特別賞の受賞者を発表、表彰しました。
そして今回、Google Play l インディー ゲーム フェスティバル 2022 のトップ 3、トップ 10 ならびに特別賞の受賞作品を発表いたします。受賞された皆さま、おめでとうございます!
※(五十音順、敬称略)
カタストロフィレストラン
RASPBERRY MASH
SOULVARS
※上記 3 作品を除く(五十音順、敬称略)
幻影AP-空っぽの心臓
時効 1 分の世界
すし屋台 -お寿司屋さんのお店経営ゲームー
ダンジョンに捧ぐ墓標
わんおぺ寿司
A YEAR OF SPRINGS
HUNGRY PIGS
※(敬称略)
学生部門賞
アニュラス ゲームズ
TOHO Games 賞
集英社ゲームズ賞
UUUM賞
ユニオンシューター360
Google Play l インディー ゲーム フェスティバル 2022 の開催に際し、多大なるご協力をいただいた、社外審査員、特別賞審査員の皆さま、ありがとうございました!各受賞作品への審査員の方々からのコメントや受賞理由は後日こちらのブログに掲載させていただきます。
この記事は Tom Grinsted による Android Developers Blog の記事 " Google Play @ Google I/O - 3 updates you need to know " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
※ 諸事情により Google I/O 関連記事の投稿のタイミングが前後してしまいました。申し訳ありません。
Google Play チームは、インストール数の増加、エンゲージメントの向上、収益化の加速など、常にデベロッパーの皆さんのビジネス成長に役立つ新たな方法に取り組んでいます。そこで、見逃してしまった方のために、2022 年の Google I/O で発表したビジネス成長に寄与する新しい方法トップ 3 を紹介します。
ストアのカスタム掲載情報 が大幅にアップデートされ、ユーザーごとに適切なメッセージを表示できるようになっています。これにより、優れた第一印象を与えられる新たな方法を提供できました。
カスタム掲載情報への一意なディープリンクを生成できるので、ユーザーがどのチャンネルやサイトからアクセスしてきたかによって掲載情報を変えることができます。さらに、Google Play Console でカスタム掲載情報ごとに分析情報を確認できるため、それぞれの効率性を把握し、徐々に最適化することもできます。
すべてのデベロッパーが最大 50 個のストアのカスタム掲載情報を作成でき、これまで以上にユーザーに合ったストーリーを伝えることができます。また、掲載情報 1 つにつき 5 つまでの実験ができることから、大きな最適化の余地が生まれます。
LiveOps は、Google Play ストアでゲームやアプリの期間限定イベント、特典、メジャー アップデートを宣伝するためのセルフサービス マーチャンダイジング ユニットです。ベータ版に参加しているデベロッパーは、インストールの促進、エンゲージメントの向上、販売増進に役立つコンテンツを送信できます。
さらに、ディープリンクを使ってユーザーをアプリやゲームの最適な部分に直接誘導し、Google Play Console の新しい LiveOps レポーティング ダッシュボードで成果を確認できるようになっています。このレポートでは、各イベントのパフォーマンス指標を細かく確認したり、経時的な結果や、獲得、オープン、アップデートなどの実績ごとの結果を表示したりできます。
LiveOps の詳しい情報やベータ版プログラムへの参加申請は、こちらをご覧ください。
定期購入のビジネスモデルが進化するにつれて、多くのデベロッパーから、定期購入を販売する方法の柔軟性を向上させて複雑さを低減してほしいという声が寄せられています。そこで、大きなアップデートとして新しい定期購入機能 (英語) をリリースし、定期購入ごとに複数のベースプランとオファーを設定できるようにしました。複数のオファーを作成してサブスクリプション ライフサイクルのさまざまな段階をサポートすることで、新しい登録者を獲得したり、アップグレードを推奨したり、既存の登録者を維持したりできます。同時に、増える一方だった SKU を管理するコストと複雑さを大幅に減らすことができます。
さらに、期間限定でアクセス可能なプリペイド プランも利用できるので、従量課金が一般的な地域や、まだ自動更新プランに登録するほど熱心でないユーザー向けに優れた選択肢となります。アクセス期間は、期限が切れる前にアプリ内や Google Play ストアの定期購入画面からいつでも簡単に延長できます。
ここでは、Google Play で皆さんの成長と発展を支援するために行った多くのアップデートの中から 3 つを紹介しました。他の項目について知りたい方は、Google I/O の Google Play 関連の全プレイリスト (日本語字幕は YouTube の自動翻訳機能で日本語を選択してください) をご覧ください。
この記事は Sarah Karam による Android Developers Blog の記事 " Notes from Google Play: making Play work for everyone " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
こんにちは。
私は Google Play のグローバル アプリ パートナーシップ チームのリーダーとして、皆さんのビジネスを成功させて拡大する方法に関して、すばらしいアイデアとフィードバックを共有してくださるたくさんの企業と出会う機会に恵まれました。
今回の Notes from Google Play の最新号では、Google が大いに刺激を受けた皆さんのアプリやゲームに加えて、私や私たちのチームが最も重視していることについて紹介したいと思っています。私にとってそれは、すべての人が Google Play を活用できるようにすることです。つまり、アプリやゲームを支えている皆さん全員が簡単にビジネスを拡大し、あらゆる場所にいるあらゆる人により良いサービスを提供できるように、Play を改善するということです。
まずは、今年私がときめいた数多くのアプリの中から OLIO のストーリーを紹介します。OLIO は食品廃棄を減らす活動を進めるコミュニティ向けのアプリで、近くの人に簡単に食品を提供することができます。この仕組みを作った Tessa Clarke さんと Saasha Celestial-One さんには、世界中で地域密着型の食品共有ネットワークを作り、価値あるものが一切無駄にならないようにするという目的がありました。Tessa さんと Saasha さんは、英国でこのアプリを立ち上げたあと、その信念に基づいて 62 か国に展開し、世界中の店と連携しながら無駄をなくすことに取り組んでいます。
あらゆる人と地球のために作られた OLIO アプリの成功は、異なる背景と同じ夢を持つ 2 人の女性の物語です。私にとって重要なのは、すべての人が世界の人々に貢献するビジネスの成功を達成するための確かな土台作りをすることです。
この目的を念頭に置きつつ、最近リリースされたすてきなツールやプログラムをいくつか、詳しく紹介します。
Google は、あらゆる規模の企業が、情報に基づいた意思決定に役立つ分析情報やツールを使えるようにし、最終的には、アプリやゲームのビジネスを簡単に構築したり改善したりできるようにしたいと考えています。例として、重要なトピックであるプライバシーとセキュリティについて考えてみましょう。
また、多様なニーズを抱えた企業のためのプログラムも用意しています。これらのプログラムの対象は、あらゆるデバイスで動作するアプリを開発しているメディア企業から、インドの Appscale Academy (英語) の最初のメンバーとして地域の問題の解決にあたっているスタートアップ企業まで多岐にわたります。これらの有望なスタートアップ 100 社は、インド中、世界中の人々に使ってもらえる高品質なアプリを作る意欲と創造性にあふれており、私たちはすでに、彼らのイノベーションに何度も驚かされています。
また Googleは、企業の規模に関係なくビジネスを拡大するためのプログラムへの注力も続けています。3 月に始まった Google Play パートナー プログラムもその 1 つで、これは大規模なゲームビジネスが拡大目標や実績目標を達成できるようにするための取り組みです。2022 年 6 月には、Indie Games Accelerator とIndie Games Festival (英語) プログラムへの申請も始まりました。2021 年の修了メンバーは、特に印象的な成果を残しています。Google Play コーヒー ブレイクの最初のエピソードでは、親切心、コミュニティ構築、寛容さを推奨するゲームを作成したイスラエルの Jimjum Studios の話を直接聞くことができます。
アプリやゲームは、企業の規模とは関係なく、人が開発し、人が運営するものです。そのため、エコシステムの多様性を推進するプログラムへの注力を続け、次世代のアプリやゲーム制作者を育む取り組みを進めています。Change the Game (英語) のようなプログラムやゲーム業界に前向きな変化をもたらす組織 (動画/日本語字幕あり) への投資は、私が特に誇りに思っているプログラムです。
Google は、すべての人がすばらしいアプリやゲームに簡単にアクセスできるべきだと考えています。それが人々の生活の向上と、皆さんのビジネスの拡大につながります。
そのためのサポートとして、誰もが適切な価格でアプリやゲームに簡単にアクセスできるようにするために、最近いくつかのアップデートをしました。これにより、皆さんのアプリやゲームの収益化が向上します。たとえば、定期購入販売の柔軟性を高めて複雑さを軽減してほしいという要望にお応えし、新しい定期購入機能 (英語) をリリースしました。定期購入ごとに複数のベースプランとオファーを作成できるようになったので、増える一方だった SKU を管理するコストと煩雑さを大幅に軽減できます。新規ユーザーとのつながりを深めたい場合やロイヤル ユーザーを維持したい場合に、あらゆる人のためのオファーを作成できます。
さらに、皆さんの収益化を改善できるように、ユーザーが最適な手段でアプリやゲームの決済ができるようにする新たなツールを用意しています。Google Play Commerce は 170 か国以上の購入者をサポートしていますが、決済手段ライブラリの充実化によって 70 か国の 300 以上の地域固有の決済手段を含めることで、さらなる拡大を図っています。また、地域の購買力に適応しやすくするため、すべてのマーケットで 5 米セント相当から始まる低価格設定オプションを追加する変更をしました。
まずはじめに、アプリの領域への新規参入者が生み出したビジネスでありながら、世界に肯定的な影響をもたらすことに成功した OLIO を紹介しました。これは、たくさんの刺激的な事例の 1 つでしかありません。先日公開した #WeArePlay (英語) は、アプリやゲームを支えている世界のコミュニティの皆さんと、その唯一無二のストーリーを称える新たなキャンペーンです。あらゆる規模のチームが存在し、コーディングを長い間続けてきた方が設立したチームもあれば、新たにテック業界に参入した方が設立したチームもあります。また、大都市に住む方のチームも、小さな町に住む方のチームもあります。ここで紹介するのは、問題を解決するアプリや、世界中の人々に喜びをもたらすゲームを作成してきた一人ひとりの道のりを伝えるショート ストーリーです。
皆さんがこれからもすばらしいアプリやゲームを作り続け、ビジネスを拡大して、ユーザーを夢中にする様子を見るのを楽しみにしています。皆さん自身とその成果のために、これからも一歩一歩の前進とささやかな成功を祝福し続けましょう。それが私たち全員の成長につながります。
皆さんの健康をお祈りしています。
Sarah Karam
Google Play グローバル アプリ パートナーシップ ディレクター
Google Play は、ユーザーとデベロッパーの皆さんのプライバシーと安全が、最も重要であると考えています。 そのため、大きなポリシーの改定に伴い、デベロッパーの皆さんに対応いただくことが必要となる場合に、その情報を広くお伝えするためのウェビナーを開催しています。
2022 年 8 月 17 日に開催されたポリシー ウェビナーでは、 2022 年 7 月末に適用となったポリシー変更の内容を中心にお伝えしました。本ウェビナーは、Google Play ストアに向けたアプリの開発やパブリッシングを担う企業や個人の皆さまを対象にした、オンライン ウェビナーで、事前にいただいた質問に回答する場も設けております。
この記事では、イベント内で解説した内容と、ご紹介した関連動画やリソースをまとめます。
アプリで定期購入アイテムを販売する場合、ユーザーが定期購入を管理または解約する方法を明確に開示しなければなりません。また、定期購入をオンラインで簡単に解約できる手段にアプリ内からアクセスできるようにすることも必要です。この要件を満たすには、アプリのアカウント設定(または同等のページ)に次の項目を追加してください。
または
審査プロセスを妨げ、不承認の理由ともなる、アプリのログイン認証の欠落のような、一般的な違反を回避するために、Google Play Console を通じて情報を送信する場合には、必ず以下のことを行ってください。
ユーザーがアプリに投稿したコンテンツが他のユーザーにも、または少なくともアプリユーザーの一部にも表示される、またはアクセスできるようになる場合、それをユーザー作成コンテンツ(UGC)といいます。アプリが UGC カテゴリに該当する場合、必要なモデレーションを実施しレポートシステムを実装する必要があります。
UGC ポリシー違反の例
UGC アプリに性的なコンテンツが表示されている場合でも、(1)主に性的でないコンテンツへのアクセスを提供しており、(2)性的なコンテンツを積極的に宣伝または推奨していない場合は、「偶発的」な性的コンテンツと見なされます。ただし、適用される法律で違法と定義されている性的なコンテンツや、児童を危険にさらすコンテンツは、「偶発的」とは見なされず許可されません。
以下のすべての要件を満たしている場合、その UGC アプリには偶発的な性的コンテンツが含まれている可能性があります。
以下にて、UGC ポリシーの要件について確認しましょう。UGC が含まれるアプリや UGC を提供するアプリは、次の項目を守る必要があります。
2021 年末 Google Play の「性的なコンテンツと冒とく的な表現に関するポリシー」をアップデートしました。Google は、ユーザーにとっての性的なコンテンツの許容範囲が国によって違うことを認識しています。このアップデートでは、対象となるコンテンツが許容される一部の国ではアプリを公開できるが、対象となるコンテンツが許容されない国ではアプリを公開できなくなるということをポリシーに明記しました。
また、これに伴い、日本での文化的背景を鑑みた結果、これまで Google Play で禁止されてきたウェブ漫画における偶発的な性的描写を日本の Google Play ストアでは許可する旨のポリシーのアップデートを行いました。
今回のアップデートは、成人向けコンテンツを許容するものではございません。以下に該当する場合のみ、漫画アプリにおける性的描写が許容されます。
引き続き、性的なコンテンツをアクティブにプロモーションする行為、違法な性的コンテンツや児童を危険にさらすコンテンツは許可されません。
イベント内では、その他のアップデートに関しても説明を行いました。アーカイブ配信は、こちらのウェブサイトから登録後、いつでもご視聴いただけますので、イベントを見逃した方は、ぜひアーカイブ配信もご活用ください。
今後もお寄せいただいたご意見には真摯に向き合い、ポリシーの改善を続けていきます。引き続き Google Play を安全で、信頼できるプラットフォームにするために、ご協力をお願いします。
この記事は Patricia Correa による Android Developers Blog の記事 " #WeArePlay | Discover the people building apps & games businesses " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
毎月 25 億以上のユーザーが Google Play にアクセスし、世界中の数百万もの企業によって作成されたアプリやゲームを見つけています。
#WeArePlay (英語) は、これらの企業を支える人々のグローバル コミュニティである皆さんを称えるものです。
皆さんが作成するアプリやゲームには、それぞれ特別なストーリーがあります。子どもの頃からコーディングを続けている方もいれば、人生の後半でテック業界に参入した方もいらっしゃいます。また、生活のペースが目まぐるしい大都市に住んでいる方も、もう少しゆったりした小さな町に住んでいる方もいらっしゃいます。しかし、どのような方でも、どのように異なるストーリーを持っていても、皆さんに共通しているのは、アイデアをビジネスに変えて、世界中の人々にインパクトを与えたいという情熱を持っていることです。
2022 年 6 月 22 日からの数か月にわたって、#WeArePlay で皆さんのそうしたストーリーを共有し、祝福します。
シリーズの第一弾として、ロンドン在住の母娘、 Yvonne さんと Alyssa さんのストーリーをお送りします。この 2 人は、アフリカやカリブ海地域のさまざまなヘアスタイルを表現する着せ替えゲーム 「Frobelles」 (英語) を開発しました。
さらに、「Hand Talk Translator」 を開発した Ronaldo さん、Carlos さん、Thadeu さん(私の母国であるブラジル)、「DailyArt」 を開発したアート愛好家 Zuzanna さん(ポーランド)、「TravelSpend」 を開発した旅行愛好家カップルの Ina さんと Jonas さん(ドイツ)のストーリーもご覧ください。
アプリやゲームのビジネスに関わっているすべての皆さん、Google Play コミュニティの一員になってくださり、ありがとうございます。皆さんの献身的な努力と向上心により、何百万人のユーザーが学習したり、つながり合ったり、くつろいだり、運動したり、仕事を見つけたり、還元したり、笑ったり、楽しんだり、空想の世界に逃れたりすることが可能になっています。
g.co/play/weareplay (英語) では、他にもたくさんのストーリーをご覧いただけます。
Reviewed by Tamao Imura - Developer Marketing Manager, Platforms and Ecosystems
この記事は Oscar Rodriguez による Android Developers Blog の記事 " Boost the security of your app with the nonce field of the Play Integrity API " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
先日リリースされた Play Integrity API を使って、リスクや不正行為の可能性からゲームやアプリを保護する手段を講じるデベロッパーが増えています。
Play Integrity API は、アプリの整合性、デバイスの整合性、ライセンス情報に関する便利なシグナルに加えて、シンプルでありながら非常に便利な「ノンス」と呼ばれる機能を備えています。これを正しく使うと、Play Integrity API が提供する既存の保護をさらに強化できるほか、中間者 (PITM) 改ざん攻撃やリプレイ攻撃といった特定の種類の攻撃を軽減できます。
このブログ投稿では、ノンスとは何か、どのような仕組みで動作するのか、どのように使えばアプリの保護を強化できるのかについて、詳しく説明したいと思います。
暗号学やセキュリティ エンジニアリングにおいて、ノンス (number once) とは安全な通信の中で一度だけ使われる数を指します。ノンスは、認証、暗号化、ハッシュなど、さまざまなことに応用できます。
Play Integrity API でのノンスは、Base64 でエンコードされた暗号バイナリ blob です。API の整合性チェックを呼び出す前にこれを設定すると、API の署名付きレスポンスでその値がそのまま返されます。ノンスの作成方法、検証方法によって、Play Integrity API が提供する既存の保護をさらに強化したり、中間者 (PITM) 改ざん攻撃やリプレイ攻撃などの特定の種類の攻撃を軽減したりできます。
Play Integrity API が行うのは、署名付きレスポンスで実際のノンスデータをそのまま返すことだけです。そのため、有効な Base64 でさえあれば、どんな値でも設定できます。ただし、ノンスは、レスポンスをデジタル署名するために Google のサーバーに送られます。そのため、ノンスにはユーザー名、電話番号、メールアドレスなどの個人を識別できる情報 (PII) を一切設定しないことが非常に重要です。
アプリに Play Integrity API を設定したら、setNonce() メソッドを使ってノンスを設定します。または、Kotlin 版、Java 版、Unity 版、およびネイティブ版の API でも、同等の方法が提供されています。
setNonce()
Kotlin:
val nonce: String = ... // Create an instance of a manager.val integrityManager = IntegrityManagerFactory.create(applicationContext) // Request the integrity token by providing a nonce.val integrityTokenResponse: Task<IntegrityTokenResponse> = integrityManager.requestIntegrityToken( IntegrityTokenRequest.builder() .setNonce(nonce) // Set the nonce .build())
val nonce: String = ...
// Create an instance of a manager.
val integrityManager =
IntegrityManagerFactory.create(applicationContext)
// Request the integrity token by providing a nonce.
val integrityTokenResponse: Task<IntegrityTokenResponse> =
integrityManager.requestIntegrityToken(
IntegrityTokenRequest.builder()
.setNonce(nonce) // Set the nonce
.build())
Java:
String nonce = ... // Create an instance of a manager.IntegrityManager integrityManager = IntegrityManagerFactory.create(getApplicationContext()); // Request the integrity token by providing a nonce.Task<IntegrityTokenResponse> integrityTokenResponse = integrityManager .requestIntegrityToken( IntegrityTokenRequest.builder() .setNonce(nonce) // Set the nonce .build());
String nonce = ...
IntegrityManager integrityManager =
IntegrityManagerFactory.create(getApplicationContext());
Task<IntegrityTokenResponse> integrityTokenResponse =
integrityManager
.requestIntegrityToken(
.build());
Unity:
string nonce = ... // Create an instance of a manager.var integrityManager = new IntegrityManager(); // Request the integrity token by providing a nonce.var tokenRequest = new IntegrityTokenRequest(nonce);var requestIntegrityTokenOperation = integrityManager.RequestIntegrityToken(tokenRequest);
string nonce = ...
var integrityManager = new IntegrityManager();
var tokenRequest = new IntegrityTokenRequest(nonce);
var requestIntegrityTokenOperation =
integrityManager.RequestIntegrityToken(tokenRequest);
ネイティブ :
/// Create an IntegrityTokenRequest object.const char* nonce = ...IntegrityTokenRequest* request;IntegrityTokenRequest_create(&request);IntegrityTokenRequest_setNonce(request, nonce); // Set the nonceIntegrityTokenResponse* response;IntegrityErrorCode error_code = IntegrityManager_requestIntegrityToken(request, &response);
/// Create an IntegrityTokenRequest object.
const char* nonce = ...
IntegrityTokenRequest* request;
IntegrityTokenRequest_create(&request);
IntegrityTokenRequest_setNonce(request, nonce); // Set the nonce
IntegrityTokenResponse* response;
IntegrityErrorCode error_code =
IntegrityManager_requestIntegrityToken(request, &response);
Play Integrity API のレスポンスは、JSON Web Token (JWT) (英語) 形式で返されます。このペイロードは、次の形式の平文 JSON テキストです。
{ requestDetails: { ... } appIntegrity: { ... } deviceIntegrity: { ... } accountDetails: { ... }}
{
requestDetails: { ... }
appIntegrity: { ... }
deviceIntegrity: { ... }
accountDetails: { ... }
}
ノンスは requestDetails 構造に含まれており、次のような形式になっています。
requestDetails: { requestPackageName: "...", nonce: "...", timestampMillis: ...}
requestDetails: {
requestPackageName: "...",
nonce: "...",
timestampMillis: ...
nonce フィールドの値は、以前に API に渡した値と厳密に一致する必要があります。さらに、ノンスは Play Integrity API の暗号学的に署名されたレスポンスに含まれているため、レスポンスを受け取った後に値を改変することはできません。この特性を活用することで、ノンスを使ってアプリの保護を強化することができます。
悪意のあるユーザーが、オンライン ゲームでプレーヤーのスコアをゲームサーバーに報告する不正行為のシナリオについて考えてみましょう。この場合、デバイスは侵害されていませんが、プロキシ サーバーや VPN を使うと、ユーザーはゲームとサーバーとの間でネットワークに流れるデータを参照したり改変したりできます。そのため、悪意のあるユーザーは、実際のスコアはかなり低いにもかかわらず、高いスコアを報告できることになります。
この場合、Play Integrity API を呼び出すだけでは、アプリを保護することはできません。デバイスは侵害されておらず、アプリも正当なものなので、Play Integrity API が行うすべてのチェックに合格します。
しかし、Play Integrity API のノンスを使えば、操作の値をノンスにエンコードすることにより、ゲームのスコア報告という価値の高いアクションを保護できます。この実装は次のようになります。
この手順を示したのが次の図です。
保護すべき元のメッセージが署名結果と合わせて送信され、サーバーとクライアントの両方でノンスの計算にまったく同じメカニズムを使っている限り、メッセージが改ざんされていないことを示す強力な保証となります。
なお、このシナリオのセキュリティ モデルは、攻撃がデバイスやアプリではなく、ネットワーク上で行われることを前提としています。そのため、Play Integrity API が提供するデバイスとアプリの整合性シグナルも合わせて検証することが特に重要です。
別のシナリオについて考えてみましょう。ここでも、悪意のあるユーザーが Play Integrity API で保護されたクライアント サーバー アプリと不正な行為を行おうと、侵害したデバイスをサーバーが検出できないような形で使う場合です。
まず、攻撃者は正当なデバイスでアプリを使い、Play Integrity API で署名付きレスポンスを収集します。次に、侵害したデバイスでアプリを使い、Play Integrity API の呼び出しを傍受して、整合性チェックをする代わりに以前に記録した署名付きレスポンスを返します。
署名付きレスポンスは改ざんされているわけではないので、デジタル署名は問題なく見えます。そのため、アプリサーバーは正当なデバイスと通信していると誤解する可能性があります。これを リプレイ攻撃と呼びます。
このような攻撃に対する防御の第一線となるのは、署名付きレスポンスの timestampMillis フィールドを検証することです。このフィールドにはレスポンスが作成された時間を表すタイムスタンプが含まれており、たとえデジタル署名が正当であることが検証されても、古くて疑わしいレスポンスを検出する際に役立ちます。
timestampMillis
ただし、Play Integrity API のノンスを使ってレスポンスごとに一意な値を割り当て、レスポンスが以前に設定した一意な値と一致することを検証することもできます。この実装は次のようになります。
この実装があれば、サーバーがアプリに Play Integrity API の呼び出しを要求するたびに、毎回異なるグローバルに一意な値が使われることになります。そのため、攻撃者がこの値を予測できない限り、ノンスが期待される値と一致しないので、以前のレスポンスを再利用することはできなくなります。
上記の 2 つのメカニズムはまったく異なるメカニズムで動作しますが、アプリで両方の保護が同時に必要になる場合は、1 回の Play Integrity API 呼び出しで両方を組み合わせることができます。たとえば、両方の保護の結果を大きな Base64 ノンスに追加します。両方のアプローチを組み合わせた実装は、次のようになります。
ここで紹介したのは、ノンスを使って悪意のあるユーザーに対してアプリの保護を強化する方法です。アプリでプライベートなデータを扱っている場合や、アプリが不正使用に対して脆弱な場合は、Play Integrity API を使って脅威を軽減する措置を検討することをお勧めします。
Play Integrity API の詳細を知りたい方やこの API を使ってみたい方は、g.co/play/integrityapi のドキュメントをご覧ください。
Reviewed by Mari Kawanishi - Developer Marketing Manager, Google Play
Google Play l インディー ゲーム フェスティバル 2022 に多数ご応募いただきありがとうございました。厳正なる審査により以下の 20 作品が選出されました。入賞されたみなさま、おめでとうございます!
この中から、2022 年 9 月 3 日に開催するファイナル イベントでトップタイトルが決定します。
この機会に、トップ 20 作品をダウンロードして、あなたのお気に入りのゲームを見つけてみてください。各ゲームの感想や応援コメントを投稿される際はハッシュタグ #indiegamesfestivaljp をご活用ください。ファイナル イベントへの参加には、こちらからニュースレターにご登録ください。
皆さんのご参加をお待ちしております。
Posted by Tamao Imura - Developer Marketing Manager, Google Play
この記事は Purnima Kochikar による Android Developers Blog の記事 "Celebrating 10 years of Google Play. Together. " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
Google Play 10 年のお祝いを、皆さんと共に
今週、私たちは Google Play の 10 年を祝っています。この 10 年間にわたり、デベロッパーの皆さんの創造性と、Google のグローバルなプラットフォームへの投資との相乗効果で、活気に満ちたアプリのエコシステムが生み出されました。190 か国以上の 25 億人のユーザーが毎月 Google Play を利用して皆さんのアプリやゲームを楽しみ、 Google Play は、これまでにデベロッパーの皆さんに $1,200 億ドルを超える収益 をもたらしました。この素晴らしい節目を誇りに思うとともに、皆さんのパートナーシップに感謝申し上げます。
これまでの歩みを振り返って
私は、Google Play の立ち上げからわずか数か月後の 2012 年にチームに参加しました。当時、Android のアクティブユーザー数が 1 億人から 4 億人に (英語) 増加したばかりでした。Android は、モバイル コンピューティングを全世界のあらゆる人々に広めるという大胆な目標を掲げた新参者でした。プラットフォームの機能、ツール、デザイン ガイドライン、商業的な能力など、ほとんどの面で競合プラットフォームに大きく遅れをとっていたため、当然ながら皆さんも成功の可能性には懐疑的でした。しかし、私たちは、公平でオープンなエコシステムが持つ大きな可能性を信じ、何より重要な点として、デベロッパーの皆さんの無限の可能性を信じて、前進してきました。私たちは、皆さんの成功へのコミットメントを原動力として、これからも歩み続けます。
当時、わずか 6 人だったパートナーシップ チームは、モバイル経済のもたらすチャンスをとらえ課題を克服するために、最善のサポートをするにはどうすればよいかを考えていました。しかしながら、とても多くの不確定要素がありました。世界中のユーザーにとって手の届く価格のデバイスで、デベロッパーの皆さんが思い描くアプリを提供できるだろうか?モバイル機器のデータ通信料は高額でデバイスの性能も低い中、人々はスマートフォンの小さな画面で動画を見るだろうか?モバイルゲームに満足して課金し、安心して利用してもらえるだろうか?雑誌や新聞などの紙媒体と同様に、アプリ内コンテンツを定期購読してもらえるだろうか?などの要素です。
私たちは、あらゆるステップで皆さんと共に課題に取り組み、時間をかけて皆さんのニーズを把握し、上質なアプリやゲームを開発できるよう支援してきました。また、β テストや段階的なロールアウトの機能、ユーザーレビューに返信できる機能などを通して、世界に広がる Google のユーザー コミュニティと共に、皆さんのアプリやゲームを進化させられるお手伝いをさせていただきました。
そうした初期の頃の、最も懐かしい思い出は、モバイル端末の利便性を活かす斬新な方法を考案して、私たちに刺激を与えてくれた各企業との協働です。これらの協働は、このテクノロジーの可能性について、改めて気づかせてくれました。Smule の事例は、Google Play 初期のサクセス ストーリーの 1 つです。この 10 年間、Smule の成長と繁栄を見ることができ、とても嬉しいです。
(日本語字幕は YouTube の自動翻訳機能で日本語を選択してください)
皆さんのアプリが人気を博し、持続可能なグローバル ビジネスへの転換を目指す中、Google はコマース プラットフォームへの投資を強化し、皆さんのビジネスの成長やマネジメントを支援しました。世界中の最も一般的で効果的な支払い方法を追加することで、アプリやゲームに対する支払いをスムーズに行えるようにしました。70 か国でサポートされている 300 以上の現地の支払方法へのアクセスなど、現地の支払方法の発見と統合に関する複雑さを解消しました。また、プレミアムから無料プレイや定期購入のビジネス モデルに至るまで、皆さんのビジネスニーズを予測しサポートするためにプラットフォームを進化させ、現在 Google Play は、 170 以上の市場でユーザーの安全かつシームレスな取引を支援しています。
インストールから Vitals まで、アプリやゲームのライフサイクル全体について、Google Play Console を通じて業界をリードするインサイトを提供し、ビジネスを効率的に管理できるよう支援しました。Smart Launcher の創業者である Vincenzo Colucci 氏が、Google Play のおかげで、彼が住みたい場所(南イタリアのマンフレドニアで、愛する人と一緒に)で、好きなこと(世界中の人々に影響を与えるアプリの開発)ができるようになったと述べたとき、私のチーム全員が涙したことを覚えています。彼の会社も、つい先日 10 周年を迎えたばかりです。
これまでのあらゆる段階で、皆さんは Google へさらに多くのことを求め、より広い視野で考えるよう促してくれました。これを受けて、プロダクトチームとエンジニアリング チームは、皆さんの素晴らしい開発をサポートするためのツールや機能を構築しました。皆さんからのフィードバックは、このプラットフォームでの成功をサポートするための新機能、リソース、プログラムのリリースに活かされています。皆さんのご協力のもとで、私たちは進化し続けています:
また、数社のパートナーとの協働を通じて、エコシステム全体に利益をもたらす新機能を開発してきました。たとえば、2015 年には Supercell と協力して不正行為の防止を支援し、Voided Purchases API をリリースしました。これにより、不正行為や還付金詐欺への対策を業界全体で改善することができました。同様に、ガンホー・オンライン・エンターテイメント株式会社 や NCSOFT などの日本や韓国のパートナーは、Rovio の初期の Angry Birds のような有料ダウンロードゲームをサポートするプラットフォームから、ライブサービスとしてのゲームを展開できる LiveOps プラットフォームへの成長を支援してくれました。メディア パートナーは、アカウントの一時停止や猶予期間などの機能を含む定期購入のプラットフォームを進化させるために、私たちを支援してくれました。興味深いのは、世界がロックダウン状態になった際に、私たちはこれらの機能を利用して、スポーツアプリのパートナーが定期購入ユーザーを維持するために役立てました。
10 年にわたるパートナーシップの中で、このような例は数え切れないほどありますが、ここでは過去 10 年の中で最も印象に残ったローンチを 10 件、ご紹介します。
※こちらのタイムラインはグローバルでのローンチ日を反映しています。日本でのローンチ日は異なる場合がございますので、ご了承ください。
皆さんのビジネスが成熟するにつれ、最も忠実なユーザーを維持して再びエンゲージできるよう、Google Play Points などのプロダクト機能の開発に投資してきました。このプログラムは 28 か国で 1 億人を超える会員を獲得し、2022 年後半にはさらなる拡大が予定されていることを大変誇りに思っています。また、プロダクト ロードマップやグローバル展開の計画について、よりデータに基づいた意思決定を行えるよう、ビジネスおよび技術的なインサイトを提供するコンサルティング サービスも設けました。これらのインサイトによって収益が数百万ドル増加し、プロダクトの方向性だけでなく M&A 戦略にも影響があったことを皆さんからお聞きしています。
そして何より、私たちのパートナーシップは、世界中のユーザーに有意義なアプリやゲームを提供し、新たな雇用を創出し、地域経済に貢献するビジネスを成功させてきました。米国だけでも、Google Play と Android は 200 万人以上の雇用創出に貢献してきました。私たちは、世界中の地域社会や中小企業にもたらした経済効果を、心から誇りに思っています。
将来を見据えて
次の 10 年に目を向けるとき、私たちが共に経験したこの前例のない 2 年間と、私たちのパートナーシップが多くの人々の生活に与えた圧倒的な好影響について、立ち止まって考えてみることは有益なことだと思います。Android と Google Play は、皆さんのビジネスを通じて、家族や大切な人をつなぎ、日常生活をサポートすることでユーザーの安全を守り、遠隔医療へのアクセスを早め、雇用を創出し、子どもたちの学習と成長を可能にしてきました。 このことを今、しっかりと認識し受け止めるために少し時間を取ってみましょう。
この数年間で、私たちは、安全で信頼できるエコシステムを育てるという私たちの共同責任と、すべての人がモバイルにアクセスできるようにするために、さらに多くのことを行う必要があるという点について、重要な教訓を得ました。将来のことを考える際に、私たちは次の 3 つの分野を最重視しています:
デバイスや画面のタイプを問わず、より優れたアプリやゲーム (英語) を提供できるよう支援することで、世界中の誰もが (英語) アプリやゲームがもたらす価値を体験できるようにします。Play ゲームサービスを通じてゲームのリーチを PC へと拡大し、Play Pass のような厳選されたアプリやゲームの定期購入を通じてユーザーに最も関連性の高いアプリやゲームを表示し、Play Offers や LiveOps を通じてユーザーがアプリやゲームの最も興味深い側面を見つけられるよう支援しています。
皆さんのビジネス上の意思決定を支援し、自らのビジネスモデルを進化させ (英語)、進化するプライバシーとセキュリティの状況下で、皆さんのビジネスを安全に成長させ、ユーザーに最高品質の体験を提供できるように、継続して Google Play のツールを進化させ続けます。
アプリやゲーム業界における多様性を向上させる取り組みに投資し、より多くのマイノリティ グループに属する創業者がビジネスを成功させる支援をすることで、すべての人のためのエコシステムを構築することにフォーカスします。2021 年に、あらゆるタイプのビジネスが成功できるよう、単一のサービス手数料モデルから移行し、今後も多様性あるアプリのエコシステムをサポートするために複数のプログラムを用意しました。
インディー ゲーム フェスティバルや Accelerator (英語) プログラムを通じて、経験豊富で成功した創業者が次世代のデベロッパーに投資してきたこと、また、Change the Game (英語) イニシアチブやアクセシビリティの取り組みが有意義な影響を与えていることから、Google は、エコシステムについて前向きな見方をしています。次の 10 年間も、アフリカやカリブ海のヘアスタイルの認知度を高めるための着せ替えゲーム、Frobelles を制作した 9 歳のアリッサとその母親のような多くの創業者 (英語) を、#WeArePlay (英語) ファミリーに迎えられることを楽しみにしています。
どこにいても、誰もがモバイルを使えるようにする、という私たちの大胆な目標に不可欠な存在でいてくださる皆さんに感謝します。私たちは長い道のりを歩んできましたが、まだまだこれからです。私たちは、皆さん一人ひとりに刺激を受け、感謝し、今後も皆さんの成功のために尽力し続けます。皆さんが次に何を創り出すのか、そして皆さんが私たちを駆り立て、実現する新たな地平を見ることを楽しみにしています。
感謝を込めて
Purnima Kochikar
Google Play では、あらゆる規模のデベロッパーの皆さんが、その可能性を最大限に発揮し、さらなる成長を実現することに注力しています。
2018 年より開催している Google Play 主催のインディー ゲーム フェスティバルもその一例です。
第 5 回目を迎える今回のイベントでは、過去に継続的に本イベントに参加し、大きな成果を残してくださったデベロッパーの方々にさらにスポットライトを当てる為、「オフィシャル アドバイザー」という新しいプログラムを導入しました。
オフィシャルアドバイザーとは、過去のインディー ゲーム フェスティバルにおいて、 継続的に成果を残されたデベロッパーの方限定に、イベントの企画や運営にアドバイザーとして参加いただき、イベントを盛り上げるために一緒に「インディー ゲーム フェスティバルの顔」としてプロモーションを行っていただくプログラムです。
記念すべき第 1 回目のオフィシャル アドバイザーは、Odencat(オデンキャット)株式会社 代表取締役 Daigo Sato さんに決定いたしました。就任を記念して Daigo さんよりコメントをいただきました。
自分自身と Odencat の成長のきっかけは 2019 年の IGF 入賞でした。なにもないところから、なにかをはじめられる、そういう機会になるコンテストだと思います。永遠にこのコンテストに応募し続けようと考えていましたが、今回からはなんと IGF 側の人間としてこれからのクリエイターたちをサポートできるとのことで大変楽しみです。
今年のトップ 3 やトップ 10、特別賞の受賞者を決定するファイナル イベントは 9 月 3 日(土)15:00 〜開催予定です!
ファイナル イベント関連の最新情報を受け取るには、こちらからニュースレターにご登録ください。
この記事は Krish Vitaldevara による Android Developers Blog の記事 " Progress on initiatives to keeping Google Play safe " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
皆さんが前もって計画し、新しいツールを使ってビジネスを安全に構築することができるように、2022 年に紹介したプライバシーとセキュリティの取り組みについて最新情報 (英語) をお伝えします。これまでの数か月間で、以下をリリースしました。
Google Play を誰もが信頼できる安全なプラットフォームにするためにご協力いただき、ありがとうございます。
この記事は Alex Musil による Android Developers Blog の記事 " What's new in Google Play " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。
今年の Google I/O では、Google Play でビジネスを継続的に拡大していただくことを目的として、皆さんをサポートする 3 つの主な方法に注力しました。
I/O のセッションですべてのアップデートを確認できますが、この記事では、ビジネスの推進に役立つ新機能の概要を紹介します。
(日本語字幕は YouTube の右下の設定から選択してください)
私たちはここ数年、SDK プロバイダ、アプリ デベロッパー、そして最終的にはすべてのエンドユーザーにとって、安全で優れた SDK を実現するためのツールに取り組んできました。
アプリの品質は、ユーザーのエンゲージメントや維持率から、Google Play ストアでのアプリの見つけやすさや宣伝まで、あらゆることに影響します。
Android Vitals 以外にも、開発ライフサイクル全体で役立つ新機能があります。
以上のリリースについて詳しく知りたい方は、アプリの品質に関するセッション動画をご覧ください。
Google Play ストア上で、新規ユーザーの獲得、既存ユーザーのエンゲージメントの向上、収益の拡大などビジネスの拡大に役立つ新しい方法を提供します。
1 つの定期購入に対して、課金期間や更新タイプが異なる複数のベースプランを設定できます。たとえば、毎月自動更新されるプラン、毎年自動更新されるプラン、1 か月のプリペイド プランなどです。1 つのベースプランに対して、定期購入のライフサイクル全体に対する複数のスペシャル オファーを作成できます。たとえば、期間限定の無料トライアルを提供する獲得オファー、定期購入ユーザーにプリペイド プランから自動更新プランに移行してもらうためのアップグレード オファー、定期購入のメリットをフル活用していないユーザーを維持するためのダウングレード オファー、などがあります。オファーは、新しいユーザーにアプローチしたり、コンバージョン率を上げたり、アップグレードを推奨したり、既存の定期購入ユーザーを維持したりする際にとても役立ちます。
以上の機能は、すべて最新バージョンの Play Billing Library 5.0 で利用できます。ビジネスを拡大するために、こちらで紹介したツールやその他のツールについて詳しく知りたい方は、“Power your Success with new acquisition, engagement and monetization tools.” のセッション動画をご覧ください。 (日本語字幕は YouTube の自動翻訳機能で日本語を選択してください)
Google Play エコシステムの繁栄のためにご協力いただき、ありがとうございます。皆さんの次のアプリのリリースを楽しみにしています。