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.5k
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
[DroidKaigi 2024] Android ViewからJetpack Composeへ 〜Jetpack Compose移行のすゝめ〜 / From Android View to Jetpack Compose: A Guide to Migration
syarihu
3
3.4k
[shibuya.apk #46] Composableの枠を超えてアニメーションする / Animation beyond Composable
syarihu
0
51
[shibuya.apk #41] Jetpack Composeでグリッドに柔軟にスペースを入れたい
syarihu
0
3.2k
[DroidKaigi 2022] 詳解Google Playの新しい定期購入 ~オファーの活用や実装例を添えて~
syarihu
0
3.6k
5分で分かるGoogle Playの新しいサブスクリプション / Google Play new subscription 2022
syarihu
1
1.8k
[DroidKaigi 2021] Google Play 定期購入 比例配分モード完全攻略ガイド / Google Play Subscription Proration Mode Complete Guide
syarihu
1
7.8k
[Money Forward Tech Drive] What's new in Google Play [Recap #io21]
syarihu
0
570
[Android 11 Meetups] Google Play Commerce からのアップデート / Android 11 Meetups Google Play Commerce
syarihu
4
2.9k
[potatotips #70] license-list-pluginを使ってOSSライセンス画面を自動生成する / license-list-plugin
syarihu
4
4.8k
Other Decks in Technology
See All in Technology
iOS/Androidで無限循環Carousel表現を考えてみる
fumiyasac0921
0
110
ゴリラ.vim #36 ~ Vim x SNS ~ スポンサーセッション
yasunori0418
1
220
Houtou.pm #1
papix
0
420
Introduction to Bill One Development Engineer
sansan33
PRO
0
230
初めてのGoogle Cloud by AWS出身者
harukasakihara
1
720
型がない世界に生まれ落ちて 〜TypeScript運用進化の歴史〜
narihara
1
190
mnt_data_とは?ChatGPTコード実行環境を深堀りしてみた
icck
0
150
Slackひと声でブログ校正!Claudeレビュー自動化編
yusukeshimizu
3
140
LT:組込み屋さんのオシロが壊れた!
windy_pon
0
120
シンプルな設定ファイルで実現する AWS IAM Identity Center のユーザー管理と開発チームへの委譲 / Delegating AWS IAM Identity Center User Management with a Simple DSL
yamaguchitk333
3
490
君だけのオリジナル async / await を作ろう / TSKaigi 2025
susisu
17
13k
AIコードエディタは開発を変えるか?Cursorをチームに導入して1ヶ月経った本音
ota1022
1
590
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Producing Creativity
orderedlist
PRO
345
40k
Agile that works and the tools we love
rasmusluckow
329
21k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
650
Balancing Empowerment & Direction
lara
1
76
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Designing for humans not robots
tammielis
253
25k
How to train your dragon (web standard)
notwaldorf
92
6k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Become a Pro
speakerdeck
PRO
28
5.3k
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