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.8k
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
85
[DroidKaigi 2024] Android ViewからJetpack Composeへ 〜Jetpack Compose移行のすゝめ〜 / From Android View to Jetpack Compose: A Guide to Migration
syarihu
4
4.7k
[shibuya.apk #46] Composableの枠を超えてアニメーションする / Animation beyond Composable
syarihu
0
89
[shibuya.apk #41] Jetpack Composeでグリッドに柔軟にスペースを入れたい
syarihu
0
3.5k
[DroidKaigi 2022] 詳解Google Playの新しい定期購入 ~オファーの活用や実装例を添えて~
syarihu
0
3.9k
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
8k
[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
AWS Amplify Conference 2026 - 仕様からリリースまで一気通貫生成 AI 時代のフルスタック開発
inariku
3
350
【northernforce#54】SalesforceにおけるAgentforceの位置づけ・事例紹介
yutosatou_kit
0
120
かわいい身体と声を持つ そういうものに私はなりたい
yoshimura_datam
0
330
ソフトとハード両方いけるデータ人材の育て方
waiwai2111
1
550
「AIでできますか?」から「Agentを作ってみました」へ ~「理論上わかる」と「やってみる」の隔たりを埋める方法
applism118
3
2.5k
[Iceberg Meetup #4] ゼロからはじめる: Apache Icebergとはなにか? / Apache Iceberg for Beginners
databricksjapan
0
350
習慣とAIと環境 — 技術探求を続ける3つの鍵
azukiazusa1
2
740
Security Hub と出会ってから 1年半が過ぎました
rch850
0
180
GitHub Copilot CLI 現状確認会議
torumakabe
12
4k
AIAgentを駆使してSREが貢献する開発体験の向上
yoshiiryo1
4
1.1k
Kaggleコンペティション「MABe Challenge - Social Action Recognition in Mice」振り返り
yu4u
1
700
AI に「学ばせ、調べさせ、作らせる」。Auth0 開発を加速させる7つの実践的アプローチ
scova0731
0
350
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
410
Code Review Best Practice
trishagee
74
19k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.5k
Color Theory Basics | Prateek | Gurzu
gurzu
0
180
Evolving SEO for Evolving Search Engines
ryanjones
0
100
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
140
The untapped power of vector embeddings
frankvandijk
1
1.5k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
220
For a Future-Friendly Web
brad_frost
181
10k
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