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

Look Back Over Deep Links

Look Back Over Deep Links

Look Back Over Deep Links - The state of Deep Links 2023 Early

Shibuya.apk #42 https://shibuya-apk.connpass.com/event/283427/ の発表資料です。

Matsuda Jumpei

May 26, 2023
Tweet

More Decks by Matsuda Jumpei

Other Decks in Programming

Transcript

  1. 4IJCVZBBQL3FQPSUGSPN(PPHMF*0+VNQFJ.BUTVEB !SFE@GBU@EBSVNB

    -PPL#BDL0WFS%FFQ-JOLT
    5IFTUBUFPG%FFQ-JOLT&BSMZ

    View full-size slide

  2. 4VNNBSJFTPGUXPTFTTJPOTGSPN(PPHMF*0
    2
    https://io.google/2023/program/88287c91-2ece-4364-8f77-976452c37b77/ https://io.google/2023/program/7a2f7209-f82e-44c6-a9a6-661f3d4e97dc/

    View full-size slide

  3. 0QUJNJ[FBQQFYQFSJFODFTXJUIEFFQMJOLJOH
    w %FFQ-JOLT͸.PCJMFXFCαΠτʹൺ΂ɺϏδωεΠϯύΫτ͕େ͖͍
    3
    https://io.google/2023/program/88287c91-2ece-4364-8f77-976452c37b77/

    View full-size slide

  4. 0QUJNJ[FBQQFYQFSJFODFTXJUIEFFQMJOLJOH
    w 1MBZ$POTPMFͷ%FFQ-JOLTϖʔδ͕ڧԽ
    w *TTVFݕ஌ɾमਖ਼ิॿ΍%FFQ-JOLTͷΧόϨοδͳͲ͕දࣔ͞ΕΔΑ͏ʹ
    w "ETΩϟϯϖʔϯͷ%FFQ-JOLT཰ɺ%FFQ-JOLTީิ63-ͷਪનFUD
    4
    https://io.google/2023/program/88287c91-2ece-4364-8f77-976452c37b77/

    View full-size slide

  5. 0QUJNJ[FBQQFYQFSJFODFTXJUIEFFQMJOLJOH
    w (PPHMF"ETʹ%FFQMJOLWBMJEBUPS͕ಋೖ J04΋ରԠ

    5
    https://io.google/2023/program/88287c91-2ece-4364-8f77-976452c37b77/

    View full-size slide

  6. %FFQMJOLJOHJO'MVUUFS
    w 'MVUUFSͰ%FFQ-JOLTΛѻ͏ͱ͖ʹศརͳ(P3PVUFSͱಋೖํ๏ͷ঺հ
    w OBWJHBUJPODPNQPTFͷΑ͏ʹએݴతʹهड़ͯ͠ϧʔςΟϯά͢Δ
    6
    https://io.google/2023/program/7a2f7209-f82e-44c6-a9a6-661f3d4e97dc/

    View full-size slide

  7. Ҏ্Ͱ͢
    ᐛ👐
    ύΝ
    7

    View full-size slide

  8. ᐛ👐
    ύΝ
    ӕͩΑ
    8

    View full-size slide

  9. %FFQ-JOLTͱ͍͑͹'JSFCBTF%ZOBNJD-JOLT
    w ୹ॖ63-ͷΊͬͪΌศརͳ؅ཧπʔϧ
    w ൃߦͨ͠63-ͷ޲͖ઌΛࣗ༝ʹுସ͑Ͱ͖ΔFUD
    w %FFQ-JOLTͱ૊Έ߹ΘͤΔ͜ͱͰॊೈͳίϯςϯπఏڙ͕Մೳʹ
    w ͱ͜Ζ͕ɾɾɾ
    9

    View full-size slide

  10. 10
    https://console.
    fi
    rebase.google.com/project//durablelinks

    View full-size slide

  11. ಥવͷ'JSFCBTF%ZOBNJD-JOLTҾୀએݴ
    w (PPHMF*0Ͱ%ZOBNJD-JOLTͷ୅ସػೳͷൃද͸ͳ͔ͬͨ
    w 2
    ຤ʹ৽ͨͳ৘ใ͕߱ͬͯ͘Δ༧ఆ
    w ࠓͷΞφ΢ϯεΛ৴͡ΔͳΒ͋ͱϲ݄͸࢖͑ΔΑ͏͚ͩͲɾɾɾ
    w %FFQ-JOLTͷ࢓૊ΈΛཧղ͢ΔͳΒࠓͷ͏ͪ
    w ࠷ۙͷηογϣϯ͸ʮ%FFQ-JOLTͱ͍͑͹"QQ-JOLTʯͰ࿩͕ਐΉ
    w %FFQ-JOLT㱩"QQ-JOLTͰ͋Γɺ"QQ-JOLT͕ͳͥྑ͍͔Λཧղ͢Δ
    11

    View full-size slide

  12. %FFQ-JOLTͱ͸
    w ϢʔβʔΛΞϓϦίϯςϯπʹ௚઀ΞΫηεͤ͞Δ63-ͷ૯শ
    w 04΍ͦͷ63-ͷछྨʹΑͬͯ۠෼͞ΕΔ
    w ࣗવͳΞϓϦىಈΑΓ΋69͕Α͘ɺϏδωεΠϯύΫτ͕େ͖͍
    w FHػೳʹ௚઀༠ಋͰ͖ΔͨΊɺ཭୤཰͕௿͘ͳΓ΍͍͢
    w ΞϓϦىಈͷಛੑ্ɺηΩϡϦςΟ΍อकੑʹؔ͢Δߟྀ͕ඞཁ
    w "OESPJEͷ৔߹ɺϚχϑΣετϑΝΠϧʹهड़͢Δ*OUFOU'JMUFSͰ؅ཧ͞ΕΔ
    12

    View full-size slide

  13. %FFQ-JOLTͷͨΊͷ*OUFOU'JMUFSೖ໳
    w *OUFOU'JMUFS"DUJWJUZ΍4FSWJDFΛىಈ͢Δ*OUFOU͕ຬͨ͢΂͖৚݅ఆٛ
    w %FFQ-JOLTͷ৔߹ɺ"DUJPO΍ΧςΰϦɺFYQPSUଐੑ͸ϘΠϥʔϓϨʔτ
    13

    View full-size slide

  14. %FFQ-JOLTͷͨΊͷ*OUFOU'JMUFSೖ໳
    w EBUBλά͸ෳ਺ࢦఆ࣌ʹ૊Έ߹ΘͤͰܭࢉ͞ΕΔ
    w BECͰඞͣ֬ೝ͢Δ͜ͱ
    14

    View full-size slide

  15. %FFQ-JOLTͷͨΊͷ*OUFOU'JMUFSೖ໳
    w ෳ਺ͷΞϓϦ͕ಉ͡63-Λ։͘*OUFOU'JMUFSΛઃఆͰ͖ͯ͠·͏
    w ͋Δ63-ΛTFBNMFTTʹ։͚ΔΞϓϦ EFGBVMUIBOEMFS
    ͸͚ͨͩͭͩ
    w ࣗ෼ͷΞϓϦ͕EFGBVMUIBOEMFSˠTFBNMFTTʹ։͚Δ
    w ผͷΞϓϦ͕EFGBVMUIBOEMFSˠผΞϓϦ͕։͘ ݕ஌ෆՄ

    w EFGBVMUIBOEMFS͕ઃఆ͞Εͯͳ͍ˠબ୒μΠΞϩά͕දࣔ͞ΕΔ
    w ѱҙ͋Δୈࡾऀ͕͍ͳͯ͘΋؇͗͢Δ*OUFOU'JMUFSʹ͢΂͖Ͱͳ͍
    w EFGBVMUIBOEMFSͷઃఆ͠௚͠͸தʑʹେม
    15

    View full-size slide

  16. 16
    iOS Android
    ݱࡏͷ%FFQ-JOLT

    View full-size slide

  17. 17
    w ݱࡏɺશͯͷ"1*Ͱಈ࡞͢Δ
    w υϝΠϯݕূʹ४ͣΔ࢓૊Έ͕ͳ͍
    w ೚ҙͷΞϓϦ͕ϋΠδϟοΫՄೳ
    w ΠϯετʔϧࡁΈΞϓϦ͕ඞਢ
    w 🙅ϒϥ΢βͰ΋։͚ͳ͍
    $VTUPN63-4DIFNF
    Ϣʔβʔ͕ࣗ༝ʹఆٛͨ͠εΩʔϜͷURL
    ://[:][/]
    e.g. custom://shibuya.apk/42

    View full-size slide

  18. 18
    http[s]://fi
    ed host>[:][/]
    e.g. https://shibuya-apk.test:42/red_fat_daruma
    w "OESPJEҎ্Ͱར༻Մೳ
    w Πϯετʔϧ࣌ʹEFGBVMUIBOEMFSԽ
    w υϝΠϯݕূ͕ඞਢ
    w ϋΠδϟοΫʹରͯ͠ڧ͍
    w 8FCΛ࢖ͬͨϑΥʔϧόοΫ͕Մೳ
    "OESPJE"QQ-JOLT
    υϝΠϯݕূࡁΈ(= ॴ༗ऀ֬ೝࡁΈ)ͷhttp/https URL

    View full-size slide

  19. http[s]://[:][/]
    e.g. shibuya-apk.test:42/red_fat_daruma
    8FC-JOLT
    υϝΠϯݕূΛ͍ͯ͠ͳ͍http/https URL
    w "QQ-JOLTҎ֎ͷIUUQIUUQT63-
    w "OESPJE͔Βϒϥ΢βىಈ͕֬ఆ
    w ͦΕະຬͩͱબ୒μΠΞϩά͕ग़Δ
    w 8FCΛ࢖ͬͨϑΥʔϧόοΫ͕Մೳ
    19

    View full-size slide

  20. Ͳͷ%FFQ-JOLTΛબͿ΂͖͔
    w υϝΠϯݕূ͕ඞਢͳ"QQ-JOLTҰ୒ J04Ͱ͸6OJWFSTBM-JOLT

    w ͨͩ͠"OESPJEະຬͰ͸8FC-JOLTʹͳΔ͜ͱΛߟྀ͢Δ
    w $VTUPN63-4DIFNF͸ηΩϡϦςΟӠʑҎલʹ࢖͍উख͕ѱ͍
    w ϑΥʔϧόοΫͮ͠Β͍ɺϝοηʔδΞϓϦ౳Ͱ$MJDLBCMFʹͳΒͳ͍FUD
    w ಛघTDIFNF͸Ұ෦ͷ༻్Ͱ࢖͏৔߹͕͋Δ
    w JOUFOUTDIFNF04Ͱ͸ͳ͘$ISPNFͷ࢓༷ ֤छϒϥ΢β͸௥ै

    w BOESPJEBQQTDIFNF"1*͔Βग़ͨJOUFOUTDIFNFͷछ
    w DPOUFOUTDIFNF$POUFOU1SPWJEFSͷ63-TDIFNF
    20

    View full-size slide

  21. "QQ-JOLTͷͨΊͷઃఆΞϓϦଆ
    w JOUFOU
    fi
    MUFSBVUP7FSJGZUSVFΛઃఆ͢Δ
    w IUUQIUUQT EBUBTDIFNF
    ͱॴ༗υϝΠϯ EBUBIPTU
    Λઃఆ͢Δ
    w ΞϓϦͷॺ໊৘ใΛूΊ͓ͯ͘
    w ຊ൪͸΋ͪΖΜɺ։ൃ൛΋ඞཁʹͳΔ
    w ಛʹ'JSFCBTF"QQ%JTUSJCVUJPO΍%FQMPZ(BUFΛར༻͍ͯ͠Δ৔߹ʹ஫ҙ
    21

    View full-size slide

  22. "QQ-JOLTͷͨΊͷઃఆ8FCଆ
    w IUUQTॴ༗ αϒ
    υϝΠϯXFMMLOPXOBTTFUMJOLTKTPOΛ༻ҙ͢Δ
    w ϦμΠϨΫτ͸ղܾ͞Εͳ͍ͷͰ஫ҙ
    w ύοέʔδ໊ͱॺ໊ͷ4)" େจࣈʂ
    ΛຒΊΔ
    22

    View full-size slide

  23. "QQ-JOLTͷ֬ೝํ๏ࠓ·Ͱ
    w "OESPJE "1*
    Ҏ্͕λʔήοτ4%,ͷͱ͖
    w "%#ʹΑΔखಈ֬ೝ ઐ༻ίϚϯυ
    ͕Մೳ
    w ͦΕະຬͷͱ͖
    w *OUFOU΍ϦϯΫΛ࣮ࡍʹ౿ΜͰνΣοΫ͢Δ
    23
    https://developer.android.com/training/app-links/verify-android-applinks

    View full-size slide

  24. "QQ-JOLTͷ֬ೝํ๏͜Ε͔Β
    w 1MBZ$POTPMFͷ%FFQ-JOLTػೳͰଈ࣌֬ೝ͕Մೳʹ
    w "OESPJEJ04ͲͪΒ΋֬ೝ͍ͨ͠৔߹͸"ETͷ%FFQMJOLWBMJEBUPSΛ࢖͏
    w ΋ͪΖΜ"%#ʹΑΔ֬ೝํ๏΋ݱ໾ͷ··
    24
    https://io.google/2023/program/88287c91-2ece-4364-8f77-976452c37b77/
    https://play.google.com/console/u/0/developers//app//deeplinks

    View full-size slide

  25. "QQ-JOLTͷ஫ҙ఺
    w ෳ਺ͷIPTUΛఆ͍ٛͯ͠Δͱ͖͸ؾΛ͚ͭΔ͜ͱ
    w "OESPJEҎԼͰ͸શͯͷIPTUͰυϝΠϯݕূ͕੒ޭ͠ͳ͚Ε͹͍͚ͳ͍
    w "OESPJEҎ্Ͱ͸IPTU͝ͱʹݕূ͕੒ޭ͢Δ
    w "OESPJEҎԼͰͷ֬ೝͷํ͕TUSJDUʹৼΔ෣͏ͷͰΦεεϝ
    w υϝΠϯΛख์͞ͳ͍Α͏ʹ
    w ෳ਺࣋ͪͷͱ͖ɺ͕ࣦͭޮ͢Δͱ"OESPJEҎԼͰಈ͔ͳ͘ͳΔ
    25

    View full-size slide

  26. ͞Βʹ΍͓ͬͯ͘ͱ͍͍͜ͱ
    w 8FC-JOLTͷߟྀͱͯ͠ɺΞϓϦͰ։ͨ͘ΊͷϘλϯΛઃஔ͢ΔͱΑ͍
    w ͜ͷ৔߹ͷΈɺJOUFOUBOESPJEBQQTDIFNFΛར༻͢Δ
    w %PNBJO7FSJ
    fi
    DBUJPO.BOBHFS"1*ͰυϝΠϯݕূͷঢ়ଶΛऩू͓ͯ͘͠
    26
    https://developer.android.com/training/app-links/verify-android-applinks

    View full-size slide

  27. ·ͱΊ
    w υϝΠϯݕূ͕ඞਢͳ"QQ-JOLTΛ࢖͏ J04Ͱ͸6OJWFSTBM-JOLT

    w ಈ࡞ݕূʹ͸"%#΍1MBZ$POTPMFɺ(PPHMF"ETͷػೳ͕࢖͑Δ
    w 04όʔδϣϯʹΑΔಈ࡞ࠩҟ͕͋ΔͷͰؾΛ͚ͭΑ͏
    w "OESPJEະຬ͸੾Δ8FC-JOLTΛߟྀ͢Δ
    w $VTUPN63-4DIFNF͸"QQ-JOLTʹҠߦ͢Δ
    w 'JSFCBTF%ZOBNJD-JOLT͠Εͬͱੜ͖࢒ͬͯ͘ΕཔΉ
    27

    View full-size slide

  28. 3FGFSFODFT%PDVNFOUBUJPOT
    w "QQ-JOLTBOEPUIFSEFFQMJOLT
    w IUUQTEFWFMPQFSBOESPJEDPNUSBJOJOHBQQMJOLT
    w 7FSJGZ"QQ-JOLT
    w IUUQTEFWFMPQFSBOESPJEDPNUSBJOJOHBQQMJOLTWFSJGZBOESPJE
    BQQMJOLT
    w %JHJUBM"TFFU-JOLT
    w IUUQTEFWFMPQFSTHPPHMFDPNEJHJUBMBTTFUMJOLTWHFUUJOHTUBSUFE
    28

    View full-size slide

  29. 3FGFSFODFT5PPMT
    w "QQ-JOLT"TTJTUBOU
    w IUUQTEFWFMPQFSBOESPJEDPNTUVEJPXSJUFBQQMJOLJOEFYJOH
    w 4UBUFNFOU-JTU(FOFSBUPSBOE5FTUFS
    w IUUQTEFWFMPQFSTHPPHMFDPNEJHJUBMBTTFUMJOLTUPPMTHFOFSBUPS
    w (PPHMF"ET%FFQMJOLWBMJEBUPS
    w IUUQTBETHPPHMFDPNBXBQQBEWFSUJTJOHIVCXFCUPBQQDPOOFDU
    29

    View full-size slide

  30. 3FGFSFODFT0UIFS
    w 0QUJNJ[FBQQFYQFSJFODFTXJUIEFFQMJOLJOH
    w IUUQTJPHPPHMFQSPHSBN
    DFDFGDC
    w %FFQMJOLJOHJO'MVUUFS
    w IUUQTJPHPPHMFQSPHSBNBGGFD
    BBGEFED
    30

    View full-size slide