Japan
このブログでは、Google から開発者のみなさま向けの情報をいち早くお届けします。
Firebase Remote Config のご紹介
2016年6月30日木曜日
[この記事は
Todd Kerpelman
、Firebase デベロッパー アドボケート、Safa Alai、Remote Config プロダクト マネージャーによる The Firebase Blog の記事 "
Introducing Firebase Remote Config
" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]
Todd Kerpelman
Firebase デベロッパー アドボケート
単に優れたアプリをリリースして待っているだけでは、ビジネスを成功させることはできません。ビジネスを成功させるには、ユーザーのフィードバックにすばやく対応し、新機能のテストを行い、ユーザーが最も注目するコンテンツを提供する必要があります。
Firebase Remote Config は、まさにそのために作られたものです。Firebase Remote Config を使うと、クラウドからアプリのルック アンド フィールを変更できるので、常にユーザーのニーズにすばやく対応することができます。さらに、ユーザーごとに提供するコンテンツを変える、機能を徐々に展開する、ユーザーのアプリの使用方法に合わせてカスタマイズしたコンテンツを提供するといったことも可能です。
それでは、アプリに Remote Config を導入すると何ができるようになるかを見てみましょう。
アップデート不要でアプリを更新
アプリをリリースしたものの、直後にそれが完璧でなかったことに気づくという経験は、誰にでもあることでしょう。ユーザーが好まない、不適切だったり混乱を招いてしまうようなテキストを使ってしまったかもしれません。ゲームのレベルを難しくしすぎてプレイヤーがそれ以上進めなくなってしまったかもしれません。または、追加したアニメーションが終了するまで時間がかかりすぎるというような単純なことかもしれません。
従来は、こういった問題を修正するために、アプリのコードの値を変更してビルドし、新しいバージョンを公開した上で、すべてのユーザーが新バージョンをダウンロードするのを待つ必要がありました。
しかし、アプリに Firebase プラットフォームの Remote Config を導入していれば、クラウドから短時間で簡単に値を変更できるようになります。ユーザーが次にアプリを起動すると、Remote Config が新しい値をダウンロードしてユーザーのニーズに対応します。アプリの新しいバージョンを公開する必要はありません。
適切なユーザーに適切なコンテンツを提供する
Firebase Remote Config では、条件を設定することによって、ユーザーの対象グループごとに異なる設定を配信することができます。条件とは、ユーザーごとに特定の値を配信するために対象を設定する規則です。
たとえば、国ごとに異なる Remote Config データを配信したり、iOS 端末と Android 端末に別のデータセットを配信することができます。
さらに高度な対象指定を行うために、
Firebase Analytics
で定義した Audience に基づいて異なる値を配信することもできます。たとえば、かつてアプリ内のストアを訪れたことがあり、まだ何も購入していないプレイヤーに対してストアの外観を変更したい場合は、その Audience 向けの Remote Config の値を作成します。
A/B テストと段階的ロールアウト
Remote Config の条件を利用すると、ランダムなグループのユーザーごとに異なる値を提供することができます。この機能によって、A/B テストや新機能の段階的ロールアウトを行うことができます。
リリースを考えているアプリの新機能が対象ユーザーに好まれるかどうかわからない場合、コードにフラグをつけてその機能を隠しておき、Remote Config でそのフラグの値を変更すると、機能のオン、オフを切り替えることができます。たとえば、「新機能の実験」という条件を設定して 10% のユーザーに対して有効にすると、この新機能を一部のユーザーのみにオンにし、その機能がユーザーに好まれることを確認してから、ユーザー全体にオンにするといった使い方ができます。
同じように、ユーザーのグループに対して異なる値を指定すれば、A/B テストを行うこともできます。たとえば、アプリ内購入ボタンに「今すぐ購入」と表示した場合と、「購入手続き」と表示した場合では、どちらが購入率が高くなるでしょうか。こういった実験は、A/B テストを使うと簡単に行えます。
A/B テストの結果は、Firebase Analytics で実験に基づいたユーザー プロパティを設定すると、すぐに確認できるようになります。すべての Firebase Analytics レポート(たとえば、購入手続きを始めたかどうかのレポート)は、このプロパティを使ってフィルタリングできます。A/B テストはこれからも改善されますので、今後のニュースにもご注目ください。
定着率が大幅に向上した Fabulous
この機能を他に先駆けて導入したパートナーの多くは、既に Firebase Remote Config を使用してアプリの変更をテストしています。
デューク大学で開発された Fabulous は、生活習慣の改善をサポートするアプリです。Fabulous では、どの手法をとれば最も効果的にユーザーにアプリを使ってもらえるかを探るために、アプリを使い始める際のフローに関する実験が行われました。画像やテキスト、ボタンのラベルを変更する A/B テストだけではなく、Remote Config を利用した初回起動プロセス全体の A/B テストを行い、どのダイアログをどの順番で表示すれば良いかを判断しました。
Remote Config による実験のおかげで、Fabulous の初回起動のフローを完了させるユーザーの数は 42% から 64% に上昇し、1 日のユーザーリテンション率が 27% 増加しました。
平均的なアプリは、大半のユーザーを最初の 3 日間で離脱することがわかっています。そのため、アプリの初回起動プロセスにこういった改善を加え、その効果を A/B テストで確認することは、アプリが長期的に成功を収めるために非常に重要です。
クラウドと連携
Remote Config では、すべてのデフォルト値をデバイス上でローカルに提供でき、デフォルトと異なる値のみがクラウドから送信されます。アプリのすべての値をクラウドと連携させ、Remote Config で設定を行えるようにすることで、アプリの柔軟性が向上します。変更のみが送信されるので、ネットワークの呼び出しは軽量です。そのため、ハードコードしていた文字列や定数、アプリの定数用ファイル(開発者なら誰でもこのようなファイルを作った経験があるでしょう)をすべて Remote Config でクラウド対応にすることも可能です。
Firebase Remote Config は、Firebase プラットフォームの一部であり、iOS と Android の両方で無償で利用できます。詳細については、
ドキュメント
をご覧ください。また、Firebase SDK のその他の機能についてもぜひご確認ください。
Posted by
Khanh LeViet - Developer Relations Team
コメントを投稿
ラベル
#hack4jp
3
Addy Osmani
1
ADK
2
AdMob
4
ALPN
1
AMP
5
Analytics
4
Andorid
6
Android
156
Android Auto
1
Android Design Support Library
1
Android Developer Story
2
Android N
6
Android Pay
1
Android Studio
13
Android Support Library
3
Android TV
7
Android Wear
20
androidmarket
3
AngularJS
2
API
20
APIExpert
45
app engine
21
App Indexing
6
App Invites
5
AppCompat
2
Apps Script
6
aprilfool
3
ArtTech
1
Audio
3
Auth Code
1
Authentication
2
AuthSub
2
Autotrack
1
Beacons
5
BigQuery
6
BLE
4
Blink
1
blogger
1
Brillo
1
Brotli
1
Calendar
1
Cardboard
3
Career
1
Case Study
1
chrome
53
Chrome Custom Tab
1
chrome extension
2
Chrome for Android
1
Chrome for iOS
1
Chrome OS
1
Chromebook
1
Chromecast
6
chromewebstore
6
Chromium
4
ClientLogin
3
Cloud
8
Cloud Test Lab
1
CocoaPods
1
codejam
5
codelab
2
compute engine
3
Dart
2
DataCenter
1
Daydream
2
Deep Learning
1
Demo Party
1
Design Sprint
3
DesignBytes
1
DevArt
3
DevBytes
6
Developer
14
Developer Console
3
Developer Preview
2
Developer Relations
2
DevFest
6
DevFestX
3
devtools
3
DirectShare
1
Doodle
1
DoubleClick
4
Doze モード
1
drive
2
Dynamic Links
1
EarlGrey
1
Easter Egg
1
ECMAScript 2015
1
Eddystone
2
egypt
1
English
2
ES2015
1
ES2016
1
ES6
2
ES7
1
Firebase
14
font
2
game
14
GDD11JP
56
GDD2010JP
23
GDE
2
GDG
10
Geo
23
Gingerbread
1
GLIDE
5
Gmail
1
Go
1
golang
4
goo.gl
1
Google
5
Google Apps
1
Google Cast
6
Google Cloud Messaging
10
Google Cloud Platform
6
Google Developer Experts
2
Google Developers Academy
1
Google Developers live
5
Google Developers Summit
1
Google Drive
2
Google Fit
2
Google for Work
1
Google Maps
28
Google Play
30
Google Play Game Services
6
Google Play Services
18
Google Plus
14
Google Search
3
Google Sign-In
9
Google Tag Manager
1
Google+
1
Googleapps
10
GoogleGames
1
GoogleI/O
27
GoogleLabs
1
GoogleTV
1
gRPC
2
GTUG
5
GWT
2
hack4jp
2
hackathon
6
HTML5
17
HTML5Rocks
1
HTTP/2
3
HTTPS
2
ID Token
1
Identity
11
Identity Toolkit
1
Ignite
4
IME
10
intern
2
iOS
8
IoT
1
IPv6
1
JavaScript
4
K-12
1
Knowledge Graph
1
l10n
8
Lollipop
10
Machine Learning
1
Marshmallow
10
Material
1
Material Design
17
MDL
1
MIDI
2
Mobile
8
Mobile Bootcamp
4
Mobile Vision
3
mod_pagespeed
1
monetize
3
Mozc
14
Music
1
NativeDriver
2
Nearby
3
Nexus
1
Nexus S
1
NFC
1
NPAPI
2
NPN
1
oauth
6
OpenGL
3
OpenID
3
OpenID Connect
2
OpenSocial
1
opensource
11
Payment
1
People API
1
Performance
6
PersonFinder
1
Physical Web
2
Place Picker
1
Player Analytics
4
Policy
2
Polymer
6
Progressive Web Apps
5
project hosting
1
Promise
1
Promo code
1
Protocol Buffers
1
publicdata
1
Push API
1
Push Notification
2
QUIC
1
RAIL
1
Remote Config
1
Remote Display API
1
Runtime Permission
1
Sample Code
2
schema.org
1
security
9
Service Worker
3
sketchup
1
SmartLock for Passwords
4
social
4
SPDY
3
speak2tweet
1
startup
3
streetview
3
Study Jams
3
techtalk
12
TensorFlow
1
test
2
ToS
1
Transliteration
1
Twitter
1
Udacity
14
Unity
2
UX
1
V8
2
VP9
1
VR
2
Vulkan
2
Watch Face
2
wave
2
Weave
1
Web
2
Web Animations
1
Web Components
4
Web Manifest
1
WebAssembly
1
WebMusic
4
WTM
2
YouTube
14
YouTube API
1
インタビュー
1
コードサンプル
1
プライバシー
1
言論の自由
1
節電
3
東日本大震災
9
日本語入力
40
ブログ アーカイブ
2016
6
5
4
3
2
1
2015
12
11
10
9
8
7
6
5
4
3
2
2014
12
11
10
9
8
7
6
5
4
3
2
1
2013
12
11
10
9
8
7
6
5
4
3
2
1
2012
12
11
10
9
8
7
6
5
4
3
2
1
2011
12
11
10
9
8
7
6
5
4
3
2
1
2010
12
11
Feed
Follow @googledevjp
"プロダクトに関するご意見は
プロダクトフォーラム
にお願いします"