2022/09/10(土)~12(月)に開催されたiOSDC Japan 2022で発表した2022/09/10 16:40〜 Track B「施策基盤としてのディープリンク 〜なめらかにアプリが開く体験のために〜」の資料です
$PPLQBE*OD©︎J04%$+BQBO 5SBDL#ࢪࡦج൫ͱͯ͠ͷσΟʔϓϦϯΫʙͳΊΒ͔ʹΞϓϦ͕։͘ମݧͷͨΊʹʙ"UTVZB4BUP [email protected]
View Slide
$PPLQBE*OD©︎ࠤ౻ ರ (@n_atmark)͞ͱ͏ɹɹ͋ͭΫοΫύουגࣜձࣾ ങαʔϏε։ൃ෦ΤϯδχΞΫοΫύουΞϓϦͷങ͍ػೳ (iOS/Android)ͷ։ൃ
$PPLQBE*OD©︎
$PPLQBE*OD©︎ࢪࡦͱ˔ͨͱ͑ɺΞϓϦΛ͏Ϣʔβʔ͕૿͑Δ͜ͱͰརӹʹͭͳ͕ΔΑ͏ͳ߹˓৽نΠϯετʔϧ˓ΞϓϦͷىಈճ˓࿈ଓར༻˓ʜFUDʮඪୡղܾͷͨΊʹߨ͡Δ͖ܭըɾઓུʯͷ͜ͱ
$PPLQBE*OD©︎ࢪࡦͷࣄྫհ
$PPLQBE*OD©︎ࢪࡦͷࣄྫհ˔ൢଅΩϟϯϖʔϯ˓త˙ച্֦େ˙৽نϢʔβʔ֫ಘͳͲࢪࡦͷࣄྫհ
$PPLQBE*OD©︎ࢪࡦͷࣄྫհ˔8FCΞϓϦ༠ಋ˓త˙ٳϢʔβʔͷϦλʔήςΟϯά˙ܧଓར༻Λతͱͨ͠ΞϓϦͷఆணͳͲࢪࡦͷࣄྫհ
$PPLQBE*OD©︎ࢪࡦͷࣄྫհ˔༑ୡটΩϟϯϖʔϯ˓త˙ೝ֫ಘ˙ϦϑΝϥϧʹΑΔ৽نϢʔβʔ֫ಘͳͲࢪࡦͷࣄྫհ
$PPLQBE*OD©︎ʮΞϓϦϢʔβʔΛ࿈Εͯ͘ΔͨΊͷΈʯͱͯ͠ͷσΟʔϓϦϯΫ
$PPLQBE*OD©︎ΞδΣϯμ˔֓೦ͱͯ͠ͷσΟʔϓϦϯΫ˔Ϣʔβʔঢ়ଶෳܦ࿏͔Βͷྲྀೖʹରͯ͠׆༻Ͱ͖ΔΈ˔Ϣʔβʔʹจ຺Λཧղͨ͠ঢ়ଶͷ··ΞϓϦʹ͖ͯΒ͏ͨΊʹ׆༻Ͱ͖ΔΈ˔ࢪࡦͷద༻˔·ͱΊ
$PPLQBE*OD©︎֓೦ͱͯ͠ͷσΟʔϓϦϯΫ
$PPLQBE*OD©︎σΟʔϓϦϯΫ %FFQ-JOLJOHͱ˔σΟʔϓϦϯΫͱ͍͏lػೳzͳ͍˓֓೦͓Αͼ໊শͱͯ͠lσΟʔϓϦϯΫzͱ͍͏ϫʔυ͕༻͍ΒΕ͍ͯΔ֓೦ͱͯ͠ͷσΟʔϓϦϯΫσΟʔϓϦϯΫʹରԠͨ͠URIͦͷͷΛࢦ͢ݴ༿ͱͯ͠ར༻͞ΕΔ֓೦໊শΞϓϦͷಛఆͷίϯςϯπΛ URI Ͱදݱͯ͠ɺରͷURIΛϦΫΤετͨ͠ࡍʹΞϓϦͷಛఆͷίϯςϯπʹΞΫηε͢ΔͨΊͷͷ˔ྫΫοΫύουͷϨγϐৄࡉΛ։͘σΟʔϓϦϯΫ˓IUUQTDPPLQBEDPNSFDJQFJE˓DPPLQBEEPNBJOSFDJQFJE ˞આ໌༻ʹ࣮ࡍͱผͷͷΛࡌ͍ͤͯ·͢
$PPLQBE*OD©︎σΟʔϓϦϯΫ %FFQ-JOLJOHͱ˔ΞϓϦͷಛఆͷը໘Λ63*Ͱදݱͯ͠ɺ౿Ήͱͦ͜ʹભҠͤ͞Δ͜ͱɻ·ͨͦͷ63*ͦͷͷɻ˔ϢχόʔαϧϦϯΫͰ༻͍ΒΕΔ63-ΧελϜεΩʔϜͷ63*ͳͲࣗͷ͜ͱΛσΟʔϓϦϯΫͱݺͿ͜ͱ͋Δ˔ʮϢχόʔαϧϦϯΫʯʮΧελϜ63-εΩʔϜʯσΟʔϓϦϯΫΛ࣮ݱ͢ΔͨΊͷํ๏ͷҰछ֓೦ͱͯ͠ͷσΟʔϓϦϯΫ˔ิݫີʹ8PSME8JEF8FCʹ͓͚ΔσΟʔϓϦϯΫ %FFQ-JOLJOHͱϞόΠϧΞϓϦͷจ຺ʹ͓͚ΔσΟʔϓϦϯΫ .PCJMF%FFQ-JOLJOH۠ผ͞ΕΔ˓؆୯ͷͨΊ.PCJMF%FFQ-JOLJOHͷ͜ͱΛσΟʔϓϦϯΫͱݺͿ͜ͱʹ͢Δ
$PPLQBE*OD©︎σΟʔϓϦϯΫʹରԠͨ͠URIͦͷͷΛࢦ͢ݴ༿ͱͯ͠ར༻͞ΕΔ֓೦໊শΞϓϦͷಛఆͷίϯςϯπΛ URI Ͱදݱͯ͠ɺରͷURIΛϦΫΤετͨ͠ࡍʹΞϓϦͷಛఆͷίϯςϯπʹΞΫηε͢ΔͨΊͷͷσΟʔϓϦϯΫ(Deep Linking)http(s): Ͱ࢝·ΔϦϯΫΛϋϯυϦϯά͢Δ http(s): Ҏ֎ͷϦϯΫΛϋϯυϦϯά͢Δػೳ Universal LinksAndroid App Linksػೳػೳ Custom URL Scheme
$PPLQBE*OD©︎6OJWFSTBM-JOLTͱ֓೦ͱͯ͠ͷσΟʔϓϦϯΫػೳ ಛఆͷΣϒαΠτʹؔ࿈͚ΒΕͨΞϓϦ͕Πϯετʔϧ͞Ε͍ͯΔ߹ɺΣϒαΠτURL͔Β ΞϓϦͷରԠίϯςϯπΛ։͚ΔΑ͏ʹͳΔͷ
$PPLQBE*OD©︎6OJWFSTBM-JOLTͱ֓೦ͱͯ͠ͷσΟʔϓϦϯΫػೳ ಛఆͷΣϒαΠτʹؔ࿈͚ΒΕͨΞϓϦ͕Πϯετʔϧ͞Ε͍ͯΔ߹ɺΣϒαΠτURL͔Β ΞϓϦͷରԠίϯςϯπΛ։͚ΔΑ͏ʹͳΔͷ˔"TTPDJBUFE%PNBJOTͰઃఆ͞ΕͨυϝΠϯͷBQQMFBQQTJUFBTTPDJBUJPOϑΝΠϧΛΞϓϦͷॳճىಈ࣌ʹμϯϩʔυͯ͠ผͰ͖ΔΑ͏ʹ͍ͯ͠Δ˔J04ͷΈͰར༻Մೳͳػೳ ˞"OESPJEͰྨࣅٕज़ͱͯ͠"OESPJE"QQ-JOLT͕ར༻Մೳ
$PPLQBE*OD©︎6OJWFSTBM-JOLTͱ"TTPDJBUFE%PNBJOT֓೦ͱͯ͠ͷσΟʔϓϦϯΫ˓υϝΠϯͷॴ༗ݖΛূ໌͢ΔͨΊʹ"TTPDJBUFE%PNBJOTͱͯ͠ TFSWJDFGVMMRVBMJfiFEEPNBJOͷܗࣜͰΞϓϦͱΫϨσϯγϟϧΛڞ༗͢ΔυϝΠϯΛՃ͢Δొஃ࣌εϥΠυεΩοϓ͠·͢
$PPLQBE*OD©︎6OJWFSTBM-JOLTͱBQQMFBQQTJUFBTTPDJBUJPO֓೦ͱͯ͠ͷσΟʔϓϦϯΫ˓ΞϓϦͷॴ༗ݖΛূ໌͢ΔͨΊʹυϝΠϯͰαϙʔτ͢ΔΞϓϦࣝผࢠΛྻڍ͠ɺIUUQTEPNBJOOBNFXFMMLOPXOBQQMFBQQTJUFBTTPDJBUJPOͷύεͰϗετ͢Δొஃ࣌εϥΠυεΩοϓ͠·͢
$PPLQBE*OD©︎ΧελϜ63-εΩʔϜ $VTUPN63-4DIFNFͱ֓೦ͱͯ͠ͷσΟʔϓϦϯΫػೳ ΞϓϦ͝ͱʹఆٛ͞Ε͍ͯΔ https:, http: Ҏ֎ͷಠࣗͷεΩʔϜΛࣝผͯ͠ɺରԠ͢ΔΞϓϦΛ։͘͜ͱͷͰ͖Δػೳ (iOS/AndroidͰར༻Մೳ)˞ิຊདྷΧελϜ63-εΩʔϜ͕ࢦ͢ͷDPPLQBEEPNBJOͷ෦͕ͩɺ׳༻తʹDPPLQBEEPNBJOSFDJQFJEͷΑ͏ͳσΟʔϓϦϯΫʹରԠͨ͠63*ࣗΛࢦ͢ݴ༿ͱͯ͠ΘΕΔ߹͋Δ
$PPLQBE*OD©︎ΧελϜ63-εΩʔϜ $VTUPN63-4DIFNFͱ֓೦ͱͯ͠ͷσΟʔϓϦϯΫػೳ ΞϓϦ͝ͱʹఆٛ͞Ε͍ͯΔ https:, http: Ҏ֎ͷಠࣗͷεΩʔϜΛࣝผͯ͠ɺରԠ͢ΔΞϓϦΛ։͘͜ͱͷͰ͖Δػೳ (iOS/AndroidͰར༻Մೳ)˔ΞϓϦଆͰ*EFOUJfiFS͓Αͼ63-4DIFNFTΛఆٛ͢Δ͜ͱͰར༻Ͱ͖Δొஃ࣌εϥΠυεΩοϓ͠·͢
$PPLQBE*OD©︎Ҿ༻: Firebase Dynamic LinksͰطଘͷϢʔβʔ͚ͩͰͳ͘ɺજࡏతϢʔβʔʹମݧΛఏڙ͍ͨ͠, 2020/09/21 iOSDC 2020 Japan, த ହ֓೦ͱͯ͠ͷσΟʔϓϦϯΫ
$PPLQBE*OD©︎Πϯετʔϧ͞Εͯͳ͍ΞϓϦΛରͱͨ͠σΟʔϓϦϯΫ
$PPLQBE*OD©︎σΟϑΝʔυσΟʔϓϦϯΫ %FGFSSFE%FFQ-JOLJOHΠϯετʔϧ͞Εͯͳ͍ΞϓϦΛରͱͨ͠σΟʔϓϦϯΫ˔Ϣʔβʔ͕ΞϓϦΛΠϯετʔϧ͍ͯ͠ͳ͍߹ɺΞϓϦετΞΛ։͘˓ΞϓϦ͕Πϯετʔϧ͞ΕͨޙॳΊͯىಈ͞Εͨ࣌ʹɺσΟʔϓϦϯΫʹΑΔભҠॲཧ͕࣮ߦ͞ΕΔ֓೦ σΟʔϓϦϯΫͷ࣮ߦΛΞϓϦΠϯετʔϧྃޙͷॳճىಈ࣌·ͰʮDeferred(Ԇظ)ʯͤ͞ΔͨΊͷͷ
$PPLQBE*OD©︎σΟϑΝʔυσΟʔϓϦϯΫ %FGFSSFE%FFQ-JOLJOHΠϯετʔϧ͞Εͯͳ͍ΞϓϦΛରͱͨ͠σΟʔϓϦϯΫ˔σΟϑΝʔυσΟʔϓϦϯΫΛαϙʔτ͢ΔͨΊͷํ๏ϓϥοτϑΥʔϜʹΑͬͯҟͳΔެࣜαϙʔτ༻ҙ͞Ε͍ͯͳ͍ɻ ΫϦοϓϘʔυʹσΟʔϓϦϯΫͷύϥϝʔλʔΛอ࣋ͯ͠ɺΞϓϦىಈ࣌ʹΫϦοϓϘʔυ͔ΒσΟʔϓϦϯΫΛಡΈग़ͯ͠ॲཧͤ͞ΔͳͲͷํ๏Ͱ࣮ݱͰ͖Δػೳ ެࣜػೳͱͯ͠ɺΠϯςϯτΛ༻ͯ͠Google PlayετΞΛհͯ͠σΟʔϓϦϯΫΛ͢Φϓγϣϯ͕ఏڙ͞Ε͍ͯΔΈ
$PPLQBE*OD©︎σΟϑΝʔυσΟʔϓϦϯΫ (Deferred Deep Linking)ެࣜػೳͰ࣮ݱՄೳσΟʔϓϦϯΫʹରԠͨ͠URIͦͷͷΛࢦ͢ݴ༿ͱͯ͠ར༻͞ΕΔ֓೦໊শΞϓϦͷಛఆͷίϯςϯπΛ URI Ͱදݱͯ͠ɺରͷURIΛϦΫΤετͨ͠ࡍʹΞϓϦͷಛఆͷίϯςϯπʹΞΫηε͢ΔͨΊͷͷσΟʔϓϦϯΫ(Deep Linking)http(s): Ͱ࢝·ΔϦϯΫΛϋϯυϦϯά͢Δ http(s): Ҏ֎ͷϦϯΫΛϋϯυϦϯά͢Δػೳ Universal LinksAndroid App Linksػೳػೳ Custom URL SchemeΞϓϦະΠϯετʔϧͷΛରʹɺΞϓϦετΞͷμϯϩʔυϖʔδΛ։͖ɺΞϓϦ͕Πϯετʔϧ͞ΕͨޙॳΊͯىಈ͞Εͨ࣌ʹɺݩʑͷURIͰࢦఆ͞ΕͨίϯςϯπʹΞΫηεͤ͞Δ͜ͱ֓೦ػೳΈ ΫϦοϓϘʔυͳͲΛ׆༻࣮ͯ͠ݱՄೳσΟϑΝʔυσΟʔϓϦϯΫؚΊͯσΟʔϓϦϯΫͱݺͿ߹͋Δ
$PPLQBE*OD©︎σΟʔϓϦϯΫΛखܰʹར༻Ͱ͖ΔΑ͏ʹ͢ΔͨΊͷαʔϏεհ
$PPLQBE*OD©︎σΟʔϓϦϯΫΛखܰʹར༻Ͱ͖ΔΑ͏ʹ͢ΔͨΊͷαʔϏεσΟʔϓϦϯΫΛखܰʹར༻Ͱ͖ΔΑ͏ʹ͢ΔͨΊͷαʔϏεհ˔'JSFCBTF%ZOBNJD-JOLT˔"EKVTUʹ͍ͭͯհ͠·͢
$PPLQBE*OD©︎'JSFCBTF%ZOBNJD-JOLTσΟʔϓϦϯΫΛखܰʹར༻Ͱ͖ΔΑ͏ʹ͢ΔͨΊͷαʔϏεհhttps://firebase.google.com/products/dynamic-links
$PPLQBE*OD©︎'JSFCBTF%ZOBNJD-JOLTσΟʔϓϦϯΫΛखܰʹར༻Ͱ͖ΔΑ͏ʹ͢ΔͨΊͷαʔϏεհ˔'JSFCBTFͷػೳͷ͏ͪͷҰͭ˓ΞϓϦͷΠϯετʔϧঢ়ଶʹΘͣෳϓϥοτϑΥʔϜͰར༻Մೳͳ ϦϯΫΛੜͯ͘͠ΕΔ˔ΧελϜͷ%ZOBNJD-JOLTυϝΠϯΛऔಘͰ͖Δ˓ྫEPNBJOQBHFMJOL˔'JSFCBTFίϯιʔϧ͔Βͷ੩తͳॖ63-ੜύϥϝʔλ༩ʹΑΔ ಈత63-ੜ͕Մೳ'JSFCBTF%ZOBNJD-JOLTͱ˞'JSFCBTF%ZOBNJD-JOLTͰ࡞͞ΕͨϦϯΫͷ͜ͱΛμΠφϛοΫϦϯΫ %ZOBNJD-JOLͱݺͿ
$PPLQBE*OD©︎"EKVTUσΟʔϓϦϯΫΛखܰʹར༻Ͱ͖ΔΑ͏ʹ͢ΔͨΊͷαʔϏεհhttps://www.adjust.com/
$PPLQBE*OD©︎"EKVTUσΟʔϓϦϯΫΛखܰʹར༻Ͱ͖ΔΑ͏ʹ͢ΔͨΊͷαʔϏεհ˔"EKVTUࣾʹΑΔϞόΠϧܭଌͷͨΊͷαʔϏε˔6OJWFSTBM-JOLJOHͷઃఆ͔Β"QQ*%1SFfiYͱ63-4DIFNFΛઃఆ͢Δ͜ͱͰΞϓϦέʔγϣϯ͝ͱʹ6OJWFSTBM-JOLT༻ͷυϝΠϯ͕ൃߦ͞ΕΔ"EKVTUͱ
$PPLQBE*OD©︎σΟʔϓϦϯΫΛखܰʹѻ͑ΔαʔϏεσΟʔϓϦϯΫΛखܰʹར༻Ͱ͖ΔΑ͏ʹ͢ΔͨΊͷαʔϏεհ˔ΞϓϦ͕ະΠϯετʔϧͷϢʔβʔ˓σΟϑΝʔυσΟʔϓϦϯΫΛ༻͍ͯɺΞϓϦΠϯετʔϧΛଅͨ͠ޙɺॳճىಈ࣌ʹతͷίϯςϯπ࿈Εͯ͘Δ͜ͱ͕Ͱ͖Δ˔ΞϓϦΠϯετʔϧࡁΈͷϢʔβʔ˓6OJWFSTBM-JOLTΛ༻͍ͯɺΞϓϦͷతͷίϯςϯπʹγʔϜϨεʹ࿈Εͯ͘Δ͜ͱ͕Ͱ͖Δ˔ରϓϥοτϑΥʔϜ֎ͷϢʔβʔ˓ϑΥʔϧόοΫઌͷ63-ʹϦμΠϨΫτͰ͖Δ'JSFCBTF%ZOBNJD-JOLT"EKVTU
$PPLQBE*OD©︎Πϯετʔϧঢ়گʹԠͨ͡ભҠ˔'JSFCBTF%ZOBNJD-JOLTͷྫ˓'JSFCBTF%ZOBNJD-JOLTͰൃߦ͞ΕͨɺμΠφϛοΫϦϯΫʮϦϯΫΛϓϨϏϡʔ σόοάʯ͔ΒڍಈΛ֬ೝͰ͖Δ˙˞μΠφϛοΫϦϯΫͷඌʹEΦϓγϣϯΛ͚ͯ֬ೝͰ͖Δ˓ϓϥοτϑΥʔϜΞϓϦͷΠϯετʔϧঢ়گʹ˙8FCͰ63-Λ։͘˙"QQ4UPSFΛ։͘˙σΟʔϓϦϯΫͰΞϓϦΛ։͘σΟʔϓϦϯΫΛखܰʹར༻Ͱ͖ΔΑ͏ʹ͢ΔͨΊͷαʔϏεհొஃ࣌εϥΠυεΩοϓ͠·͢
$PPLQBE*OD©︎σΟϑΝʔυσΟʔϓϦϯΫ(Deferred Deep Linking)http(s): Ͱ࢝·ΔϦϯΫΛϋϯυϦϯά͢Δhttp(s): Ҏ֎ͷϦϯΫΛϋϯυϦϯά͢ΔUniversal LinksCustom URL SchemeσΟʔϓϦϯΫ(Deep Linking)σΟʔϓϦϯΫΛखܰʹར༻Ͱ͖ΔαʔϏεFirebase Dynamic Links໊Adjust໊ΞϓϦΠϯετʔϧ࣌ʹ࣮ߦΞϓϦະΠϯετʔϧ࣌ʹ࣮ߦ
$PPLQBE*OD©︎ৄࡉʹॻ͍ͨઆ໌ਤ
$PPLQBE*OD©︎Ϣʔβʔঢ়ଶෳܦ࿏͔Βͷྲྀೖʹରͯ͠׆༻Ͱ͖ΔΈ
$PPLQBE*OD©︎ॳճઃఆঢ়گʹԠͨ͡ભҠ˔ྫ͑ɺॳճΠϯετʔϧ࣌ʹΞϓϦͷνϡʔτϦΞϧΛ࣮ߦ͍ͤͨ͞έʔε˓σΟϑΝʔυσΟʔϓϦϯΫͷ࣮ߦΛΞϓϦଆͰԆظͤ͞ɺతը໘ͷભҠ࣮ߦΛνϡʔτϦΞϧऴྃޙʹ͢ΔϢʔβʔঢ়ଶෳܦ࿏͔Βͷྲྀೖʹରͯ͠׆༻Ͱ͖ΔΈLaunchScreenతը໘
$PPLQBE*OD©︎ॳճઃఆঢ়گʹԠͨ͡ભҠϢʔβʔঢ়ଶෳܦ࿏͔Βͷྲྀೖʹରͯ͠׆༻Ͱ͖ΔΈprivate let deferredDeepLinkCheckpoint = PublishSubject()private let deferredDeepLinkSubject: ReplaySubjectfunc didFinishTutorial() {deferredDeepLinkCheckpoint.onNext(())}private func setUpDeferredDeepLinkCheckpoint() {Observable.combineLatest(deferredDeepLinkSubject,deferredDeepLinkCheckpoint) { deepLink, _ in deepLink }.take(1).subscribe(onNext: { [environment] deepLink in// σΟϑΝʔυσΟʔϓϦϯΫͷભҠॲཧ}, onCompleted: { [weak self] inguard let strongSelf = self else { return }strongSelf.deferredDeepLinkSubject.onCompleted()strongSelf.deferredDeepLinkCheckpoint.onCompleted()}).disposed(by: disposeBag)}
$PPLQBE*OD©︎͞·͟·ͳྲྀೖܦ࿏͔ΒͷΞϓϦىಈ
$PPLQBE*OD©︎ଟ༷ͳܦ࿏͔Βͷྲྀೖ˔ΞϓϦͷಛఆͷίϯςϯπΛ։ͨ͘ΊʹɺσΟʔϓϦϯΫΛ༻͍ͯΞϓϦΛ։ͨ͘Ίͷྲྀೖܦ࿏͕ෳଘࡏ͢Δ˓6OJWFSTBM-JOLT˓%FGFSSFE%FFQ-JOLJOH˓$VTUPN63-4DIFNF˓1VTI௨˓ʜFUD͞·͟·ͳྲྀೖܦ࿏͔ΒͷΞϓϦىಈ
$PPLQBE*OD©︎ଟ༷ͳܦ࿏͔Βͷྲྀೖ˔ΫοΫύουͰΞϓϦͰHJHJOFU$SPTTSPBEΛར༻͞·͟·ͳྲྀೖܦ࿏͔ΒͷΞϓϦىಈৄ͘͠: https://techlife.cookpad.com/entry/2018/06/01/113000
$PPLQBE*OD©︎ଟ༷ͳܦ࿏͔Βͷྲྀೖ˔ΫοΫύουͰΞϓϦͰHJHJOFU$SPTTSPBEΛར༻͞·͟·ͳྲྀೖܦ࿏͔ΒͷΞϓϦىಈ˓$SPTTSPBEͰෳ-JOL4PVSDFରԠ͕͞ΕͨͨΊɺҰͭͷϧʔτఆٛͰଟ༷ͳܦ࿏͔ΒͷྲྀೖʹରԠͰ͖Δ˓ΫοΫύουΞϓϦͰ$VTUPN63-4DIFNFछͱ6OJWFSTBM-JOLT 'JSFCBTF%ZOBNJD-JOLT༻ʹछར༻͍ͯͯ͠ศར
$PPLQBE*OD©︎Ϣʔβʔʹจ຺Λཧղͨ͠ঢ়ଶͷ··ΞϓϦʹདྷͯΒ͏ͨΊʹ׆༻Ͱ͖ΔΈ
$PPLQBE*OD©︎ʮϢʔβʔʹจ຺Λཧղͯ͠Β͏ʯͷഎܠϢʔβʔʹจ຺Λཧղͨ͠ঢ়ଶͷ··ΞϓϦʹདྷͯΒ͏ͨΊʹ׆༻Ͱ͖ΔΈ˔ಛʹ৽نϢʔβʔ֫ಘΛతͱͯ͠σΟϑΝʔυσΟʔϓϦϯΫΛར༻͢ΔࡍɺΞϓϦΠϯετʔϧͷաఔͰͷΛݮΒͤΔͱخ͍͠
$PPLQBE*OD©︎'JSFCBTF%ZOBNJD-JOLTͷϓϨϏϡʔϖʔδͷΧελϚΠζʹ͍ͭͯϢʔβʔʹจ຺Λཧղͨ͠ঢ়ଶͷ··ΞϓϦʹདྷͯΒ͏ͨΊʹ׆༻Ͱ͖ΔΈ˔'JSFCBTF%ZOBNJD-JOLTͰΞϓϦΠϯετʔϧ༠ಋΛ͢ΔࡍɺϓϨϏϡʔϖʔδ͕දࣔ͞ΕΔ
$PPLQBE*OD©︎'JSFCBTF%ZOBNJD-JOLTͷϓϨϏϡʔϖʔδͷΧελϚΠζʹ͍ͭͯϢʔβʔʹจ຺Λཧղͨ͠ঢ়ଶͷ··ΞϓϦʹདྷͯΒ͏ͨΊʹ׆༻Ͱ͖ΔΈ˔'JSFCBTF%ZOBNJD-JOLTͷιʔγϟϧϝλλάύϥϝʔλͷTUɺTEɺTJΛઃఆ͢Δ͜ͱͰɺϓϨϏϡʔϖʔδͷΧελϚΠζ͕Ͱ͖Δ
$PPLQBE*OD©︎'JSFCBTF%ZOBNJD-JOLTͷϓϨϏϡʔϖʔδͷΧελϚΠζʹ͍ͭͯϢʔβʔʹจ຺Λཧղͨ͠ঢ়ଶͷ··ΞϓϦʹདྷͯΒ͏ͨΊʹ׆༻Ͱ͖ΔΈ˔'JSFCBTF%ZOBNJD-JOLTͷιʔγϟϧϝλλάύϥϝʔλͷTUɺTEɺTJΛઃఆ͢Δ͜ͱͰɺϓϨϏϡʔϖʔδͷΧελϚΠζ͕Ͱ͖Δ˓4/4ʹϦϯΫ͕γΣΞ͞ΕΔΑ͏ͳࢪࡦͰ0(1ΛΧελϚΠζ͢Δͷʹ׆༻Ͱ͖Δ
$PPLQBE*OD©︎"QQ4UPSF$VTUPN1SPEVDU1BHFʹ͍ͭͯϢʔβʔʹจ຺Λཧղͨ͠ঢ়ଶͷ··ΞϓϦʹདྷͯΒ͏ͨΊʹ׆༻Ͱ͖ΔΈ˔J04͔Βར༻Ͱ͖ΔΑ͏ʹͳͬͨετΞͷ৽ػೳ˔εΫϦʔϯγϣοτɺ"QQϓϨϏϡʔɺϓϩϞʔγϣϯ༻ςΩετΛΧελϜͰ͖Δ˔ΧελϜϓϩμΫτϖʔδΛ։ͨ͘Ίͷݻ༗63-ΛൃߦͰ͖Δhttps://developer.apple.com/jp/app-store/custom-product-pages/
$PPLQBE*OD©︎'JSFCBTF%ZOBNJD-JOLTͰ"QQ4UPSF$VTUPN1SPEVDU1BHFΛ͏Ϣʔβʔʹจ຺Λཧղͨ͠ঢ়ଶͷ··ΞϓϦʹདྷͯΒ͏ͨΊʹ׆༻Ͱ͖ΔΈ˔'JSFCBTF%ZOBNJD-JOLTΛ͏߹ɺʮΞϓϦ͕Πϯετʔϧ͞Εͯͳ͍߹ͷભҠઌ JfύϥϝʔλΛઃఆ͢Δ͜ͱͰΧελϜϓϩμΫτϖʔδΛ։ͨ͘ΊͷQQJEύϥϝʔλ͖ͷ"QQ4UPSFϦϯΫΛઃఆͰ͖Δ˔ྫ˓IUUQTEPNBJOQBHFMJOL MJOLIUUQTEPNBJOOBNFJTJJCJOBNFEPNBJO JflIUUQTBQQTBQQMFDPNKQBQQJEQQJE%
$PPLQBE*OD©︎Ϣʔβʔʹจ຺Λཧղͯ͠Β͏Ϣʔβʔʹจ຺Λཧղͨ͠ঢ়ଶͷ··ΞϓϦʹདྷͯΒ͏ͨΊʹ׆༻Ͱ͖ΔΈ˔"QQ4UPSFͷϓϩμΫτϖʔδ'JSFCBTF%ZOBNJD-JOLTͷQSFWJFXϖʔδΛͬͯจ຺Λཧղͯ͠Β͏Before After
$PPLQBE*OD©︎'JSFCBTF%ZOBNJD-JOLTͷϓϨϏϡʔϖʔδͱJ04͔ΒͷσΟϑΝʔυσΟʔϓϦϯΫʹ͍ͭͯ
$PPLQBE*OD©︎'JSFCBTF%ZOBNJD-JOLTͷϓϨϏϡʔϖʔδʹ͍ͭͯFirebase Dynamic LinksͷϓϨϏϡʔϖʔδͱiOS 16͔ΒͷσΟϑΝʔυσΟʔϓϦϯΫʹ͍ͭͯ˔'JSFCBTF%ZOBNJD-JOLTͷϓϨϏϡʔϖʔδεΩοϓ͢Δ͜ͱ͕Մೳ˓˞FGSΦϓγϣϯΛ͚Δ͜ͱͰεΩοϓ͢Δ͜ͱ͕Մೳ˔'JSFCBTF%ZOBNJD-JOLTͷϓϨϏϡʔϖʔδΛදࣔ͢Δ͜ͱͰɺʮ01&/ʯϘλϯ͕ԡ͞ΕͨࡍʹϖʔετϘʔυʹμΠφϛοΫϦϯΫ͕อଘ͞ΕɺϖʔετϘʔυʹΑΔϦϯΫݕূ͕ߦΘΕΔ˓ϖʔετϘʔυΛ༻͍ͨϦϯΫݕূ͕ߦΘΕͳ͍ͷͰσΟϑΝʔυσΟʔϓϦϯΫͷ৴པੑ͕མͪͯਖ਼ৗʹಈ͔ͳ͍߹͕͋ΔͷͰҙ
$PPLQBE*OD©︎'JSFCBTF%ZOBNJD-JOLTͷϓϨϏϡʔϖʔδʹ͍ͭͯFirebase Dynamic LinksͷϓϨϏϡʔϖʔδͱiOS 16͔ΒͷσΟϑΝʔυσΟʔϓϦϯΫʹ͍ͭͯ˔'JSFCBTF%ZOBNJD-JOLTͷϦϯΫݕূʹϖʔετϘʔυͷΞΫηε͕ඞཁ˔J04͔Β1BTUFCPBSEQFSNJTTJPO͕ಋೖ͞Εͨ˓ϓϥΠόγʔอޢͷͨΊʹଞΞϓϦ͔Βίϐʔϖʔετ͢Δࡍʹڐ͕ඞཁʹͳΔ
$PPLQBE*OD©︎J04͔ΒͷσΟϑΝʔυσΟʔϓϦϯΫFirebase Dynamic LinksͷϓϨϏϡʔϖʔδͱiOS 16͔ΒͷσΟϑΝʔυσΟʔϓϦϯΫʹ͍ͭͯ˔'JSFCBTF%ZOBNJD-JOLTͷέʔε˓ϓϨϏϡʔϖʔδΛεΩοϓͨ͠ࡍϖʔετϘʔυΛར༻͠ͳ͍˓'JSFCBTF%FFQ-JOL1BTUFCPBSE3FUSJFWBM&OBCMFEΦϓγϣϯΛແޮʹͨ͠߹ɺϖʔετϘʔυͷಡΈࠐΈ͕ߦΘΕͳ͍˔ิ"EKVTUʹ͓͍ͯϖʔετϘʔυಡΈࠐΈσϑΥϧτͰ͠ͳ͍˓"EKVTUͰಋೖ͞Εͨ-JOL.FΛ͏ࡍϖʔετϘʔυΞΫηεΛߦ͏
$PPLQBE*OD©︎J04͔ΒͷσΟϑΝʔυσΟʔϓϦϯΫ˔μΠφϛοΫϦϯΫΛԡͨ͠ϢʔβʔͷσόΠεใΛอଘ͓ͯ͠Γɺ'JSFCBTF4%,ॳճىಈ࣌ʹαʔόʹใΛૹΔ͜ͱͰɺԡ͞Εͨ Ͱ͋Ζ͏μΠφϛοΫϦϯΫΛϨεϙϯεͱͯ͠ฦ٫͢Δ˓͜ͷࡍʹใ͔ΒͰΞϓϦΠϯετʔϧલʹԡ͞ΕͨϦϯΫΛҰҙʹಛఆͰ͖ͳ͍߹͕͋Δ˙σΟϑΝʔυσΟʔϓϦϯΫ͕ਖ਼͘͠ಈ͔ͳ͍߹͕ग़ͯ͘Δ˙ΞϓϦͷΠϯετʔϧ͕աখධՁ͞ΕΔFirebase Dynamic LinksͷϓϨϏϡʔϖʔδͱiOS 16͔ΒͷσΟϑΝʔυσΟʔϓϦϯΫʹ͍ͭͯ
$PPLQBE*OD©︎J04͔ΒͷσΟϑΝʔυσΟʔϓϦϯΫ˔ϖʔετϘʔυʹμΠφϛοΫϦϯΫ͕อଘ͞Ε͍ͯΕɺαʔόʹϦΫΤετ͢Δࡍʹύϥϝʔλͱͯ͠Ұॹʹૹ৴͞Εͯɺਫ਼ߴ͍ϨεϙϯεΛಘΒΕΔɻ৴པੑͷ୲อʹར༻͞Ε͍ͯΔ˔ʮը໘ભҠܭଌͷਖ਼֬ੑʯͱʮϖʔετϘʔυύʔϛογϣϯΛදࣔ͢Δ͜ͱʹΑͬͯൃੜ͢ΔʯͷτϨʔυΦϑʹͳΓͦ͏Firebase Dynamic LinksͷϓϨϏϡʔϖʔδͱiOS 16͔ΒͷσΟϑΝʔυσΟʔϓϦϯΫʹ͍ͭͯ
$PPLQBE*OD©︎ࢪࡦͷద༻
$PPLQBE*OD©︎έʔεελσΟൢଅΩϟϯϖʔϯ˔ൢଅΩϟϯϖʔϯ˓ྫΩϟϯϖʔϯྲྀೖϢʔβʔͷ$73$1"ʹର͢Δ-57ܭଌΛߦ͍͍ͨࢪࡦͷద༻*CVR(ίϯόʔδϣϯ): తߦಈΛͯ͘͠Ε͔ͨΛଌΔࢦඪ*CPA(֫ಘ֫ಘ୯Ձ): ৽نϢʔβʔ֫ಘͷͨΊʹ͔͔ͬͨඅ༻*LTV(ސ٬ੜ֔Ձ): Ϣʔβʔ͕ΞϓϦʹͲΕ͚ͩͷརӹΛͨΒ͔͢Λද͢ͷ
$PPLQBE*OD©︎'JSFCBTF%ZOBNJD-JOLTΛ׆༻͢Δ˔'JSFCBTFίϯιʔϧͰੜ͞Εͨ%ZOBNJD-JOL○ Firebaseίϯιʔϧ্ͰΫϦοΫΠϯετʔϧͳͲͷύϑΥʔϚϯεΛ֬ೝͰ͖Δ○ Firebase AnalyticsͰऔಘͨ͠ϩάͱ͖߹ΘͤͯLTVܭଌࢪࡦͷద༻ - ൢଅΩϟϯϖʔϯ
$PPLQBE*OD©︎'JSFCBTF%ZOBNJD-JOLTΛ׆༻͢Δࢪࡦͷద༻ - ൢଅΩϟϯϖʔϯҾ༻: https://developers-jp.googleblog.com/2017/10/whats-new-with-firebase-dynamic-links.html
$PPLQBE*OD©︎ΑΓৄ͘͠ܭଌ͍ͨ͠߹ࢪࡦͷద༻ - ൢଅΩϟϯϖʔϯ˔J5VOFT$POOFDU"QQ"OBMZUJDT$BNQBJHO(PPHMF"OBMZUJDT$VTUPN$BNQBJHOΛར༻͢Δ˓(PPHMF1MBZJ5VOFT$POOFDUͷղੳ༻ύϥϝʔλΛઃఆ͢Δొஃ࣌εϥΠυεΩοϓ͠·͢
$PPLQBE*OD©︎μΠφϛοΫϦϯΫʹΧελϜύϥϝʔλΛ༩ͯ͠ΞϓϦଆͰϋϯυϦϯά˔μΠφϛοΫϦϯΫΛར༻ͯ͠ΞϓϦଆͰྲྀೖݩΛผ͍ͨ͠߹ʹɺΧελϜύϥϝʔλΛ༩ͯ͠ΞϓϦଆͰϋϯυϦϯά͢Δͷ༗ޮ● https://customdomain.page.link/?link=https://yourdomain.name?custom_parameter=:value&ibi=:custom_scheme&isi=:appstore_id˓͜ͷΑ͏ͳܗࣜͰμΠφϛοΫϦϯΫΛΈཱͯΔͱΞϓϦଆͰIUUQTZPVSEPNBJOOBNF [email protected]ͷܗࣜͰσΟʔϓϦϯΫ63-͕ड͚औΕΔͷͰ[email protected]ͷΛͱʹϩάૹ৴ͳͲΛߦ͏ࢪࡦͷద༻ - ൢଅΩϟϯϖʔϯ
$PPLQBE*OD©︎"EKVTUΛ׆༻͢Δࢪࡦͷద༻ - ൢଅΩϟϯϖʔϯ˔"EKVTUͰੜ͞ΕͨτϥοΧʔ͖ϦϯΫ˓ΞϓϦʹ࣮͞ΕͨFWFOUUSBDLFSͱΈ߹ΘͤΔ͜ͱͰΩϟϯϖʔϯʹΑͬͯྲྀೖͨ͠Ϣʔβʔͷ-57ίϗʔτΛμογϡϘʔυ্ͰݟΕΔ˓֤छࠂϓϥοτϑΥʔϜͱ࿈ܞ͢Δ͜ͱͰϢʔβʔηάϝϯτΛઃఆͨ͠Γ͢Δ͜ͱՄೳ
$PPLQBE*OD©︎"EKVTUΛ׆༻͢Δࢪࡦͷద༻ - ൢଅΩϟϯϖʔϯҾ༻: https://www.adjust.com/ja/product/adjust-dashboard/ొஃ࣌εϥΠυεΩοϓ͠·͢
$PPLQBE*OD©︎έʔεελσΟ༑ୡট˔༑ୡট˓Ϣʔβʔ͕༑ୡΛটͰ͖ΔΑ͏ʹɺট༻ϦϯΫΛੜ͍ͨ͠ࢪࡦͷద༻
$PPLQBE*OD©︎έʔεελσΟ༑ୡট˔༑ୡট˓Ϣʔβʔ͕༑ୡΛটͰ͖ΔΑ͏ʹটϦϯΫΛੜ˓'JSFCBTF%ZOBNJD-JOLT"EKVTU˙ύϥϝʔλΛ༩͢Δ͜ͱͰಈతϦϯΫੜͰ͖Δ͕ɺଞϢʔβʔʹରͯ͠4/4ϝοηʔδϯάΞϓϦͰڞ༗͞ΕΔ͜ͱ͕༧͞ΕΔͨΊɺ͗͢ΔϦϯΫආ͚͍ͨࢪࡦͷద༻ - ༑ୡট
$PPLQBE*OD©︎'JSFCBTF%ZOBNJD-JOLT#VJMEFSΛ׆༻͢Δ˔'JSFCBTF%ZOBNJD-JOLT#VJMEFS˓ΞϓϦͰࢦఆͨ͠ύϥϝʔλΛར༻ͯ͠ ॖ63-͍μΠφϛοΫϦϯΫൃߦͰ͖Δ˙˞'JSFCBTFίϯιʔϧͰੜ͞ΕΔΑ͏ͳܗ͕ࣜͩɺ'JSFCBTFίϯιʔϧͷҰཡʹग़ͯ͜ͳ͍˙IUUQTDPOTPMFfi[email protected][email protected]ʹΞΫηε͢Δ͜ͱͰϦϯΫৄࡉϖʔδʹඈΔ˓ΫϦοΫΠϯετʔϧͳͲίϯιʔϧͰݟΕͳ͍ͷͰɺ3&45"1*͔ΒݟΔ͜ͱʹͳΔࢪࡦͷద༻ - ༑ୡট
$PPLQBE*OD©︎·ͱΊ
$PPLQBE*OD©︎·ͱΊ˔σΟʔϓϦϯΫΛ࣮ݱ͢ΔͨΊͷػೳ˓6OJWFSTBM-JOLT$VTUPN63-4DIFNF˔Πϯετʔϧঢ়گʹدΒͳ͍ϦϯΫੜ˓σΟϑΝʔυσΟʔϓϦϯΫ˔σΟʔϓϦϯΫΛखܰʹར༻Ͱ͖ΔΑ͏ʹ͢ΔͨΊͷαʔϏε˓'JSFCBTF%ZOBNJD-JOLT"EKVTUͳͲ˔ϓϨϏϡʔϖʔδετΞϖʔδΛΩϟϯϖʔϯ༻ʹΧελϚΠζ͢Δ͜ͱͰϢʔβʔʹจ຺Λҙࣝ͠ଓ͚ͯΒ͑Δ˔ࢪࡦ࣮ࢪͷࡍʹ'JSFCBTF%ZOBNJD-JOLT"EKVTUΛ͏͜ͱͰࢪࡦੳʹ׆༻Ͱ͖Δ
$PPLQBE*OD©︎https://cookpad.connpass.com/event/254459/