Slide 1

Slide 1 text

@potatochips #68 2020/02/12 ະ஌ͷੈք App Transfer

Slide 2

Slide 2 text

- Yusuke Kuroiwa - wakinchan - ͖ΜͪΌΜɻ - neuetגࣜձࣾ / גࣜձࣾϝϧΧϦ - iOS Engineer, Frontend, ଞॾʑ - Twitter @wa_kinchan - GitHub @wakinchan Who?

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Image 1. ձࣾ֓ཁ 2. App Transfer֓ཁ 3. ҙࣝ͢Δ͜ͱ 4. ஫ҙ͢Δ͜ͱ / ΍ͬͯΈͯ 5. ެࣜυΩϡϝϯτͱҧͬͨ͜ͱ 6. ·ͱΊ ໨࣍ 4

Slide 5

Slide 5 text

1. ձࣾ֓ཁ

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

ӡӦձࣾ neuetגࣜձࣾ ຊࣾ ౦ژ౎ߓ۠ຑ෍୆1-7-2 ໾һମ੍ Ոຊ ݡଠ࿠ দຊ ཾ༞ ݩϝϧϖΠCPO, ඇৗۈ ௕୩઒ େี ΫϥϥΦϯϥΠϯCFO, ඇৗۈ גओ גࣜձࣾΫϥϥΦϯϥΠϯ גࣜձࣾϝϧΧϦ ϝϧνϟϦ͸ɺ2019೥7݄26೔ΑΓ ӡӦձ͕ࣾ neuetגࣜձࣾ ʹͳΓ·ͨ͠ɻ ӡӦओମ͕ neuetגࣜձࣾ ʹ

Slide 8

Slide 8 text

ϝϧνϟϦࣄۀ͸ɺΫϥϥΦϯϥΠϯɾϝϧΧϦɾneuet ͕ Ұମͱͳͬͯల։͍ͯ͠·͢ɻ ϝϧΧϦ (ҎԼ Aࣾ) ΫϥϥΦϯϥΠϯ neuet (ҎԼ Bࣾ) ࡾ͕ࣾҰମͱͳͬͯࣄۀల։

Slide 9

Slide 9 text

2. App Transfer ֓ཁ

Slide 10

Slide 10 text

App Λผͷσϕϩούʹച٫͢Δ৔߹ɺ·ͨ͸ผͷ App Store Connect ΞΧ΢ϯτ΍૊৫ʹҠߦ͢Δ৔߹ɺͦͷ App Λৡ౉͠·͢ɻ ͜ΕʹΑΓɺApp Store ͔Β App Λ࡟আͤͣʹɺผͷσϕϩούʹ App ͷॴ༗ݖΛҠ͢͜ͱ͕Ͱ͖·͢ɻApp ͸ৡ౉ த΍ৡ౉ޙ΋͜Ε·ͰͷΧελϚʔϨϏϡʔͱධՁΛอ࣋͠ଓ͚ɺϢʔβ͸ࠓޙ͋ΔΞοϓσʔτ΁΋ΞΫηε͢Δ͜ͱ ͕Ͱ͖·͢ɻ·ͨɺApp ͷϏϧυ͕Ξοϓϩʔυ͞Εͨޙʹόϯυϧ ID Λมߋ͢Δ͜ͱ͸Ͱ͖ͳ͍ͨΊɺApp ͕ৡ౉ ͞Εͨޙ΋ͦͷόϯυϧ ID ͸อ࣋͞Ε·͢ɻ App Transfer ͷ֓ཁ https://help.apple.com/app-store-connect/#/deved688524f

Slide 11

Slide 11 text

εςοϓ 1ɿApp ͕ৡ౉ՄೳͰ͋Δ͜ͱΛ֬ೝ͢Δ εςοϓ 2ɿ͢΂ͯͷ App ৘ใͷόοΫΞοϓΛऔΔ εςοϓ 3ɿApp ͷৡ౉Λ։࢝͢Δ εςοϓ 4ɿApp ͷৡ౉Λঝ୚͢Δ App Transfer ͷखॱ https://help.apple.com/app-store-connect/#/deved688524f

Slide 12

Slide 12 text

3. ҙࣝ͢Δ͜ͱ

Slide 13

Slide 13 text

