Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
App Invites for Android
Search
funnelbit
September 30, 2015
Technology
350
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
App Invites for Android
funnelbit
September 30, 2015
More Decks by funnelbit
See All by funnelbit
Hatena Engineer Seminar #9
funnelbit
5
7.5k
droidkaigi-2017-renovation
funnelbit
10
11k
Dart
funnelbit
0
300
BottomBarAndSnackBar
funnelbit
0
550
Dagger2 Optional bindings
funnelbit
0
620
WearableRecyclerView
funnelbit
1
850
QucikSettingsTileAPI
funnelbit
0
390
Mobile Vision
funnelbit
0
490
AwarenessAPI
funnelbit
0
170
Other Decks in Technology
See All in Technology
目の前の楽しいが人生を変える - コミュニティの螺旋の歩き方と楽しむコツ / change your life
soudai
PRO
4
610
AIネイティブプロダクトで顧客価値を最大化するプロダクトエンジニアとFDEの協働
righttouch
PRO
0
310
日経電子版を支えていく Kasane Design System/fec_fukuoka
nikkei_engineer_recruiting
0
1.5k
The Agent Builder Loop from Daily Work to OSS
minorun365
PRO
3
200
映像変換サーバーなしで端末内でHLSを生成してライブ配信
hikarusato
0
110
TinyGo 開発サイクルを高速化する:Go で作るエミュレータ入門
zozotech
PRO
1
740
Minecraft JavaのMODをSwiftで作る
1mash0
0
160
俺の仕事は AIに奪われないし、たぶんその BIも要らない
hikaruri
0
480
20260912_スクフェス三河
kgnkhkr
0
380
え、こんなに早く改修できるの?──新人エンジニアとスクラムマスターの2人が語る、AI×アジャイル開発の現場
ysasago
0
100
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
Spring BootからQuarkusへの移行
tatsuya1bm
2
120
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
800
Skip the Path - Find Your Career Trail
mkilby
1
230
Thoughts on Productivity
jonyablonski
76
5.4k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
430
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
510
So, you think you're a good person
axbom
PRO
2
2.2k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
740
How GitHub (no longer) Works
holman
316
150k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
570
Facilitating Awesome Meetings
lara
57
7.1k
4 Signs Your Business is Dying
shpigford
187
23k
Transcript
"QQ*OWJUFT JEGVOOFMCJU
͜Μʹͪ w JEGVOOFMCJU w ଜɹྋ w BOESPJEΞϓϦ୲
ΞϓϦͷটΛ؆୯ʹ͢Δ
"QQ*OWJUFT w (PPHMF1MBZTFSWJDFTd w J04Ͱ͑Δ w #FUB w αϯϓϧίʔυΛͱʹհ͠·͢
ྲྀΕʢট͢Δଆʣ w টը໘Λىಈ w ʮಛఆͷݸਓʯʹ&NBJMPS4.4Ͱট w ϝοηʔδը૾ΛઃఆͰ͖Δ
ྲྀΕʢট͞ΕΔଆʣ w ૹΒΕ͖ͯͨ63-Λ౿Ή w ΞϓϦ͕͋ΔͳΒ%FFQ-JOLͰىಈɺͳ͍ͳΒ 1MBZ4UPSF w ΞϓϦ͕ͳ͍߹ɺΠϯετʔϧޙʹ%FFQ-JOL ͕1MBZ4UPSF͔Β৴͞ΕΔ ϦϑΝϥʹใ͕
͍ͬͭͯ͘·͢ʣ
४උ w DPOpHVSBUJPOpMF͕ඞཁ w ඞཁͳใΛೖྗͯ͠HPPHMFTFSWJDFTKTPOΛ खʹೖΕΔ w BQQPSNPCJMFσΟϨΫτϦҎԼʹҠಈͤͯ͞ ͓͘
ট͢Δ Intent intent = new AppInviteInvitation.IntentBuilder(“title”) .setMessage(“message”) .setDeepLink(“http://example.com/…”) .setCustomImage(“http://image_url”) .setCallToActionText(“ԡͯ͠Ͷ”)
.build(); startActivityForResult(intent, REQUEST_INVITE); w "QQ*OWJUF*OWJUBUJPOͰΠϯςϯτ࡞ͬͯ͛Δ
ট͢Δ w ʮಛఆͷݸਓʯΛটͰ͖Δ
ট͢Δ w ͜ͷ࣌ɺ*OWJUBUJPO*E͕ੜ͞ΕΔ w EBDE BE⒎CD
টΛड͚Δ w 63-Λ౿Ή
টΛड͚Δ w #SPBEDBTU3FDFJWFS࡞ͬͯͪߏ͑Δ <receiver android:name="com.google.android.gms.samples.appinvite.ReferrerReceiver" android:exported="true" tools:ignore="ExportedReceiver"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER"
/> </intent-filter> </receiver>
টΛड͚Δ w #SPBEDBTU3FDFJWFS࡞ͬͯͪߏ͑Δ public class ReferrerReceiver extends BroadcastReceiver { @Override
public void onReceive(Context context, Intent intent) { Intent deepLinkIntent = AppInviteReferral .addPlayStoreReferrerToIntent(intent, , new Intent(“action_deep_link”)); LocalBroadcastManager .getInstance(context) .sendBroadcast(deepLinkIntent); } }
টΛड͚Δ new BroadcastReceiver() { @Override public void onReceive(Context context, Intent
intent) { if (AppInviteReferral.hasReferral(intent)) { Intent newIntent = new Intent(intent).setClass(MainActivity.this, DeepLinkActivity.class); startActivity(newIntent); // ىಈ } } };
w *OWJUBUJPO*Eͱ%FFQ-JOLΛऔಘͰ͖Δ String invitationId = AppInviteReferral.getInvitationId(intent); String deepLink = AppInviteReferral.getDeepLink(intent);
টΛड͚Δ
ॴײ w ؆୯ศར w টը໘࣮͢Δඞཁͳ͠ w αʔυύʔςΟΞϓϦʹཔΔඞཁͳ͠ w ܭଌͷΈ༻ҙͯ͘͠ΕͯΔ
ৄࡉ w IUUQTEFWFMPQFSTHPPHMFDPNBQQJOWJUFT
͋Γ͕ͱ͏͍͟͝·ͨ͠