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
62
[DroidKaigi 2024] Android ViewからJetpack Composeへ 〜Jetpack Compose移行のすゝめ〜 / From Android View to Jetpack Compose: A Guide to Migration
syarihu
4
3.9k
[shibuya.apk #46] Composableの枠を超えてアニメーションする / Animation beyond Composable
syarihu
0
65
[shibuya.apk #41] Jetpack Composeでグリッドに柔軟にスペースを入れたい
syarihu
0
3.4k
[DroidKaigi 2022] 詳解Google Playの新しい定期購入 ~オファーの活用や実装例を添えて~
syarihu
0
3.7k
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
590
[Android 11 Meetups] Google Play Commerce からのアップデート / Android 11 Meetups Google Play Commerce
syarihu
4
2.9k
Other Decks in Technology
See All in Technology
コンテキストエンジニアリングとは? 考え方と応用方法
findy_eventslides
4
870
Azure Well-Architected Framework入門
tomokusaba
0
200
神回のメカニズムと再現方法/Mechanisms and Playbook for Kamikai scrumat2025
moriyuya
4
320
自作LLM Native GORM Pluginで実現する AI Agentバックテスト基盤構築
po3rin
2
230
FastAPIの魔法をgRPC/Connect RPCへ
monotaro
PRO
1
670
Railsアプリケーション開発者のためのブックガイド
takahashim
14
5.9k
"複雑なデータ処理 × 静的サイト" を両立させる、楽をするRails運用 / A low-effort Rails workflow that combines “Complex Data Processing × Static Sites”
hogelog
3
1.7k
関係性が駆動するアジャイル──GPTに人格を与えたら、対話を通してふりかえりを習慣化できた話
mhlyc
0
130
SoccerNet GSRの紹介と技術応用:選手視点映像を提供するサッカー作戦盤ツール
mixi_engineers
PRO
1
160
Findy Team+のSOC2取得までの道のり
rvirus0817
0
300
定期的な価値提供だけじゃない、スクラムが導くチームの共創化 / 20251004 Naoki Takahashi
shift_evolve
PRO
3
220
DataOpsNight#8_Terragruntを用いたスケーラブルなSnowflakeインフラ管理
roki18d
1
320
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
53
7.8k
Thoughts on Productivity
jonyablonski
70
4.9k
Balancing Empowerment & Direction
lara
4
670
Fireside Chat
paigeccino
40
3.7k
Speed Design
sergeychernyshev
32
1.1k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Facilitating Awesome Meetings
lara
56
6.6k
Bash Introduction
62gerente
615
210k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
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