3ͭͷঢ়ଶͷΞϓϦ͕ଘࡏ͢Δ͜ͱʹͳΔ ͜ΕΛҙࣝ͢Δ͜ͱ͕େࣄͰɺࣄલʹ࡞ۀΛ੔ཧ͢Δඞཁ͕͋Δ 1. App: Aࣾͷূ໌ॻ, App StoreͱAPNs (AppleͷόοΫΤϯυؚΉ): Aࣾ a. App Transfer લ 2. App: Aࣾͷূ໌ॻ, App StoreͱAPNs (AppleͷόοΫΤϯυؚΉ): Bࣾ a. App Transfer ޙɺॳΊͯͷΞϓϦϦϦʔεΛߦ͏·Ͱͷؒ 3. App: Bࣾͷূ໌ॻ, App StoreͱAPNs (AppleͷόοΫΤϯυؚΉ): Bࣾ a. App Transfer ޙɺॳΊͯͷΞϓϦϦϦʔεΛߦͬͨ͋ͱ App Transfer ʹ͓͚ΔΞϓϦͷঢ়ଶ 1 ॳΊͯͷΞϓϦϦϦʔε 2 3 App Transfer ࣮ߦ

Slide 14

Slide 14 text

- υΩϡϝϯτʹ͸໌ه͞Εͯͳ͍Ͱ͕͢ɺTeam ID ͕มΘΔͷͰɺӨڹൣғͷચ͍ग़͓͘͠ඞཁ͕͋Δ - Ͳ͜ʹӨڹ͕͋Δ? - Web Credentials - Firebase Dynamic Links (App Links) - Firebase Cloud Messaging - ϝϧνϟϦͷ৔߹ɺ্ه͚͕ͩͩͬͨɺଞʹ΋͋Δ͔΋? Team ID ͷӨڹൣғͷચ͍ग़͠

Slide 15

Slide 15 text

4. ஫ҙ͢Δ͜ͱ ΍ͬͯΈͯ

Slide 16

Slide 16 text

TsetFlight ϕʔλ൛ͷςετΛΦϑʹ App ͷ͢΂ͯͷϕʔλ൛Ͱ TestFlight ϕʔλ൛ςετ͕ΦϑͰ͋Δ͜ͱɻ ϋΠίϯςΫετͰ͕͢ɺԼهͷૢ࡞Λҙຯ͍ͯ͠·͢ - ͢΂ͯͷϏϧυͷʮϏϧυΛظݶ੾Εʹ͢ΔʯΛ͢Δ - ͢΂ͯͷςελʔΛ࡟আ͢Δ - άϧʔϓΛ࡟আ͢Δ https://help.apple.com/app-store-connect/#/deved688524f

Slide 17

Slide 17 text

ΩʔνΣʔϯͷڞ༗͸ɺApp ͷΞοϓσʔτ·Ͱ͸ͦͷ··ಈ࡞͠·͕͢ɺΞοϓσʔτ͞ΕΔͱແޮʹͳΓ·͢ɻͦͷͨΊɺΞοϓ σʔτΛఏग़͢Δࡍ͸ɺΩʔνΣʔϯΛ࠶ߏங͢Δඞཁ͕͋Γ·͢ɻXcode ϓϩδΣΫτͰΩʔνΣʔϯάϧʔϓ͕ఆٛ͞Ε͍ͯΔ৔ ߹ɺΩʔνΣʔϯڞ༗ͷ࢖༻Λܧଓ͢Δʹ͸ɺडऔਓ͕࡞੒ͨ͠ʢडऔਓͷ Team ID ΛؚΉʣΩʔνΣʔϯάϧʔϓͱஔ͖׵͑Δඞཁ ͕͋Γ·͢ɻϢʔβ͕ App ΛΞοϓσʔτ͢ΔͱɺΩʔνΣʔϯʹೝূτʔΫϯ͕ݟ͔ͭΒͳ͘ͳΓɺ࠶ϩάΠϯΛٻΊΒΕ·͢ɻ ঢ়ଶ2ͷΞϓϦ͔Βɺঢ়ଶ3ͷΞϓϦʹΞοϓσʔτ͢ΔࡍΩʔνΣʔϯ͕࡟আ͞ΕͨΑ͏ʹΈ͑Δ ΩʔνΣʔϯ্͸࢒͍ͬͯΔ͕ɺࢀর͕Ͱ͖ͳ͍͚ͩ ΩʔνΣʔϯڞ༗ App https://help.apple.com/app-store-connect/#/deved688524f

