Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Internal app sharing 完全に理解した
Search
syarihu
May 17, 2019
Technology
9
3.6k
Internal app sharing 完全に理解した
shibuya.apk #34で発表した資料です。
https://shibuya-apk.connpass.com/event/128668
syarihu
May 17, 2019
Tweet
Share
More Decks by syarihu
See All by syarihu
Recap #io25 What's new in Google Play
syarihu
0
69
[DroidKaigi 2024] Android ViewからJetpack Composeへ 〜Jetpack Compose移行のすゝめ〜 / From Android View to Jetpack Compose: A Guide to Migration
syarihu
4
4k
[shibuya.apk #46] Composableの枠を超えてアニメーションする / Animation beyond Composable
syarihu
0
73
[shibuya.apk #41] Jetpack Composeでグリッドに柔軟にスペースを入れたい
syarihu
0
3.4k
[DroidKaigi 2022] 詳解Google Playの新しい定期購入 ~オファーの活用や実装例を添えて~
syarihu
0
3.8k
5分で分かるGoogle Playの新しいサブスクリプション / Google Play new subscription 2022
syarihu
1
1.9k
[DroidKaigi 2021] Google Play 定期購入 比例配分モード完全攻略ガイド / Google Play Subscription Proration Mode Complete Guide
syarihu
1
7.9k
[Money Forward Tech Drive] What's new in Google Play [Recap #io21]
syarihu
0
600
[Android 11 Meetups] Google Play Commerce からのアップデート / Android 11 Meetups Google Play Commerce
syarihu
4
2.9k
Other Decks in Technology
See All in Technology
CDKの魔法を少し解いてみる ― synth・build・diffで覗くIaCの裏側 ―
takahumi27
1
150
us-east-1 の障害が 起きると なぜ ソワソワするのか
miu_crescent
PRO
3
870
嗚呼、当時の本番環境の状態で AI Agentを再評価したいなぁ...
po3rin
0
410
レビュー負債を解消する ― CodeRabbitが支えるAI駆動開発
moongift
PRO
0
320
⽣成 AI で進化する AWS オブザーバビリティ
o11yfes2023
0
110
それでは聞いてください「Impeller導入に失敗しました」 #FlutterKaigi #skia
tacck
PRO
0
110
Logik: A Free and Open-source FPGA Toolchain
omasanori
0
300
「もっと正確に、もっと効率的に」ANDPADの写真書き込み機能における、 現場の声を形にしたエンハンス
andpad
0
100
大規模プロダクトで実践するAI活用の仕組みづくり
k1tikurisu
4
1k
AIと自動化がもたらす業務効率化の実例: 反社チェック等の調査・業務プロセス自動化
enpipi
0
500
手を動かしながら学ぶデータモデリング - 論理設計から物理設計まで / Data modeling
soudai
PRO
24
5.3k
AIと共に開発する時代の組織、プロセス設計 freeeでの実践から見えてきたこと
freee
3
690
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
49
14k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
24
1.6k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Music & Morning Musume
bryan
46
6.9k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Art, The Web, and Tiny UX
lynnandtonic
303
21k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Transcript
Internal app sharing 完全に理解した shibuya.apk #34 - Report from Google
I/O 2019 2019/05/17 (Fri.) @syarihu
None
None
Taichi Sato (@syarihu) • Money Forward, Inc. ◦ Android Engineer
• TechBooster • I/Oには今年で3回目の参加
None
None
None
Internal app sharingとは?
Internal app sharing とは? • apkは送るだけで、Androidプラットフォームは それをどうするか知っているので簡単にインス トールできた • aabは送ってもそのままではインストールはで
きない
Internal app sharing とは? • Google I/O 2019で発表された • apk/aabのダウンロード用共有リンクを簡単に
作成できる • apkもアップロードできるが、主にaab向けの機 能(のように見える)
None
None
Internal app sharingの管理画面
None
apk/aabをアップロードする
None
None
クローズドテストと同じテスターが表示される
None
None
None
None
None
リンクの有効期限は自動で2ヶ月に設定される
None
apk/aabをアップロードできる条件
アップロードできる条件 • Google Playに公開されているアプリ
None
アップロードできる条件 • Google Playに公開されているアプリ ◦ デバッグしたい場合はdebuggableをtrueに したリリースパッケージをアップロードする必 要がある
アップロードできる条件 • Google Playに公開されているアプリ • 「アップロードしたユーザーの管理」でアップ ロードを許可されているユーザー
アップロードできる条件 • Google Playに公開されているアプリ • 「アップロードしたユーザーの管理」でアップ ロードを許可されているユーザー ◦ もしくは対象アプリのPlay Consoleの管理
者
None
アップロードできる条件 • アップロードするアプリの署名は なんでもOK ◦ あとで再署名されるので
アップロードできる条件 • アップロードするアプリの署名は なんでもOK ◦ あとで再署名されるので • バージョンコードも気にしなくてOK ◦ 同一のバージョンコードであってもアップ
ロード可能
apk/aabをインストールする
None
None
None
None
テスターの管理 • リンク共有 ◦ リンクを共有すれば誰でもインストール可能 • メーリングリストへのアクセスの制限 ◦ リストに追加したユーザー ◦
アップロードした本人
テスターの管理 • リンク共有からメーリングリストへのアクセス制 限をした場合 ◦ すでにダウンロードしたユーザーは同じリン クから再ダウンロード可能
テスターの管理 • メーリングリストへのアクセス制限をした場合 からリンク共有にした場合 ◦ 同じリンクから誰でもダウンロード可能にな る
実際にリンクを開いてみる
None
None
None
???
ヒント: バージョン
Playストアのバージョンを7回タップする
None
None
None
インストールできる条件 • 設定から「内部アプリ共有」をONにしている ◦ リンク共有、メーリングリストどちらの場合で も必要
インストールできる条件 • リンク共有の場合 ◦ 誰でもインストール可能 • メーリングリストの場合 ◦ メーリングリストで許可されている ユーザーのみインストール可能
アプリの証明書について
None
None
None
アプリの証明書 • アプリをアップロードすると自動で 生成される • アップロードしたアプリはこの証明書で再 署名される • 証明書はアプリごとに違う
アプリの証明書 • 実際にInternal app sharingからインス トールしたアプリを取り出して確認 したら再署名されてた
その他疑問点
Q.テスターの最大数は? • 1つのリンクから最大100ユーザーダウン ロードできる • アップロードした本人はインストールして もテスターには含まれない
Q.テスターの最大数は? • インストールしなくても「Playストア アプリ で開く」を押したらテスターとしてカウント される ◦ 内部アプリ共有がOFFになっててもに なっててもカウントされる
Q. APIからアップロードできる? • できる • Publishing APIに既に公開されており、リ ファレンスもある https://developers.google.com/android-publisher/api-ref/internalappsharingarti facts
Q. プロダクションの課金できる? • できない
Q. プロダクションの課金できる? • できない
Q. プロダクションと共存できる? • できない
Q. プロダクションと共存できる? • できない
Q. プロダクションと共存できる? • できない • そのため、データを引き継いでの アップデートはできない
Q. リンク削除できる? • できない • リンクを削除したり無効化したりする手段 はいまのところ存在しない
Q. リンクに対してアップデートできる? • できない • 毎回アップロードしてリンクを共有し直す 必要がある
Q. アプリごとに管理できないの? • できない • アカウントごとにダウンロードリンクが管 理される • フィルタなどもいまのところできない
None
Q. DeployGateと比べてどうなの? • チーム管理だったりアプリの配布ページ だったり対象アプリの更新情報だったり、 さまざまな機能でDeployGateよりも劣っ ているのが現状 • DeployGateの代わりにはならない
Q. DeployGateと比べてどうなの? • Android App Bundleを直接アップロード することに関してはDeployGateでは現時 点ではできない • aabを配布したいケースではInternal
app sharingを使うのが良さそう
まとめ
まとめ • Internal app sharingはapk/aabを手軽に 配布できる公式のツール • Deploy Gateなどのサービスを使ってい ないのであれば、すぐに使えるのでこれ
を使う選択はアリ
まとめ • 今のところDeploy Gateの代わりになるよ うなものではないので、今Deploy Gateを 利用している場合は無理に移行する必要 はない
参考 • 動画 ◦ https://youtu.be/flhib2krW7U • 公式ドキュメント ◦ https://support.google.com/googleplay/android-developer/answer/9303479 •
APIリファレンス ◦ https://developers.google.com/android-publisher/api-ref/internalappsharingartifacts • だるまさんの解説記事 ◦ https://community.inkdrop.app/note/a669995b5dc7921f5abad43f2707782e/note:BYHceZkRW T ◦ https://community.inkdrop.app/note/a669995b5dc7921f5abad43f2707782e/note:SbNL7aTl63
ご清聴ありがとうございました Internal app sharing試したい人はこちらのリンクか らどうぞ(最大100人) https://sh.syarihu.net/2HnYftg