Upgrade to Pro — share decks privately, control downloads, hide ads and more …

施策基盤としてのディープリンク〜なめらかにアプリが開く体験のために〜

Atsuya Sato
PRO
September 10, 2022

 施策基盤としてのディープリンク〜なめらかにアプリが開く体験のために〜

2022/09/10(土)~12(月)に開催されたiOSDC Japan 2022で発表した2022/09/10 16:40〜 Track B「施策基盤としてのディープリンク 〜なめらかにアプリが開く体験のために〜」の資料です

Atsuya Sato
PRO

September 10, 2022
Tweet

More Decks by Atsuya Sato

Other Decks in Technology

Transcript

  1. $PPLQBE*OD ©︎ J04%$+BQBO  ౔ 5SBDL# ࢪࡦج൫ͱͯ͠ͷσΟʔϓϦϯΫ ʙͳΊΒ͔ʹΞϓϦ͕։͘ମݧͷͨΊʹʙ "UTVZB4BUP !O@BUNBSL

  2. $PPLQBE*OD ©︎  ࠤ౻ ರ໵ (@n_atmark) ͞ͱ͏ɹɹ͋ͭ΍ ΫοΫύουגࣜձࣾ ങ෺αʔϏε։ൃ෦ ΤϯδχΞ

    ΫοΫύουΞϓϦͷങ͍෺ػೳ (iOS/Android)ͷ։ൃ
  3. $PPLQBE*OD ©︎ 

  4. $PPLQBE*OD ©︎ ࢪࡦͱ͸ ˔ ͨͱ͑͹ɺΞϓϦΛ࢖͏Ϣʔβʔ͕૿͑Δ͜ͱͰརӹʹͭͳ͕ΔΑ͏ͳ৔߹ ˓ ৽نΠϯετʔϧ਺ ˓ ΞϓϦͷىಈճ਺ ˓

    ࿈ଓར༻೔਺ ˓ ʜFUD  ʮ໨ඪୡ੒΍໰୊ղܾͷͨΊʹߨ͡Δ΂͖ܭըɾઓུʯͷ͜ͱ
  5. $PPLQBE*OD ©︎ ࢪࡦͷࣄྫ঺հ 

  6. $PPLQBE*OD ©︎ ࢪࡦͷࣄྫ঺հ ˔ ൢଅΩϟϯϖʔϯ ˓ ໨త ˙ ച্֦େ ˙

    ৽نϢʔβʔ֫ಘͳͲ  ࢪࡦͷࣄྫ঺հ
  7. $PPLQBE*OD ©︎ ࢪࡦͷࣄྫ঺հ ˔ 8FCΞϓϦ༠ಋ ˓ ໨త ˙ ٳ຾ϢʔβʔͷϦλʔήςΟϯά ˙

    ܧଓར༻Λ໨తͱͨ͠ΞϓϦ΁ͷఆணͳͲ  ࢪࡦͷࣄྫ঺հ
  8. $PPLQBE*OD ©︎ ࢪࡦͷࣄྫ঺հ ˔ ༑ୡট଴Ωϟϯϖʔϯ ˓ ໨త ˙ ೝ஌֫ಘ ˙

    ϦϑΝϥϧʹΑΔ৽ن Ϣʔβʔ֫ಘͳͲ  ࢪࡦͷࣄྫ঺հ
  9. $PPLQBE*OD ©︎  ʮΞϓϦ΁ϢʔβʔΛ࿈Εͯ͘ΔͨΊͷ࢓૊Έʯ ͱͯ͠ͷσΟʔϓϦϯΫ

  10. $PPLQBE*OD ©︎ ΞδΣϯμ ˔ ֓೦ͱͯ͠ͷσΟʔϓϦϯΫ ˔ Ϣʔβʔঢ়ଶ΍ෳ਺ܦ࿏͔Βͷྲྀೖʹରͯ͠׆༻Ͱ͖Δ࢓૊Έ ˔ Ϣʔβʔʹจ຺Λཧղͨ͠ঢ়ଶͷ··ΞϓϦʹ͖ͯ΋Β͏ͨΊʹ׆༻Ͱ͖ Δ࢓૊Έ

    ˔ ࢪࡦ΁ͷద༻ ˔ ·ͱΊ 
  11. $PPLQBE*OD ©︎ ֓೦ͱͯ͠ͷσΟʔϓϦϯΫ 

  12. $PPLQBE*OD ©︎ σΟʔϓϦϯΫ %FFQ-JOLJOH ͱ͸ ˔ σΟʔϓϦϯΫͱ͍͏lػೳz͸ͳ͍ ˓ ֓೦͓Αͼ໊শͱͯ͠lσΟʔϓϦϯΫzͱ͍͏ϫʔυ͕༻͍ΒΕ͍ͯΔ 

    ֓೦ͱͯ͠ͷσΟʔϓϦϯΫ σΟʔϓϦϯΫʹରԠͨ͠URIͦͷ΋ͷΛࢦ͢ݴ༿ͱͯ͠΋ ར༻͞ΕΔ ֓೦ ໊শ ΞϓϦͷಛఆͷίϯςϯπΛ URI Ͱදݱͯ͠ɺର৅ͷURIΛ ϦΫΤετͨ͠ࡍʹΞϓϦͷಛఆͷίϯςϯπʹΞΫηε͢ ΔͨΊͷ΋ͷ ˔ ྫ ΫοΫύουͷϨγϐৄࡉΛ։͘σΟʔϓϦϯΫ ˓ IUUQTDPPLQBEDPNSFDJQFJE ˓ DPPLQBEEPNBJOSFDJQFJE ˞આ໌༻ʹ࣮ࡍͱ͸ผͷ΋ͷΛࡌ͍ͤͯ·͢
  13. $PPLQBE*OD ©︎ σΟʔϓϦϯΫ %FFQ-JOLJOH ͱ͸ ˔ ΞϓϦͷಛఆͷը໘Λ63*Ͱදݱͯ͠ɺ౿Ήͱͦ͜ʹભҠͤ͞Δ͜ͱɻ·ͨ ͸ͦͷ63*ͦͷ΋ͷɻ ˔ ϢχόʔαϧϦϯΫͰ༻͍ΒΕΔ63-΍ΧελϜεΩʔϜͷ63*ͳͲࣗ਎ͷ͜

    ͱΛσΟʔϓϦϯΫͱݺͿ͜ͱ΋͋Δ ˔ ʮϢχόʔαϧϦϯΫʯ΍ʮΧελϜ63-εΩʔϜʯ͸σΟʔϓϦϯΫΛ࣮ ݱ͢ΔͨΊͷํ๏ͷҰछ  ֓೦ͱͯ͠ͷσΟʔϓϦϯΫ ˔ ิ଍ݫີʹ͸8PSME8JEF8FCʹ͓͚ΔσΟʔϓϦϯΫ %FFQ-JOLJOH ͱϞόΠϧΞϓϦͷ จ຺ʹ͓͚ΔσΟʔϓϦϯΫ .PCJMF%FFQ-JOLJOH ͸۠ผ͞ΕΔ ˓ ؆୯ͷͨΊ.PCJMF%FFQ-JOLJOHͷ͜ͱΛσΟʔϓϦϯΫͱݺͿ͜ͱʹ͢Δ
  14. $PPLQBE*OD ©︎ σΟʔϓϦϯΫʹରԠͨ͠URIͦͷ΋ͷΛࢦ͢ݴ༿ͱͯ͠΋ར༻͞ΕΔ ֓೦ ໊শ ΞϓϦͷಛఆͷίϯςϯπΛ URI Ͱදݱͯ͠ɺର৅ͷURIΛϦΫΤετͨ͠ࡍʹ ΞϓϦͷಛఆͷίϯςϯπʹΞΫηε͢ΔͨΊͷ΋ͷ σΟʔϓϦϯΫ

    (Deep Linking) http(s): Ͱ࢝·ΔϦϯΫΛϋϯυϦϯά͢Δ http(s): Ҏ֎ͷϦϯΫΛϋϯυϦϯά͢Δ ػೳ Universal Links Android App Links ػೳ ػೳ Custom URL Scheme 
  15. $PPLQBE*OD ©︎ 6OJWFSTBM-JOLTͱ͸  ֓೦ͱͯ͠ͷσΟʔϓϦϯΫ ػೳ ಛఆͷ΢ΣϒαΠτʹؔ࿈෇͚ΒΕͨΞϓϦ͕Πϯε τʔϧ͞Ε͍ͯΔ৔߹ɺ΢ΣϒαΠτURL͔Β௚઀
 ΞϓϦ಺ͷରԠίϯςϯπΛ։͚ΔΑ͏ʹͳΔ΋ͷ

  16. $PPLQBE*OD ©︎ 6OJWFSTBM-JOLTͱ͸  ֓೦ͱͯ͠ͷσΟʔϓϦϯΫ ػೳ ಛఆͷ΢ΣϒαΠτʹؔ࿈෇͚ΒΕͨΞϓϦ͕Πϯε τʔϧ͞Ε͍ͯΔ৔߹ɺ΢ΣϒαΠτURL͔Β௚઀
 ΞϓϦ಺ͷରԠίϯςϯπΛ։͚ΔΑ͏ʹͳΔ΋ͷ ˔

    "TTPDJBUFE%PNBJOTͰઃఆ͞ΕͨυϝΠϯͷBQQMFBQQ TJUFBTTPDJBUJPOϑΝΠϧΛΞϓϦͷॳճىಈ࣌ʹμ΢ϯϩ ʔυͯ͠൑ผͰ͖ΔΑ͏ʹ͍ͯ͠Δ ˔ J04ͷΈͰར༻Մೳͳػೳ 
 ˞"OESPJEͰ͸ྨࣅٕज़ͱͯ͠"OESPJE"QQ-JOLT͕ར༻Մೳ
  17. $PPLQBE*OD ©︎ 6OJWFSTBM-JOLTͱ͸ "TTPDJBUFE%PNBJOT  ֓೦ͱͯ͠ͷσΟʔϓϦϯΫ ˓ υϝΠϯͷॴ༗ݖΛূ໌͢ΔͨΊʹ"TTPDJBUFE%PNBJOTͱͯ͠ 
 TFSWJDFGVMMRVBMJ

    fi FEEPNBJOͷܗࣜͰΞϓϦͱΫϨσϯγϟϧΛ ڞ༗͢ΔυϝΠϯΛ௥Ճ͢Δ ొஃ࣌͸εϥΠυεΩοϓ͠·͢
  18. $PPLQBE*OD ©︎ 6OJWFSTBM-JOLTͱ͸ BQQMFBQQTJUFBTTPDJBUJPO  ֓೦ͱͯ͠ͷσΟʔϓϦϯΫ ˓ ΞϓϦͷॴ༗ݖΛূ໌͢ΔͨΊʹυϝΠϯͰαϙʔτ͢ΔΞϓϦࣝผࢠΛ ྻڍ͠ɺIUUQTEPNBJOOBNFXFMMLOPXOBQQMFBQQTJUF BTTPDJBUJPOͷύεͰϗετ͢Δ

    ొஃ࣌͸εϥΠυεΩοϓ͠·͢
  19. $PPLQBE*OD ©︎ ΧελϜ63-εΩʔϜ $VTUPN63-4DIFNF ͱ͸  ֓೦ͱͯ͠ͷσΟʔϓϦϯΫ ػೳ ΞϓϦ͝ͱʹఆٛ͞Ε͍ͯΔ https:,

    http: Ҏ֎ͷಠࣗͷ εΩʔϜΛࣝผͯ͠ɺରԠ͢ΔΞϓϦΛ։͘͜ͱͷͰ ͖Δػೳ (iOS/AndroidͰར༻Մೳ) ˞ิ଍ຊདྷΧελϜ63-εΩʔϜ͕ࢦ͢΋ͷ͸DPPLQBEEPNBJO ͷ෦෼͕ͩɺ׳༻తʹDPPLQBEEPNBJOSFDJQFJEͷΑ͏ͳσΟʔ ϓϦϯΫʹରԠͨ͠63*ࣗ਎Λࢦ͢ݴ༿ͱͯ͠࢖ΘΕΔ৔߹΋͋Δ
  20. $PPLQBE*OD ©︎ ΧελϜ63-εΩʔϜ $VTUPN63-4DIFNF ͱ͸  ֓೦ͱͯ͠ͷσΟʔϓϦϯΫ ػೳ ΞϓϦ͝ͱʹఆٛ͞Ε͍ͯΔ https:,

    http: Ҏ֎ͷಠࣗͷ εΩʔϜΛࣝผͯ͠ɺରԠ͢ΔΞϓϦΛ։͘͜ͱͷͰ ͖Δػೳ (iOS/AndroidͰར༻Մೳ) ˔ ΞϓϦଆͰ*EFOUJ fi FS͓Αͼ63-4DIFNFTΛఆٛ͢Δ͜ͱ Ͱར༻Ͱ͖Δ ొஃ࣌͸εϥΠυεΩοϓ͠·͢
  21. $PPLQBE*OD ©︎  Ҿ༻: Firebase Dynamic LinksͰطଘͷϢʔβʔ͚ͩͰͳ͘ɺજࡏతϢʔβʔʹ΋ମݧΛ ఏڙ͍ͨ͠, 2020/09/21 iOSDC

    2020 Japan, த઒ ହ෉ ֓೦ͱͯ͠ͷσΟʔϓϦϯΫ
  22. $PPLQBE*OD ©︎  σΟʔϓϦϯΫʹରԠͨ͠URIͦͷ΋ͷΛࢦ͢ݴ༿ͱͯ͠΋ར༻͞ΕΔ ֓೦ ໊শ ΞϓϦͷಛఆͷίϯςϯπΛ URI Ͱදݱͯ͠ɺର৅ͷURIΛϦΫΤετͨ͠ࡍʹ ΞϓϦͷಛఆͷίϯςϯπʹΞΫηε͢ΔͨΊͷ΋ͷ

    σΟʔϓϦϯΫ (Deep Linking) http(s): Ͱ࢝·ΔϦϯΫΛϋϯυϦϯά͢Δ http(s): Ҏ֎ͷϦϯΫΛϋϯυϦϯά͢Δ ػೳ Universal Links Android App Links ػೳ ػೳ Custom URL Scheme
  23. $PPLQBE*OD ©︎ Πϯετʔϧ͞Εͯͳ͍ΞϓϦΛର৅ͱͨ͠ σΟʔϓϦϯΫ 

  24. $PPLQBE*OD ©︎ σΟϑΝʔυσΟʔϓϦϯΫ %FGFSSFE%FFQ-JOLJOH  Πϯετʔϧ͞Εͯͳ͍ΞϓϦΛର৅ͱͨ͠σΟʔϓϦϯΫ ˔ Ϣʔβʔ͕ΞϓϦΛΠϯετʔϧ͍ͯ͠ͳ͍৔߹ɺΞϓϦ ετΞΛ։͘ ˓

    ΞϓϦ͕Πϯετʔϧ͞ΕͨޙॳΊͯىಈ͞Εͨ࣌ ʹɺσΟʔϓϦϯΫʹΑΔભҠॲཧ͕࣮ߦ͞ΕΔ ֓೦ σΟʔϓϦϯΫͷ࣮ߦΛΞϓϦΠϯετʔϧ׬ྃ ޙͷॳճىಈ࣌·ͰʮDeferred(Ԇظ)ʯͤ͞ΔͨΊ ͷ΋ͷ
  25. $PPLQBE*OD ©︎ σΟϑΝʔυσΟʔϓϦϯΫ %FGFSSFE%FFQ-JOLJOH  Πϯετʔϧ͞Εͯͳ͍ΞϓϦΛର৅ͱͨ͠σΟʔϓϦϯΫ ˔ σΟϑΝʔυσΟʔϓϦϯΫΛαϙʔτ͢ΔͨΊͷํ๏͸ ϓϥοτϑΥʔϜʹΑͬͯҟͳΔ ެࣜαϙʔτ͸༻ҙ͞Ε͍ͯͳ͍ɻ


    ΫϦοϓϘʔυʹσΟʔϓϦϯΫͷύϥϝʔλʔΛอ࣋ͯ͠ɺ ΞϓϦىಈ࣌ʹΫϦοϓϘʔυ͔ΒσΟʔϓϦϯΫΛಡΈग़͠ ͯॲཧͤ͞ΔͳͲͷํ๏Ͱ࣮ݱͰ͖Δ ػೳ ެࣜػೳͱͯ͠ɺΠϯςϯτΛ࢖༻ͯ͠Google PlayετΞΛհ ͯ͠σΟʔϓϦϯΫΛ౉͢Φϓγϣϯ͕ఏڙ͞Ε͍ͯΔ ࢓૊Έ
  26. $PPLQBE*OD ©︎  σΟϑΝʔυσΟʔϓϦϯΫ (Deferred Deep Linking) ެࣜػೳͰ࣮ݱՄೳ σΟʔϓϦϯΫʹରԠͨ͠URIͦͷ΋ͷΛࢦ͢ݴ༿ͱͯ͠΋ར༻͞ΕΔ ֓೦

    ໊শ ΞϓϦͷಛఆͷίϯςϯπΛ URI Ͱදݱͯ͠ɺର৅ͷURIΛϦΫΤετͨ͠ ࡍʹΞϓϦͷಛఆͷίϯςϯπʹΞΫηε͢ΔͨΊͷ΋ͷ σΟʔϓϦϯΫ (Deep Linking) http(s): Ͱ࢝·ΔϦϯΫΛϋϯυϦϯά͢Δ http(s): Ҏ֎ͷϦϯΫΛϋϯυϦϯά͢Δ ػೳ Universal Links Android App Links ػೳ ػೳ Custom URL Scheme ΞϓϦະΠϯετʔϧͷ୺຤Λର৅ʹɺΞϓϦετΞͷμ΢ϯϩʔυϖʔδΛ։͖ɺΞϓϦ͕ Πϯετʔϧ͞ΕͨޙॳΊͯىಈ͞Εͨ࣌ʹɺݩʑͷURIͰࢦఆ͞ΕͨίϯςϯπʹΞΫηεͤ͞Δ͜ͱ ֓೦ ػೳ ࢓૊Έ ΫϦοϓϘʔυͳͲΛ׆༻࣮ͯ͠ݱՄೳ σΟϑΝʔυσΟʔϓϦϯΫ΋ؚΊͯσΟʔϓϦϯΫͱݺͿ৔߹΋͋Δ
  27. $PPLQBE*OD ©︎ σΟʔϓϦϯΫΛखܰʹར༻Ͱ͖ΔΑ͏ʹ ͢ΔͨΊͷαʔϏε঺հ 

  28. $PPLQBE*OD ©︎ σΟʔϓϦϯΫΛखܰʹར༻Ͱ͖ΔΑ͏ʹ͢ΔͨΊͷαʔϏε  σΟʔϓϦϯΫΛखܰʹར༻Ͱ͖ΔΑ͏ʹ͢ΔͨΊͷαʔϏε঺հ ˔ 'JSFCBTF%ZOBNJD-JOLT ˔ "EKVTU ʹ͍ͭͯ঺հ͠·͢

  29. $PPLQBE*OD ©︎ 'JSFCBTF%ZOBNJD-JOLT  σΟʔϓϦϯΫΛखܰʹར༻Ͱ͖ΔΑ͏ʹ͢ΔͨΊͷαʔϏε঺հ https://firebase.google.com/products/dynamic-links

  30. $PPLQBE*OD ©︎ 'JSFCBTF%ZOBNJD-JOLT  σΟʔϓϦϯΫΛखܰʹར༻Ͱ͖ΔΑ͏ʹ͢ΔͨΊͷαʔϏε঺հ ˔ 'JSFCBTFͷػೳͷ͏ͪͷҰͭ ˓ ΞϓϦͷΠϯετʔϧঢ়ଶʹ໰Θͣෳ਺ϓϥοτϑΥʔϜͰར༻Մೳͳ 


    ϦϯΫΛੜ੒ͯ͘͠ΕΔ ˔ ΧελϜͷ%ZOBNJD-JOLTυϝΠϯΛऔಘͰ͖Δ ˓ ྫ EPNBJOQBHFMJOL ˔ 'JSFCBTFίϯιʔϧ͔Βͷ੩తͳ୹ॖ63-ੜ੒΍ύϥϝʔλ෇༩ʹΑΔ 
 ಈత63-ੜ੒͕Մೳ 'JSFCBTF%ZOBNJD-JOLTͱ͸ ˞'JSFCBTF%ZOBNJD-JOLTͰ࡞੒͞ΕͨϦϯΫͷ͜ͱΛμΠφϛοΫϦϯΫ %ZOBNJD-JOL ͱݺͿ
  31. $PPLQBE*OD ©︎ "EKVTU  σΟʔϓϦϯΫΛखܰʹར༻Ͱ͖ΔΑ͏ʹ͢ΔͨΊͷαʔϏε঺հ https://www.adjust.com/

  32. $PPLQBE*OD ©︎ "EKVTU  σΟʔϓϦϯΫΛखܰʹར༻Ͱ͖ΔΑ͏ʹ͢ΔͨΊͷαʔϏε঺հ ˔ "EKVTUࣾʹΑΔϞόΠϧܭଌͷͨΊͷαʔϏε ˔ 6OJWFSTBM-JOLJOHͷઃఆ͔Β"QQ*%1SF fi

    Yͱ63-4DIFNFΛઃఆ͢Δ͜ͱ ͰΞϓϦέʔγϣϯ͝ͱʹ6OJWFSTBM-JOLT༻ͷυϝΠϯ͕ൃߦ͞ΕΔ "EKVTUͱ͸
  33. $PPLQBE*OD ©︎ σΟʔϓϦϯΫΛखܰʹѻ͑ΔαʔϏε  σΟʔϓϦϯΫΛखܰʹར༻Ͱ͖ΔΑ͏ʹ͢ΔͨΊͷαʔϏε঺հ ˔ ΞϓϦ͕ະΠϯετʔϧͷϢʔβʔ ˓ σΟϑΝʔυσΟʔϓϦϯΫΛ༻͍ͯɺΞϓϦΠϯετʔϧΛଅͨ͠ޙɺ ॳճىಈ࣌ʹ໨తͷίϯςϯπ΁࿈Εͯ͘Δ͜ͱ͕Ͱ͖Δ

    ˔ ΞϓϦΠϯετʔϧࡁΈͷϢʔβʔ ˓ 6OJWFSTBM-JOLTΛ༻͍ͯɺΞϓϦͷ໨తͷίϯςϯπʹγʔϜϨεʹ࿈ Εͯ͘Δ͜ͱ͕Ͱ͖Δ ˔ ର৅ϓϥοτϑΥʔϜ֎ͷϢʔβʔ ˓ ϑΥʔϧόοΫઌͷ63-ʹϦμΠϨΫτͰ͖Δ 'JSFCBTF%ZOBNJD-JOLT΍"EKVTU
  34. $PPLQBE*OD ©︎ Πϯετʔϧঢ়گʹԠͨ͡ભҠ ˔ 'JSFCBTF%ZOBNJD-JOLTͷྫ ˓ 'JSFCBTF%ZOBNJD-JOLTͰൃߦ͞ΕͨɺμΠ φϛοΫϦϯΫ͸ʮϦϯΫΛϓϨϏϡʔ σό οά

    ʯ͔ΒڍಈΛ֬ೝͰ͖Δ ˙ ˞μΠφϛοΫϦϯΫͷ຤ඌʹEΦϓ γϣϯΛ෇͚ͯ΋֬ೝͰ͖Δ ˓ ϓϥοτϑΥʔϜ΍ΞϓϦͷΠϯετʔϧঢ়گ ʹ ˙ 8FCͰ63-Λ։͘ ˙ "QQ4UPSFΛ։͘ ˙ σΟʔϓϦϯΫͰΞϓϦΛ։͘  σΟʔϓϦϯΫΛखܰʹར༻Ͱ͖ΔΑ͏ʹ͢ΔͨΊͷαʔϏε঺հ ొஃ࣌͸εϥΠυεΩοϓ͠·͢
  35. $PPLQBE*OD ©︎  σΟϑΝʔυσΟʔϓϦϯΫ (Deferred Deep Linking) http(s): Ͱ࢝·ΔϦϯΫΛϋϯυϦϯά͢Δ http(s):

    Ҏ֎ͷϦϯΫΛϋϯυϦϯά͢Δ Universal Links Custom URL Scheme σΟʔϓϦϯΫ (Deep Linking) σΟʔϓϦϯΫ Λखܰʹར༻Ͱ͖ΔαʔϏε Firebase Dynamic Links ੡඼໊ Adjust ੡඼໊ ΞϓϦΠϯετʔϧ ࣌ʹ࣮ߦ ΞϓϦະΠϯετʔϧ࣌ ʹ࣮ߦ
  36. $PPLQBE*OD ©︎ ෇࿥ৄࡉʹॻ͍ͨઆ໌ਤ 

  37. $PPLQBE*OD ©︎ Ϣʔβʔঢ়ଶ΍ෳ਺ܦ࿏͔Βͷྲྀೖʹରͯ͠ ׆༻Ͱ͖Δ࢓૊Έ 

  38. $PPLQBE*OD ©︎ ॳճઃఆঢ়گʹԠͨ͡ભҠ ˔ ྫ͑͹ɺॳճΠϯετʔϧ࣌ʹΞϓϦͷνϡʔτϦΞϧΛ࣮ߦ͍ͤͨ͞έʔε ˓ σΟϑΝʔυσΟʔϓϦϯΫͷ࣮ߦΛΞϓϦଆͰԆظͤ͞ɺ໨తը໘΁ͷ ભҠ࣮ߦΛνϡʔτϦΞϧऴྃޙʹ͢Δ  Ϣʔβʔঢ়ଶ΍ෳ਺ܦ࿏͔Βͷྲྀೖʹରͯ͠׆༻Ͱ͖Δ࢓૊Έ

    Launch Screen ໨తը໘
  39. $PPLQBE*OD ©︎ ॳճઃఆঢ়گʹԠͨ͡ભҠ  Ϣʔβʔঢ়ଶ΍ෳ਺ܦ࿏͔Βͷྲྀೖʹରͯ͠׆༻Ͱ͖Δ࢓૊Έ private let deferredDeepLinkCheckpoint = PublishSubject<Void>()

    private let deferredDeepLinkSubject: ReplaySubject<URL?> func didFinishTutorial() { deferredDeepLinkCheckpoint.onNext(()) } private func setUpDeferredDeepLinkCheckpoint() { Observable .combineLatest( deferredDeepLinkSubject, deferredDeepLinkCheckpoint ) { deepLink, _ in deepLink } .take(1) .subscribe(onNext: { [environment] deepLink in // σΟϑΝʔυσΟʔϓϦϯΫͷભҠॲཧ }, onCompleted: { [weak self] in guard let strongSelf = self else { return } strongSelf.deferredDeepLinkSubject.onCompleted() strongSelf.deferredDeepLinkCheckpoint.onCompleted() }) .disposed(by: disposeBag) }
  40. $PPLQBE*OD ©︎ ॳճઃఆঢ়گʹԠͨ͡ભҠ  Ϣʔβʔঢ়ଶ΍ෳ਺ܦ࿏͔Βͷྲྀೖʹରͯ͠׆༻Ͱ͖Δ࢓૊Έ private let deferredDeepLinkCheckpoint = PublishSubject<Void>()

    private let deferredDeepLinkSubject: ReplaySubject<URL?> func didFinishTutorial() { deferredDeepLinkCheckpoint.onNext(()) } private func setUpDeferredDeepLinkCheckpoint() { Observable .combineLatest( deferredDeepLinkSubject, deferredDeepLinkCheckpoint ) { deepLink, _ in deepLink } .take(1) .subscribe(onNext: { [environment] deepLink in // σΟϑΝʔυσΟʔϓϦϯΫͷભҠॲཧ }, onCompleted: { [weak self] in guard let strongSelf = self else { return } strongSelf.deferredDeepLinkSubject.onCompleted() strongSelf.deferredDeepLinkCheckpoint.onCompleted() }) .disposed(by: disposeBag) }
  41. $PPLQBE*OD ©︎ ॳճઃఆঢ়گʹԠͨ͡ભҠ  Ϣʔβʔঢ়ଶ΍ෳ਺ܦ࿏͔Βͷྲྀೖʹରͯ͠׆༻Ͱ͖Δ࢓૊Έ private let deferredDeepLinkCheckpoint = PublishSubject<Void>()

    private let deferredDeepLinkSubject: ReplaySubject<URL?> func didFinishTutorial() { deferredDeepLinkCheckpoint.onNext(()) } private func setUpDeferredDeepLinkCheckpoint() { Observable .combineLatest( deferredDeepLinkSubject, deferredDeepLinkCheckpoint ) { deepLink, _ in deepLink } .take(1) .subscribe(onNext: { [environment] deepLink in // σΟϑΝʔυσΟʔϓϦϯΫͷભҠॲཧ }, onCompleted: { [weak self] in guard let strongSelf = self else { return } strongSelf.deferredDeepLinkSubject.onCompleted() strongSelf.deferredDeepLinkCheckpoint.onCompleted() }) .disposed(by: disposeBag) }
  42. $PPLQBE*OD ©︎ ॳճઃఆঢ়گʹԠͨ͡ભҠ  Ϣʔβʔঢ়ଶ΍ෳ਺ܦ࿏͔Βͷྲྀೖʹରͯ͠׆༻Ͱ͖Δ࢓૊Έ private let deferredDeepLinkCheckpoint = PublishSubject<Void>()

    private let deferredDeepLinkSubject: ReplaySubject<URL?> func didFinishTutorial() { deferredDeepLinkCheckpoint.onNext(()) } private func setUpDeferredDeepLinkCheckpoint() { Observable .combineLatest( deferredDeepLinkSubject, deferredDeepLinkCheckpoint ) { deepLink, _ in deepLink } .take(1) .subscribe(onNext: { [environment] deepLink in // σΟϑΝʔυσΟʔϓϦϯΫͷભҠॲཧ }, onCompleted: { [weak self] in guard let strongSelf = self else { return } strongSelf.deferredDeepLinkSubject.onCompleted() strongSelf.deferredDeepLinkCheckpoint.onCompleted() }) .disposed(by: disposeBag) }
  43. $PPLQBE*OD ©︎ ॳճઃఆঢ়گʹԠͨ͡ભҠ  Ϣʔβʔঢ়ଶ΍ෳ਺ܦ࿏͔Βͷྲྀೖʹରͯ͠׆༻Ͱ͖Δ࢓૊Έ private let deferredDeepLinkCheckpoint = PublishSubject<Void>()

    private let deferredDeepLinkSubject: ReplaySubject<URL?> func didFinishTutorial() { deferredDeepLinkCheckpoint.onNext(()) } private func setUpDeferredDeepLinkCheckpoint() { Observable .combineLatest( deferredDeepLinkSubject, deferredDeepLinkCheckpoint ) { deepLink, _ in deepLink } .take(1) .subscribe(onNext: { [environment] deepLink in // σΟϑΝʔυσΟʔϓϦϯΫͷભҠॲཧ }, onCompleted: { [weak self] in guard let strongSelf = self else { return } strongSelf.deferredDeepLinkSubject.onCompleted() strongSelf.deferredDeepLinkCheckpoint.onCompleted() }) .disposed(by: disposeBag) }
  44. $PPLQBE*OD ©︎ ͞·͟·ͳྲྀೖܦ࿏͔ΒͷΞϓϦىಈ 

  45. $PPLQBE*OD ©︎ ଟ༷ͳܦ࿏͔Βͷྲྀೖ ˔ ΞϓϦ಺ͷಛఆͷίϯςϯπΛ։ͨ͘ΊʹɺσΟʔϓϦϯΫΛ༻͍ͯΞϓϦΛ ։ͨ͘Ίͷྲྀೖܦ࿏͕ෳ਺ଘࡏ͢Δ ˓ 6OJWFSTBM-JOLT ˓ %FGFSSFE%FFQ-JOLJOH

    ˓ $VTUPN63-4DIFNF ˓ 1VTI௨஌ ˓ ʜFUD  ͞·͟·ͳྲྀೖܦ࿏͔ΒͷΞϓϦىಈ
  46. $PPLQBE*OD ©︎ ଟ༷ͳܦ࿏͔Βͷྲྀೖ ˔ ΫοΫύουͰΞϓϦͰ͸HJHJOFU$SPTTSPBEΛར༻  ͞·͟·ͳྲྀೖܦ࿏͔ΒͷΞϓϦىಈ ৄ͘͠͸: https://techlife.cookpad.com/entry/2018/06/01/113000

  47. $PPLQBE*OD ©︎ ଟ༷ͳܦ࿏͔Βͷྲྀೖ ˔ ΫοΫύουͰΞϓϦͰ͸HJHJOFU$SPTTSPBEΛར༻  ͞·͟·ͳྲྀೖܦ࿏͔ΒͷΞϓϦىಈ ˓ $SPTTSPBEͰෳ਺-JOL4PVSDFରԠ͕ ͞ΕͨͨΊɺҰͭͷϧʔτఆٛͰଟ༷ͳܦ

    ࿏͔ΒͷྲྀೖʹରԠͰ͖Δ ˓ ΫοΫύουΞϓϦͰ΋ $VTUPN63-4DIFNFछͱ6OJWFSTBM -JOLT 'JSFCBTF%ZOBNJD-JOLT༻ ʹछར ༻͍ͯͯ͠ศར
  48. $PPLQBE*OD ©︎ Ϣʔβʔʹจ຺Λཧղͨ͠ঢ়ଶͷ··ΞϓϦʹ དྷͯ΋Β͏ͨΊʹ׆༻Ͱ͖Δ࢓૊Έ 

  49. $PPLQBE*OD ©︎ ʮϢʔβʔʹจ຺Λཧղͯ͠΋Β͏ʯͷഎܠ  Ϣʔβʔʹจ຺Λཧղͨ͠ঢ়ଶͷ··ΞϓϦʹདྷͯ΋Β͏ͨΊʹ׆༻Ͱ͖Δ࢓૊Έ ˔ ಛʹ৽نϢʔβʔ֫ಘΛ໨తͱͯ͠σΟϑΝʔυσΟʔϓϦϯΫΛར༻͢Δ ࡍɺΞϓϦΠϯετʔϧͷաఔͰͷ཭୤ΛݮΒͤΔͱخ͍͠

  50. $PPLQBE*OD ©︎ 'JSFCBTF%ZOBNJD-JOLTͷϓϨϏϡʔϖʔδͷΧελϚΠζʹ͍ͭͯ  Ϣʔβʔʹจ຺Λཧղͨ͠ঢ়ଶͷ··ΞϓϦʹདྷͯ΋Β͏ͨΊʹ׆༻Ͱ͖Δ࢓૊Έ ˔ 'JSFCBTF%ZOBNJD-JOLTͰΞϓϦΠϯετʔϧ༠ಋΛ͢Δࡍɺ ϓϨϏϡʔϖʔδ͕දࣔ͞ΕΔ

  51. $PPLQBE*OD ©︎ 'JSFCBTF%ZOBNJD-JOLTͷϓϨϏϡʔϖʔδͷΧελϚΠζʹ͍ͭͯ  Ϣʔβʔʹจ຺Λཧղͨ͠ঢ়ଶͷ··ΞϓϦʹདྷͯ΋Β͏ͨΊʹ׆༻Ͱ͖Δ࢓૊Έ ˔ 'JSFCBTF%ZOBNJD-JOLTͷιʔγϟϧϝλλά ύϥϝʔλͷTUɺTEɺTJΛઃఆ͢Δ͜ͱͰɺϓ ϨϏϡʔϖʔδͷΧελϚΠζ͕Ͱ͖Δ

  52. $PPLQBE*OD ©︎ 'JSFCBTF%ZOBNJD-JOLTͷϓϨϏϡʔϖʔδͷΧελϚΠζʹ͍ͭͯ  Ϣʔβʔʹจ຺Λཧղͨ͠ঢ়ଶͷ··ΞϓϦʹདྷͯ΋Β͏ͨΊʹ׆༻Ͱ͖Δ࢓૊Έ ˔ 'JSFCBTF%ZOBNJD-JOLTͷιʔγϟϧϝλλά ύϥϝʔλͷTUɺTEɺTJΛઃఆ͢Δ͜ͱͰɺϓ ϨϏϡʔϖʔδͷΧελϚΠζ͕Ͱ͖Δ ˓

    4/4ʹϦϯΫ͕γΣΞ͞ΕΔΑ͏ͳࢪࡦͰ΋ 0(1ΛΧελϚΠζ͢Δͷʹ׆༻Ͱ͖Δ
  53. $PPLQBE*OD ©︎ "QQ4UPSF$VTUPN1SPEVDU1BHFʹ͍ͭͯ  Ϣʔβʔʹจ຺Λཧղͨ͠ঢ়ଶͷ··ΞϓϦʹདྷͯ΋Β͏ͨΊʹ׆༻Ͱ͖Δ࢓૊Έ ˔ J04͔Βར༻Ͱ͖ΔΑ͏ʹͳͬͨετΞͷ ৽ػೳ ˔ εΫϦʔϯγϣοτɺ"QQϓϨϏϡʔɺϓϩ

    Ϟʔγϣϯ༻ςΩετΛΧελϜͰ͖Δ ˔ ΧελϜϓϩμΫτϖʔδΛ։ͨ͘Ίͷݻ༗ 63-ΛൃߦͰ͖Δ https://developer.apple.com/jp/app-store/custom-product-pages/
  54. $PPLQBE*OD ©︎ 'JSFCBTF%ZOBNJD-JOLTͰ"QQ4UPSF$VTUPN1SPEVDU1BHFΛ࢖͏  Ϣʔβʔʹจ຺Λཧղͨ͠ঢ়ଶͷ··ΞϓϦʹདྷͯ΋Β͏ͨΊʹ׆༻Ͱ͖Δ࢓૊Έ ˔ 'JSFCBTF%ZOBNJD-JOLTΛ࢖͏৔߹ɺʮΞϓϦ͕Πϯετʔϧ͞Εͯͳ͍ ৔߹ͷભҠઌ J f

    ύϥϝʔλ Λઃఆ͢Δ͜ͱͰΧελϜϓϩμΫτϖʔδ Λ։ͨ͘ΊͷQQJEύϥϝʔλ෇͖ͷ"QQ4UPSFϦϯΫΛઃఆͰ͖Δ ˔ ྫ ˓ IUUQTEPNBJOQBHFMJOL MJOLIUUQTEPNBJOOBNF JTJJCJOBNFEPNBJO 
 J fl IUUQTBQQTBQQMFDPNKQBQQJE QQJE%
  55. $PPLQBE*OD ©︎ Ϣʔβʔʹจ຺Λཧղͯ͠΋Β͏  Ϣʔβʔʹจ຺Λཧղͨ͠ঢ়ଶͷ··ΞϓϦʹདྷͯ΋Β͏ͨΊʹ׆༻Ͱ͖Δ࢓૊Έ ˔ "QQ4UPSFͷϓϩμΫτϖʔδ΍'JSFCBTF%ZOBNJD-JOLTͷQSFWJFXϖʔ δΛ࢖ͬͯจ຺Λཧղͯ͠΋Β͏ Before After

  56. $PPLQBE*OD ©︎ 'JSFCBTF%ZOBNJD-JOLTͷϓϨϏϡʔϖʔδͱ J04͔ΒͷσΟϑΝʔυσΟʔϓϦϯΫʹ͍ͭͯ 

  57. $PPLQBE*OD ©︎ 'JSFCBTF%ZOBNJD-JOLTͷϓϨϏϡʔϖʔδʹ͍ͭͯ  Firebase Dynamic LinksͷϓϨϏϡʔϖʔδͱiOS 16͔ΒͷσΟϑΝʔυσΟʔϓϦϯΫʹ͍ͭͯ ˔ 'JSFCBTF%ZOBNJD-JOLTͷϓϨϏϡʔϖʔδ͸εΩοϓ͢Δ͜ͱ͕Մೳ

    ˓ ˞FGSΦϓγϣϯΛ෇͚Δ͜ͱͰεΩοϓ͢Δ͜ͱ͕Մೳ ˔ 'JSFCBTF%ZOBNJD-JOLTͷϓϨϏϡʔϖʔδΛදࣔ͢Δ͜ͱͰɺʮ01&/ʯϘλϯ ͕ԡ͞ΕͨࡍʹϖʔετϘʔυʹμΠφϛοΫϦϯΫ͕อଘ͞ΕɺϖʔετϘʔυʹ ΑΔϦϯΫݕূ͕ߦΘΕΔ ˓ ϖʔετϘʔυΛ༻͍ͨϦϯΫݕূ͕ߦΘΕͳ͍ͷͰσΟϑΝʔυσΟʔϓϦϯ Ϋͷ৴པੑ͕མͪͯਖ਼ৗʹಈ͔ͳ͍৔߹͕͋ΔͷͰ஫ҙ
  58. $PPLQBE*OD ©︎ 'JSFCBTF%ZOBNJD-JOLTͷϓϨϏϡʔϖʔδʹ͍ͭͯ  Firebase Dynamic LinksͷϓϨϏϡʔϖʔδͱiOS 16͔ΒͷσΟϑΝʔυσΟʔϓϦϯΫʹ͍ͭͯ ˔ 'JSFCBTF%ZOBNJD-JOLTͷϦϯΫݕূʹϖʔετ

    Ϙʔυ΁ͷΞΫηε͕ඞཁ ˔ J04͔Β1BTUFCPBSEQFSNJTTJPO͕ಋೖ͞Εͨ ˓ ϓϥΠόγʔอޢͷͨΊʹଞΞϓϦ͔Βίϐʔ ϖʔετ͢Δࡍʹڐ୚͕ඞཁʹͳΔ
  59. $PPLQBE*OD ©︎ J04͔ΒͷσΟϑΝʔυσΟʔϓϦϯΫ  Firebase Dynamic LinksͷϓϨϏϡʔϖʔδͱiOS 16͔ΒͷσΟϑΝʔυσΟʔϓϦϯΫʹ͍ͭͯ ˔ 'JSFCBTF%ZOBNJD-JOLTͷέʔε

    ˓ ϓϨϏϡʔϖʔδΛεΩοϓͨ͠ࡍ͸ϖʔετϘʔυΛར༻͠ͳ͍ ˓ 'JSFCBTF%FFQ-JOL1BTUFCPBSE3FUSJFWBM&OBCMFEΦϓγϣϯΛແޮʹ ͨ͠৔߹ɺϖʔετϘʔυͷಡΈࠐΈ͕ߦΘΕͳ͍ ˔ ิ଍"EKVTUʹ͓͍ͯ͸ϖʔετϘʔυಡΈࠐΈ͸σϑΥϧτͰ͠ͳ͍ ˓ "EKVTUͰಋೖ͞Εͨ-JOL.FΛ࢖͏ࡍ͸ϖʔετϘʔυΞΫηεΛ ߦ͏
  60. $PPLQBE*OD ©︎ J04͔ΒͷσΟϑΝʔυσΟʔϓϦϯΫ ˔ μΠφϛοΫϦϯΫΛԡͨ͠ϢʔβʔͷσόΠε৘ใΛอଘ͓ͯ͠Γɺ 'JSFCBTF4%,͸ॳճىಈ࣌ʹαʔόʹ୺຤৘ใΛૹΔ͜ͱͰɺԡ͞Εͨ Ͱ ͋Ζ͏ μΠφϛοΫϦϯΫΛϨεϙϯεͱͯ͠ฦ٫͢Δ ˓

    ͜ͷࡍʹ୺຤৘ใ͔ΒͰ͸ΞϓϦΠϯετʔϧલʹԡ͞ΕͨϦϯΫΛҰ ҙʹಛఆͰ͖ͳ͍৔߹͕͋Δ ˙ σΟϑΝʔυσΟʔϓϦϯΫ͕ਖ਼͘͠ಈ͔ͳ͍৔߹͕ग़ͯ͘Δ ˙ ΞϓϦͷΠϯετʔϧ਺͕աখධՁ͞ΕΔ  Firebase Dynamic LinksͷϓϨϏϡʔϖʔδͱiOS 16͔ΒͷσΟϑΝʔυσΟʔϓϦϯΫʹ͍ͭͯ
  61. $PPLQBE*OD ©︎ J04͔ΒͷσΟϑΝʔυσΟʔϓϦϯΫ ˔ ϖʔετϘʔυʹμΠφϛοΫϦϯΫ͕อଘ͞Ε͍ͯΕ͹ɺαʔόʹϦΫΤ ετ͢Δࡍʹύϥϝʔλͱͯ͠Ұॹʹૹ৴͞Εͯɺਫ਼౓ߴ͍ϨεϙϯεΛಘ ΒΕΔɻ৴པੑͷ୲อʹར༻͞Ε͍ͯΔ ˔ ʮը໘ભҠ΍ܭଌͷਖ਼֬ੑʯͱʮϖʔετϘʔυύʔϛογϣϯΛදࣔ͢Δ ͜ͱʹΑͬͯൃੜ͢Δ཭୤ʯͷτϨʔυΦϑʹͳΓͦ͏

     Firebase Dynamic LinksͷϓϨϏϡʔϖʔδͱiOS 16͔ΒͷσΟϑΝʔυσΟʔϓϦϯΫʹ͍ͭͯ
  62. $PPLQBE*OD ©︎ ࢪࡦ΁ͷద༻ 

  63. $PPLQBE*OD ©︎ έʔεελσΟൢଅΩϟϯϖʔϯ ˔ ൢଅΩϟϯϖʔϯ ˓ ྫ ΩϟϯϖʔϯྲྀೖϢʔβʔͷ$73 ΍$1" ʹର͢Δ-57

    ܭଌΛߦ͍͍ͨ  ࢪࡦ΁ͷద༻ *CVR(ίϯόʔδϣϯ཰): ໨తߦಈΛͯ͘͠Ε͔ͨΛଌΔࢦඪ *CPA(֫ಘ֫ಘ୯Ձ): ৽نϢʔβʔ֫ಘͷͨΊʹ͔͔ͬͨඅ༻ *LTV(ސ٬ੜ֔Ձ஋): Ϣʔβʔ͕ΞϓϦʹͲΕ͚ͩͷརӹΛ΋ͨΒ͔͢Λද͢΋ͷ
  64. $PPLQBE*OD ©︎ 'JSFCBTF%ZOBNJD-JOLTΛ׆༻͢Δ ˔ 'JSFCBTFίϯιʔϧͰੜ੒͞Εͨ%ZOBNJD-JOL ◦ Firebaseίϯιʔϧ্ͰΫϦοΫ਺΍Πϯετʔϧ਺ͳͲͷύϑΥʔϚϯ εΛ֬ೝͰ͖Δ ◦ Firebase

    AnalyticsͰऔಘͨ͠ϩάͱ෇͖߹ΘͤͯLTVܭଌ  ࢪࡦ΁ͷద༻ - ൢଅΩϟϯϖʔϯ
  65. $PPLQBE*OD ©︎ 'JSFCBTF%ZOBNJD-JOLTΛ׆༻͢Δ  ࢪࡦ΁ͷద༻ - ൢଅΩϟϯϖʔϯ Ҿ༻: https://developers-jp.googleblog.com/2017/10/whats-new-with-firebase-dynamic-links.html

  66. $PPLQBE*OD ©︎ ΑΓৄ͘͠ܭଌ͍ͨ͠৔߹  ࢪࡦ΁ͷద༻ - ൢଅΩϟϯϖʔϯ ˔ J5VOFT$POOFDU"QQ"OBMZUJDT$BNQBJHO(PPHMF"OBMZUJDT$VTUPN $BNQBJHOΛར༻͢Δ

    ˓ (PPHMF1MBZJ5VOFT$POOFDUͷղੳ༻ύϥϝʔλΛઃఆ͢Δ ొஃ࣌͸εϥΠυεΩοϓ͠·͢
  67. $PPLQBE*OD ©︎ μΠφϛοΫϦϯΫʹΧελϜύϥϝʔλΛ෇༩ͯ͠ΞϓϦଆͰϋϯυϦϯά ˔ μΠφϛοΫϦϯΫΛར༻ͯ͠ΞϓϦଆͰྲྀೖݩΛ൑ผ͍ͨ͠৔߹ʹɺΧε λϜύϥϝʔλΛ෇༩ͯ͠ΞϓϦଆͰϋϯυϦϯά͢Δͷ΋༗ޮ • https://customdomain.page.link/?link=https:// yourdomain.name?custom_parameter=:value&ibi=:custom_scheme&isi=:app store_id

    ˓ ͜ͷΑ͏ͳܗࣜͰμΠφϛοΫϦϯΫΛ૊ΈཱͯΔͱΞϓϦଆͰ IUUQTZPVSEPNBJOOBNF DVTUPN@QBSBNFUFSWBMVFͷܗࣜͰσΟ ʔϓϦϯΫ63-͕ड͚औΕΔͷͰDVTUPN@QBSBNFUFSͷ஋Λ΋ͱʹϩ άૹ৴ͳͲΛߦ͏  ࢪࡦ΁ͷద༻ - ൢଅΩϟϯϖʔϯ
  68. $PPLQBE*OD ©︎ "EKVTUΛ׆༻͢Δ  ࢪࡦ΁ͷద༻ - ൢଅΩϟϯϖʔϯ ˔ "EKVTUͰੜ੒͞ΕͨτϥοΧʔ෇͖ϦϯΫ ˓

    ΞϓϦʹ࣮૷͞ΕͨFWFOUUSBDLFSͱ૊Έ߹ΘͤΔ͜ͱͰΩϟϯϖʔϯʹ Αͬͯྲྀೖͨ͠Ϣʔβʔͷ-57΍ίϗʔτΛμογϡϘʔυ্ͰݟΕΔ ˓ ֤छ޿ࠂϓϥοτϑΥʔϜͱ࿈ܞ͢Δ͜ͱͰϢʔβʔηάϝϯτΛઃఆ ͨ͠Γ͢Δ͜ͱ΋Մೳ
  69. $PPLQBE*OD ©︎ "EKVTUΛ׆༻͢Δ  ࢪࡦ΁ͷద༻ - ൢଅΩϟϯϖʔϯ Ҿ༻: https://www.adjust.com/ja/product/adjust-dashboard/ ొஃ࣌͸εϥΠυεΩοϓ͠·͢

  70. $PPLQBE*OD ©︎ έʔεελσΟ༑ୡট଴ ˔ ༑ୡট଴ ˓ Ϣʔβʔ͕༑ୡΛট଴Ͱ͖ΔΑ͏ ʹɺট଴༻ϦϯΫΛੜ੒͍ͨ͠  ࢪࡦ΁ͷద༻

  71. $PPLQBE*OD ©︎ έʔεελσΟ༑ୡট଴ ˔ ༑ୡট଴ ˓ Ϣʔβʔ͕༑ୡΛট଴Ͱ͖ΔΑ͏ʹট଴ϦϯΫΛੜ੒ ˓ 'JSFCBTF%ZOBNJD-JOLT"EKVTU ˙

    ύϥϝʔλΛ෇༩͢Δ͜ͱͰಈతϦϯΫੜ੒Ͱ͖Δ͕ɺଞϢʔβʔʹ ରͯ͠4/4΍ϝοηʔδϯάΞϓϦ౳Ͱڞ༗͞ΕΔ͜ͱ͕༧૝͞Ε ΔͨΊɺ௕͗͢ΔϦϯΫ͸ආ͚͍ͨ  ࢪࡦ΁ͷద༻ - ༑ୡট଴
  72. $PPLQBE*OD ©︎ 'JSFCBTF%ZOBNJD-JOLT#VJMEFSΛ׆༻͢Δ ˔ 'JSFCBTF%ZOBNJD-JOLT#VJMEFS ˓ ΞϓϦͰࢦఆͨ͠ύϥϝʔλΛར༻ͯ͠ ୹ॖ63- ୹͍μΠφϛοΫϦϯ ΫൃߦͰ͖Δ

    ˙ ˞'JSFCBTFίϯιʔϧͰੜ੒͞ΕΔΑ͏ͳܗ͕ࣜͩɺ'JSFCBTFίϯ ιʔϧͷҰཡʹ͸ग़ͯ͜ͳ͍ ˙ IUUQTDPOTPMF fi SFCBTFHPPHMFDPNQSPKFDUQSPKFDU@OBNF EVSBCMFMJOLTEFUBJMTEZOBNJD@MJOLʹ௚઀ΞΫηε͢Δ͜ͱͰϦϯ Ϋৄࡉϖʔδʹ͸ඈ΂Δ ˓ ΫϦοΫ਺΍Πϯετʔϧ਺ͳͲ͸ίϯιʔϧͰݟΕͳ͍ͷͰɺ3&45"1*͔ΒݟΔ ͜ͱʹͳΔ  ࢪࡦ΁ͷద༻ - ༑ୡট଴
  73. $PPLQBE*OD ©︎ ·ͱΊ 

  74. $PPLQBE*OD ©︎ ·ͱΊ ˔ σΟʔϓϦϯΫΛ࣮ݱ͢ΔͨΊͷػೳ ˓ 6OJWFSTBM-JOLT$VTUPN63-4DIFNF ˔ Πϯετʔϧঢ়گʹدΒͳ͍ϦϯΫੜ੒ ˓

    σΟϑΝʔυσΟʔϓϦϯΫ ˔ σΟʔϓϦϯΫΛखܰʹར༻Ͱ͖ΔΑ͏ʹ͢ΔͨΊͷαʔϏε ˓ 'JSFCBTF%ZOBNJD-JOLT"EKVTUͳͲ ˔ ϓϨϏϡʔϖʔδ΍ετΞϖʔδΛΩϟϯϖʔϯ༻ʹΧελϚΠζ͢Δ͜ͱͰϢ ʔβʔʹจ຺Λҙࣝ͠ଓ͚ͯ΋Β͑Δ ˔ ࢪࡦ࣮ࢪͷࡍʹ'JSFCBTF%ZOBNJD-JOLT΍"EKVTUΛ࢖͏͜ͱͰࢪࡦ෼ੳʹ΋׆ ༻Ͱ͖Δ 
  75. $PPLQBE*OD ©︎  https://cookpad.connpass.com/event/254459/

  76. $PPLQBE*OD ©︎