Slide 18

Slide 18 text

ΩʔνΣʔϯڞ༗ - AࣾͷϩάΠϯΛ࣮ݱ͢ΔͨΊɺAࣾͱڞ௨ͷΩʔνΣʔϯڞ༗Λར༻͍ͯ͠Δ - AࣾͷϩάΠϯΛഇࢭͯ͠ɺಠࣗͷBࣾಠࣗͷΞΧ΢ϯτ΁ͷҠߦظؒͰ͋ͬͨ - ·ͨɺΞΧ΢ϯτҠߦΛߦ͏ͨΊʹɺAࣾϩάΠϯΛҡ࣋ඞཁ͕͋ͬͨ - ϩάΠϯঢ়ଶΛҡ࣋͢Δʹ͸? - App TransferલʹUserDefaultsʹΩʔνΣʔϯ৘ใΛ҉߸Խͯ͠อଘ͢Δ - ঢ়ଶ2ͷΞϓϦ͔Βɺঢ়ଶ3ͷΞϓϦʹΞοϓσʔτ͢Δͱ͖෮ݩ͢Δ - ͰɺͳΜͱ͔Ͱ͖Δ - ಠஅͰ͢͢ΊΔͷͰ͸ͳ͘ɺηΩϡϦςΟνʔϜ͍ΔͷͰ͋Ε͹ɺ૬ஊ͠·͠ΐ͏

Slide 19

Slide 19 text

- ঢ়ଶ2͔Βঢ়ଶ3ʹ੾Γସ͑Δςετ͸ɺTestFlightͰՄೳͰ͢ͷͰɺϦϦʔε͢Δલʹ͔ͬ͠Γ֬ೝ͓ͯ͘͠ - ໰͍߹ΘͤͷϦεΫܰݮͷͨΊ - ಛʹઌʹड़΂ͨɺΩʔνΣʔϯͷ෮ݩػೳΛ࣮૷͍ͯ͠Δ৔߹ɺಈ࡞͢Δ͔ΛνΣοΫ͢Δ ΞϓϦॺ໊ͷ Team ID ੾Γସ͑ςετ https://help.apple.com/app-store-connect/#/deved688524f

Slide 20

Slide 20 text

Web Credentials - ύεϫʔυอଘͰར༻͍ͯ͠Δ - ࣗલͰhosting͍ͯ͠Δwebsiteͷapple-app-site-associationͷมߋ - Ͳ͏͢Ε͹Α͍͔? - Bundle Identifier͸ಉ͡ͰɺTeam ID͕App Transferޙͷ΋ͷΛ௥Ճ͢Ε͹Α͍ - ΞϓϦͷ Capabilities ͷ Associated Domains ʹ΋๨Εͣ௥هͯ͠ϦϦʔε͓ͯ͘͠ - App Transferલ(ঢ়ଶ1)ͷͱ͖ʹରԠΛߦ͓ͬͯ͘ - ͦ͏͢Ε͹ɺঢ়ଶ2, 3ͲͪΒͰ΋ಈ࡞͢Δ

Slide 21

Slide 21 text

- ϝʔϧΞυϨεೝূɺϝʔϧΞυϨεมߋɺϝʔϧΞυϨεϦηοτ౳Ͱ࢖͍ͬͯΔ - Firebase Dynamic Linksͷapple-app-site-associationͷมߋ͢Δʹ͸? - Settings > Your apps > iOS apps > {your_app_name} > Team ID ͰͰ͖Δ Firebase Dynamic Links (App Links)

Slide 22

Slide 22 text

- Team IDมߋޙɺapple-app-site-associationʹ൓ө͞ΕΔʹ͸ɺ਺࣌ؒͷϥά͕ൃੜ͢Δ - ϦϯΫΛ౿ΉͱApp Storeʹඈ͹͞ΕΔ - apple-app-site-associationΩϟογϡղফޙ΋ɺ୺຤Ωϟογϡ͕ޮ͍͍ͯΔ - ϦϯΫΛ౿ΉͱApp Storeʹඈ͹͞ΕΔ - ڍಈΛݟΔݶΓɺΞϓϦΠϯετʔϧ / Ξοϓσʔτ࣌ʹΩϟογϡͷߋ৽͕૸Δ - ଞʹ΋τϦΨʔ͋Δ͔΋ - υΩϡϝϯτʹ΋ॻ͍ͯͳ͍ - ঢ়ଶ2ͰɺBࣾͷTeam ID΁มߋ͢ΔͱɺΞϓϦͷTeam IDͱҰகͤͣɺDynamic LinksΛղܾͰ͖ͳ͍ - ϦϯΫΛ౿ΉͱApp Storeʹඈ͹͞ΕΔ - ঢ়ଶ3ʹͳͬͯɺApp StoreʹΞϓϦ͕൓ө͞ΕͨॠؒʹTeam IDΛมߋͰ͖Δͷ͕ϕετ Firebase Dynamic Links (App Links)

