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
550
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と進める探索的データ分析(2026.10.03 第122回Tokyo.R勉強会)
tatamiya
2
1.4k
SREでアラート疲れを 解決しよう!
kairim0
1
200
ログラスのマルチプロダクトを 支える認証基盤 〜テナントごとに異なる統制とどう向き合うか〜
dada4386
3
400
転んだ話が背中を預ける理由になる / A_story_about_falling_down_gives_you_a_reason_to_watch_each_other_s_backs.pdf
pauli
3
230
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
16
120k
Databricksメトリクスビューはじめてのもくもく会
taka_aki
0
200
いちAWSエンジニアのAI活用を振り返る #devio2026 / devio osaka 2026 kawahara
masahirokawahara
2
380
[2026 Oracle Technical Deep Dive] オンプレミスDBのCloud移行アプローチ:移行計画に基づくメソッドとツールの選択 (2026年9月17日開催)
oracle4engineer
PRO
0
140
OSC2026on_the-world-is-waiting-for-your-voice.pdf
naruoga
0
350
カンファレンスに参加した後の浮遊感とセルフケア
pauli
0
310
AI時代のAPI開発を加速する品質ガードレール / API Quality Guardrails in the AI Era
yokawasa
0
140
AIアプリを使い分けるための共通ツール基盤を考えてみる#devio2026
osawa
0
250
Featured
See All Featured
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
430
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
How STYLIGHT went responsive
nonsquared
100
6.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Code Reviewing Like a Champion
maltzj
528
40k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
66k
The Curse of the Amulet
leimatthew05
3
15k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
350
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
250
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
͋Γ͕ͱ͏͍͟͝·ͨ͠