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
360
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
310
BottomBarAndSnackBar
funnelbit
0
560
Dagger2 Optional bindings
funnelbit
0
620
WearableRecyclerView
funnelbit
1
860
QucikSettingsTileAPI
funnelbit
0
390
Mobile Vision
funnelbit
0
500
AwarenessAPI
funnelbit
0
170
Other Decks in Technology
See All in Technology
AIコーディングはじめました
miso
0
130
Oracle Database Security 詳細解説
oracle4engineer
PRO
1
200
AIコーディングエージェント開発_全体像
happysamurai294
0
150
新卒エンジニア、 介護士になる
ryu1013
1
670
eBPF 簡介 2026 版
shunghsiyu
0
140
推論基盤と Scale-Up Interconnect の現状と制約から俯瞰する技術動向
markunet
2
740
攻撃 3 時間 vs 復旧 10 時間。アクセスキー流出の非対称性を体感するために CTF を作った話
kazzpapa3
1
130
Flutter Widget Previewerで始めるUIプレビューとVRTの自動化
sakusaku3939
0
190
ドメインエキスパートは いかにして AI を使って プロダクト開発をするか
tatsuyashiraishi
1
250
ALBのLCU予約とトラフィックの波によるプロダクト理解 / Understanding ALB LCU and Traffic Spikes
mito201
1
130
仕様駆動開発の、その先へ。決める力と確かめる仕組み
inariku
1
160
kintoneで在庫管理システムを作るときの要件定義・設計ポイント
kai0707
0
200
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
340
Odyssey Design
rkendrick25
PRO
2
910
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Docker and Python
trallard
47
4.2k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
570
Six Lessons from altMBA
skipperchong
29
4.6k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
420
Mobile First: as difficult as doing things right
swwweet
225
10k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
520
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
͋Γ͕ͱ͏͍͟͝·ͨ͠