Slide 23

Slide 23 text

ϓογϡ௨஌ʹؔ࿈͢ΔΫϥΠΞϯτ SSL ূ໌ॻ͸ৡ౉͞Ε·ͤΜɻͦͷ App ͕ Apple ϓογϡ௨஌αʔϏε ʢAPNʣΛ࢖༻͍ͯ͠Δ৔߹ɺडऔਓ͸डऔਓͷσϕϩούΞΧ΢ϯτΛ࢖༻ͯ͠ΫϥΠΞϯτ SSL ূ໌ॻΛ࡞੒͠ɺ αʔϏεΛ࠶౓༗ޮʹ͢Δඞཁ͕͋Γ·͢ɻ ϓογϡ௨஌ App https://help.apple.com/app-store-connect/#/deved688524f

Slide 24

Slide 24 text

- Firebase Cloud Messaging (FCM)Λ࢖͍ͬͯΔ - ϥΠυऴྃͷ௨஌ɺ௥Ճྉۚͷ௨஌ɺ੥ٻॻͷ௨஌ - ௨஌͸େࣄͰ͢ - ͲͷλΠϛϯάͰAPNs Authentication Key (ҎԼAPNs Auth Key) Λมߋ͢΂͖͔? - App Transferલ(ঢ়ଶ1)·Ͱ͸ɺAࣾͷAPNs Auth KeyΛར༻͢Δ - ঢ়ଶ2ʹͳͬͨ࣌఺ͰɺBࣾͷAPNs Auth KeyΛར༻͢Δ - ࣍ϖʔδͷཧ༝ʹΑΓɺঢ়ଶ2ͰAࣾͷAPNs Auth Keyͩͱϓογϡ௨஌͕ಧ͔ͳ͍ ϓογϡ௨஌ (Firebase Cloud Messaging)

Slide 25

Slide 25 text

Firebase Cloud Messaging - APNs Auth Key͸Team IDͱີ઀Ͱɺൃߦͨ͠ΞΧ΢ϯτ͕Ұக͠ͳ͍ͱ͍͚·ͤΜ - APNs Auth Key͕AࣾɺTeam ID͕Bࣾͱ͔͸ͩΊ - APNs Auth KeyͱTeam ID͕ҧ͏ͱϓογϡ௨஌͕ಧ͖·ͤΜ

Slide 26

Slide 26 text

- Firebase Dynamic Links͸ঢ়ଶ3ʹͳͬͨ࣌఺ͰɺTeam IDΛมߋ͢Δඞཁ͕͋Δ - Firebase Cloud Messaging͸ঢ়ଶ2ʹͳͬͨ࣌఺ͰɺTeam IDΛมߋ͢Δඞཁ͕͋Δ - Ͱ͕͢ɺFireaseͷTeam IDΛઃఆ͢Δޱ͸ɺ1ͭͰ͢ - ճආํ๏͸͋Δͷ͔? - APNs Auth KeyͷΞοϓϩʔυ͢Δͱ͜Ζ͕ɺΞοϓϩʔυॠؒ࣌ͷFirebaseʹઃఆ͞Ε͍ͯΔTeam ID͕࠾ ༻͞ΕͯɺΩϟογϡ͞ΕΔ࢓૊Έ(ͦΕ͕ҠߦTeam ID͕มߋ͞ΕΑ͏ͱ΋Өڹ͠ͳ͍)ʹͳ͍ͬͯΔɺτϦο ΩʔͰ͸͋Δ͕ɺͦͷFirebaeͷόάΆ͍࢓༷Λ࢖͏ - ঢ়ଶ2ʹͳͬͨ௚ޙɺҰॠTeam IDΛBࣾ΁มߋͯ͠ɺAPNs Auth KeyΛΞοϓϩʔυͯ͠ɺTeam IDΛ͢ ͙͞·Aࣾʹ໭͢ - ͦ͏͢Ε͹ɺঢ়ଶ2ͷͱ͖ʹɺFirebase Dynamic Links΋Firebase Cloud Messaging΋࢖͑Δ Έͳ͞Μ͓ؾ͖ͮͰ͠ΐ͏͔...?

Slide 27

Slide 27 text

5. ެࣜυΩϡϝϯτͱ ҧͬͨ͜ͱ

Slide 28

Slide 28 text

App ৘ใʹ͍ͭͯ ͢΂ͯͷ App ৘ใͷόοΫΞοϓΛऔΔ App ͸ৡ౉ޙʹ͋ͳͨͷΞΧ΢ϯτ͔Β࡟আ͞ΕΔͨΊɺৡ౉Λߦ͏લʹͦͷ App ʹؔ͢Δ͢΂ͯͷ৘ใͷόοΫΞο ϓΛऔ͓ͬͯ͘ඞཁ͕͋Γ·͢ɻ - App TransferޙɺApp Store ConnectͷAppʹؔ͢Δ৘ใ͕ܧଓͰҠ؅͞Εͨʢফ͑ͳ͍ʣ - ೦ͷҝऔಘ͓͍ͯͨ͠΄͏͕Α͍ɺfastlane deliverͰόοΫΞοϓ͓ͯ͘͠ͱΑ͍ - ʮ͋ͳͨͷΞΧ΢ϯτʯͬͯҙຯ͕ਂ͍ - ৡ౉લͷΞΧ΢ϯτͰɺৡ౉ޙ͸ผͷձࣾʹͳͬͯΔ͔Β͋Μͨ͸ϩάΠϯͰ͖ΜΑͬͯɺҙຯͩͬͨͷ ͔ https://help.apple.com/app-store-connect/#/deved688524f

Slide 29

Slide 29 text

App Transfer ͕׬ྃ·Ͱͷ࣌ؒ App ͷৡ౉͕׬ྃ͢Δ·Ͱʹ 2 Ӧۀ೔΄Ͳ͔͔Δ͜ͱ͕͋Γɺͦͷؒͷ App εςʔλε͸ʮProcessing App TransferʢApp ͷৡ౉ΛॲཧதʣʯͱͳΓ·͢ɻ - ࣮ࡍ͸AppTransferͷ࣮ߦϘλϯΛԡͨ͠λΠϛϯάͰɺ΄΅ಉظతʹߦΘΕͨ - ೦ͷҝɺ2Ӧۀ೔͸ݟੵ΋͓͍ͬͯͨ΄͏͕ϕλʔ͕ͩɺ͋͘·Ͱ࠷େ஋Ά͍ https://help.apple.com/app-store-connect/#/deved688524f

Slide 30

Slide 30 text

6. ·ͱΊ

Slide 31

Slide 31 text

- Firebase ͕ͦ΋ͦ΋ App Transfer ͷ͜ͱͳΜͯ1ϛϦ΋ߟ͍͑ͯͳ͍ - ະݕূͰ͋Δ͕ɺFirebaseʹ໰͍߹ΘͤͨΒಛผରԠͯ͘͠ΕΔ͔΋͠Εͳ͍ - ݁ՌͲΜ͚ͩؤுͬͯ΋ɺFirebase Dynamic LinksɺFirebase Cloud MessagingΛ࢖͏Ҏ্μ΢ϯλΠϜ͕ൃੜ͠·͢ - ͜ͷࢿྉΛݟ͍͍ͯͨͩͯɺۃݶ·Ͱμ΢ϯλΠϜΛݮΒ͢౒ྗΛ͢Δ - Ұ౓ϦϦʔεͯ͠͠·͏ͱɺ͜ͷล͸࠶ઃܭ͸೉͍͠ͱࢥ͏ - αϙʔτମ੍ͷڧԽ - μ΢ϯλΠϜ͕ൃੜ͢ΔͷΛڐ༰͓ͨ͠٬͞·ͷαϙʔτମ੍ - ສ͕ҰҐɺো֐͕͋ͬͨͱ͖ͷٕज़తͳαϙʔτମ੍ - ؾ߹ͱࠜੑ ·ͱΊ

Slide 32

Slide 32 text

iOS / Android ΤϯδχΞ ืूத!

Slide 33

Slide 33 text

No content