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

とあるアプリのサービス終了を見届ける 〜サブスクリプション型アプリのサービス終了ベストプラクティス〜

Dde900e0fdbb8423009d276393fcd6e5?s=47 RyoOta
September 18, 2021

とあるアプリのサービス終了を見届ける 〜サブスクリプション型アプリのサービス終了ベストプラクティス〜

iOSDC2021の登壇資料です。
----------
アプリの立ち上げの話はよくあると思いますが、クロージングの話を聞く機会はあまりないかと思います。

昨今サブスクリプション型のアプリも増えてきているなかで、実体験から語られるサービス終了の側面をともに見てみませんか?
実際にアプリのクローズに立ち会い、そこで考慮したこと、終了のフロー、App Store Connect上での操作したこと、その時の思いをまとめていきます。
自分が開発に携わったアプリが終わっていく姿を見たいエンジニアなどいないとは思いますが、いざその時が来たとき、正しい方法でスムーズに対応できるよう、知見を共有したいと思います。

Dde900e0fdbb8423009d276393fcd6e5?s=128

RyoOta

September 18, 2021
Tweet

Transcript

  1. ~ Best Plactice of End of a Subscription Service ~

    ͱ͋ΔΞϓϦͷαʔϏεऴྃΛݟಧ͚Δ Ryo Ot a (@m877_778m ) iOSDC202 1 2021-09-18(sat)
  2. Profile τϏϥγεςϜζגࣜձࣾɹϞόΠϧϓϩμΫτ՝ ଠాɹྒྷɹɹ!N@N ❖ νʔϜϚωδϝϯτ ❖ ϓϩδΣΫτϚωδϝϯτ ❖ ٕज़Ӧۀʢʁʣ ❖

    ۃكʹ։ൃʢׂ߹͸ମײͰ͢ʣ ❖ αʔόαΠυɿ ❖ J04ɿ
  3. ΞϓϦΛΫϩʔζ͢Δ͜ͱͱͳΓ·ͨ͠ ❖ ཧ༝͸ׂѪ͍͖ͤͯͨͩ͞·͢ ❖ ݁Ռ͸Ͳ͏͋Εɺଟ͘ͷϢʔβʹѪ͞ΕͨΞϓϦͰͨ͠ ❖ ࢝·Γͱಉ͘͡Β͍ɺऴΘΓʹ͸͢΂͖͜ͱ͕͋Γ·͢ ❖ Ѫͯ͘͠Εͨօ༷ʹɺײँΛࢥ͍ΛࠐΊͭͭɺΞϓϦͷΫ ϩʔζʹ͍ͭͯ࿩ͯ͠ΈΑ͏ͱࢥ͍·͢

  4. ΞϓϦͱ๻ͷؔ܎ੑ 2017/8 ϓϩτλΠϓ։ൃ Ϧʔμʔͱͯ͠ࢀՃ 2018/2 ឯ༨ۂં͋ͬͨ΋ͷͷɺ ແࣄ੡඼൛ΛϦϦʔε 2018 Ն Իָੑͷҧ͍ʹΑΓɺνʔϜ୤ୀ

    2019/10 ΞϓϦͷ։ൃ͕ఀ଺ঢ়گʹ 2021 ॳՆ αʔϏεऴྃରԠͰ ϓϩδΣΫτʹฦΓ࡙͖ ࣦΘΕͨ2೥ؒ
  5. ͱ͜ΖͰ

  6. ͱ͜ΖͰ

  7. ͱ͜ΖͰ ❖ ຊདྷ͸ɺস͍͋Γɾྦ͋Γͷϋʔτϑϧ੨य़܈૾ܶςΠετʹ࢓্͛ͨ ͔ͬͨ ❖ ͔͠͠ɺ࠷΋఻͍͑ͨͱ͜Ζͷ෼ྔ͕ͦΕͳΓͩͬͨ ❖ υλόλܶΛɺ఻ΘΔΑ͏ʹࢿྉԽͨ͠ΒɺΞχϝͷظ෼ʹ૬౰͢Δ ಺༰ʹͳͬͨ ❖

    ෼ʹऩ·ΔΑ͏ʹ·ͱΊΔͱɺ఻͍͑ͨ͜ͱ͕఻ΘΒͳ͍ɺ 
 ͔ͭ૯ूฤΛ͞ΒʹαϚϥΠζͨ͠΋ͷʹͳΔ͜ͱ͕Θ͔ͬͨ
  8. ҆શʹΞϓϦ಺՝ۚΛऴྃͤ͞Δ ˠͦͦ͜͜৘ใ͕ݟ͔ͭΔ ΞϓϦެ։ఀࢭBQQTUPSF ΞϓϦެ։ఀࢭBQQTUPSFαϒεΫʜ ˠཉ͍͠৘ใ͕ݟ͔ͭΒͳ͍ʂ ɹ͔ͭɺࢼ͢ํ๏͸ͳͦ͞͏ʂ Α͘Θ͔Βͳ͔ͬͨͷͰɺৄ͍͠ਓʹฉ͍ͯΈΔ͜ͱʹͨ͠

  9. ҆શʹΞϓϦ಺՝ۚΛऴྃͤ͞Δ ❖ "QQ4UPSF$POOFDU্Ͱɺ=݄ʹͰ͖·͔͢ʁ ❖ =݄͸Ͱ͖ͳ͍Αʂͨͩɺ4VCTDSJQUJPOࣗମΛSFNPWFGSPNTBMFTʹ͢Δ͜ͱͰ ࣅͨΑ͏ͳঢ়ଶΛ࡞Γग़ͤΔΑʂ ❖ ఆظߪಡͷΫϩʔζʹؔͯ͠ɺϕετϓϥΫςΟε͕͋Ε͹ڭ͍͚͑ͯͨͩ·͔͢ʁ ❖ "VUPSFOFXBMTVCTDSJQUJPOΛ࠾༻͍ͯ͠Δ"QQΛΫϩʔζͷ#FTU1SBDUJDF͸ҎԼͷ

    ௨ΓͩΑʂ  "QQ಺Ͱ4VCTDSJQUJPOΛSFNPWFGSPNTBMFTʹ͢Δ೔ʹͪΛϢʔβʔʹࠂ஌͢Δ  4VCTDSJQUJPOΛzSFNPWFGPSTBMFTzʹ͠ɺ৽نߪೖɺ͓Αͼߋ৽Λఀࢭ͢Δ  શͯͷTVCTDSJQUJPOϢʔβʔ͕DIVSOPVUͨ࣌͠఺Ͱɺ"QQΛΫϩʔζ͢Δ
  10. ҆શʹΞϓϦ಺՝ۚΛऴྃͤ͞Δ ೔ຊޠͰ͓̺

  11. ҆શʹΞϓϦ಺՝ۚΛऴྃͤ͞Δ ❖ "QQ4UPSF$POOFDU্Ͱɺ=݄ʹͰ͖·͔͢ʁ ❖ =݄͸Ͱ͖ͳ͍Αʂͨͩɺ4VCTDSJQUJPOࣗମΛSFNPWFGSPNTBMFTʹ͢Δ͜ͱͰ ࣅͨΑ͏ͳঢ়ଶΛ࡞Γग़ͤΔΑʂ ❖ ఆظߪಡͷΫϩʔζʹؔͯ͠ɺϕετϓϥΫςΟε͕͋Ε͹ڭ͍͚͑ͯͨͩ·͔͢ʁ ❖ "VUPSFOFXBMTVCTDSJQUJPOΛ࠾༻͍ͯ͠Δ"QQΛΫϩʔζͷ#FTU1SBDUJDF͸ҎԼͷ௨

    ΓͩΑʂ  "QQ಺Ͱ4VCTDSJQUJPOΛSFNPWFGSPNTBMFTʹ͢Δ೔ʹͪΛϢʔβʔʹࠂ஌͢Δ  4VCTDSJQUJPOΛSFNPWFGSPNTBMFTʹ͠ɺ৽نߪೖɺ͓Αͼߋ৽Λఀࢭ͢Δ  શͯͷTVCTDSJQUJPOϢʔβʔ͕DIVSOPVUͨ࣌͠఺Ͱɺ"QQΛΫϩʔζ͢Δ
  12. ҆શʹΞϓϦ಺՝ۚΛऴྃͤ͞Δ SFNPWFGSPNTBMFTz

  13. ҆શʹΞϓϦ಺՝ۚΛऴྃͤ͞Δ SFNPWFGSPNTBMFTz ❖ ʮ"QQ಺՝ۚ؅ཧ՝ۚΞΠςϜ഑৴Մ൱ʯͷ͜ͱ ❖ ΞϓϦͷ՝ۚΞΠςϜͷ഑৴ঢ়گΛ؅ཧ͢Δ ❖ ར༻ՄෆՄͰ͸ͳ͘ɺ഑৴͞Ε͍ͯΔ͔൱͔Ͱ͋Δ ❖ ͜ΕΛ0''ʹ͢ΔͱɺҎ߱ɺߪೖɾࣗಈߋ৽͕Ͱ͖ͳ͘ͳΔ

    ❖ ഑৴Λఀࢭͯ͠΋ɺߪೖظݶ͕੾ΕΔ·Ͱ͸༗ޮͱͯ͠ѻ͑Δ ❖ Ϩγʔτݕূ΋ਖ਼͍͠Ϩεϙϯε͕ಘΒΕΔ
  14. ҆શʹΞϓϦ಺՝ۚΛऴྃͤ͞Δ ཁ໿͢ΔͱҎԼͷ௨Γ ❖ "QQ4UPSF$POOFDUͰɺΞϓϦ಺՝ۚΞΠςϜͷʮ഑৴ՄೳʯͷνΣο ΫΛ֎͢͜ͱͰɺ৽نߪೖɾߋ৽Λఀࢭ͢Δ ❖ ఀࢭͨ͠ॠ͔ؒΒɺαϒεΫϦϓγϣϯظؒͷܦաΛ଴ͭ ❖ ఀࢭͯ͠΋ɺ՝ۚظؒͷऴྃ·Ͱ༗ޮঢ়ଶΛҡ࣋Ͱ͖Δ ❖

    શͯͷ՝ۚϢʔβ͕ଘࡏ͠ͳ͍ঢ়ଶͱͳͬͨΒɺʮՁ͓֨Αͼ഑৴ঢ় گʯͷ഑৴Մ൱Ͱɺʮ഑৴͔Β࡟আʯʹ͢Δ ❖ ͜ΕͰɺ4UPSF͔ΒΞϓϦͷऔಘ͕ෆՄೳͱͳΔ
  15. ҆શʹΞϓϦ಺՝ۚΛऴྃͤ͞Δ ߋʹཁ໿͢Δͱɺ ߪೖఀࢭ೔Λ 
 Ϣʔβࠂ஌ ՝ۚΞΠςϜͷ 
 ഑৴ఀࢭ શϢʔβͷ 


    ՝ۚظؒऴྃ "QQ4UPSFͰͷ 
 ެ։ఀࢭ
  16. ࣮ࡍͷڍಈ ❖ ഑৴ఀࢭલʹ՝ۚ ❖ ՝ۚظݶ͕೔ޙͱͳ͍ͬͯΔ ❖ "QQ4UPSF$POOFDU্Ͱɺ഑৴ఀࢭΛߦ͏ ❖ ߪೖɾ෮ݩ͸Ͱ͖ͳ͘ͳ͍ͬͯΔ ❖

    ՝ۚظݶʹมߋͳ͠ʢ೔ޙʣ ❖ ഑৴ఀࢭ͔Β೔ܦա ❖ ظ଴௨Γɺߪೖظݶ੾ΕͱͳΔʢແ՝ۚΞΧ΢ϯτͱͳΔʣ
  17. ؾʹͳͬͨ͜ͱ ❖ ഑৴ఀࢭͯ͠΋ɺ৽نΠϯετʔϧ͸ࢭΊΒΕ͍ͯͳ͍ ❖ ৽ن՝ۚϢʔβ͸૿͑ͳ͍΋ͷͷɺ৽نϢʔβ͸૿͑Δ ❖ ͔ͤͬ͘Πϯετʔϧͨ͠ͷʹʂঢ়گͷൃੜ͸๷͛ͳ͍ ❖ ͡Ό͋ઌʹΞϓϦΛެ։ఀࢭʹ͢Δํ͕ྑ͘Ͷʁ ɹˠ͜Ε͸ࢼͯ͠ͳ͍ʢϦϦʔεࡁΈΞϓϦͰࢼͤΔΘ͚ͳ͍ʣ

    ɹˠ΋ͷͷ͍ͭͰʹৄ͍͠ਓʹվΊͯฉ͍ͯΈΔ͜ͱʹ͠Α͏
  18. ؾʹͳͬͨ͜ͱ ❖ ΞϓϦͷ഑৴ఀࢭ͕ઌͷ΄͏͕ྑ͘ͳ͍Ͱ͔͢ʁ ❖ ༧ظͤ͵ߪೖ͕ى͜ΔՄೳੑ͕͋Γ·͢ɻʢࠂ஌ʹؾ͔ͮͳ͔ͬ ͨϢʔβʔ͕ޡͬͯ*"1Λߪೖͯ͠͠·͏౳ʣ ❖ ্هͷ༷ͳ৔߹ɺ"QQΛμ΢ϯϩʔυ͢ΔϢʔβʔ͕૿͑ΔࣄΑ Γ΋ɺޡͬͯఀࢭ༧ఆͷ*"1Λߪೖ͢ΔϢʔβʔ͕૿͑Δํ͕खଓ ͖͕൥ࡶʹͳΓ·͢

    ೔ຊޠͰʜ͋Εʁ
  19. ݁࿦ αϒεΫܕ՝ۚΞΠςϜΛ࣋ͭαʔϏεऴྃͷϕετϓϥΫςΟε͸ɺ  ՝ۚΞΠςϜ഑৴ఀࢭͷࠂ஌  ՝ۚΞΠςϜͷ഑৴ఀࢭ  ΞϓϦͷެ։ఀࢭ ͷॱʹ࣮ߦ͢Δ͜ͱͰ͋Δʂ

  20. ࠓճ࿩ͤͳ͔ͬͨ͜ͱ ❖ ϨϏϡʔΛݟฦͯ͠ɺਫ਼ਆ่յ͔͚ͨ͠Ͱ͟͝Δʂͷר ❖ ͓΍͓΍ʁϏϧυͰ͖ͳ͍Ͱ͟͝Δʂͷר ❖ QVTI௨஌഑৴͕େม͗ͯ͢ɺ৽نπʔϧΛಋೖͪ͠Ό͏Ͱ͟͝Δʂͷר ❖ Կ͔ͱͿ͚ͬͭຊ൪Ͱ঎༻࡞ۀͪ͠Ό͏Ͱ͟͝Δʂͷר ❖

    Ξϥʔτ໐Γ·͘ΓͰΠϯϑϥνʔϜܹ͓͜Ͱ͟͝Δʂͷר ❖ -1ͱ͔4/4ΞΧ΢ϯτͱ͔ͷΫϩʔζ͕Ҋ֎ΊΜͲ͍ͬͯ࿩ FUDʜ
  21. Ϋϩʔδϯάεέδϡʔϧʢ༧ఆʣ n n+1 n+2 n+3 ɾݕূ࡞ۀ ɾؔ܎෦ॺͱͷ࿈ܞ ࣾ಺ঝೝ ɾΞϓϦ಺͓஌Βͤ഑৴ ɾपล؀ڥͷఀࢭ

    -1 ձࣾϗʔϜϖʔδ 4/4ఀࢭͳͲ QVTI௨஌ᶃ ʢঝೝޙଈ࣌௨஌ʣ QVTI௨஌ᶄ ʢϲ݄લʣ QVTI௨஌ᶅ ʢલ೔ʣ ɾΠϯϑϥͷఀࢭ ɾ໰͍߹Θͤͷड෇ऴྃ ɾαʔϏεऴྃ
  22. Ϋϩʔδϯάεέδϡʔϧʲ࣮੷ʳ n n+1 n+2 n+3 ɾ৺Λ੔͑Δ ɾؔ܎෦ॺͱͷ࿈ܞ ࣾ಺ঝೝ ɾΞϓϦ಺͓஌Βͤ഑৴ʢͿ͚ͬͭຊ൪ʣ ɾपล؀ڥͷఀࢭ

    -1 ձࣾϗʔϜϖʔδ 4/4ఀࢭͳ QVTI௨஌ᶃʢͿ͚ͬͭຊ൪ʣ ʢঝೝޙଈ࣌௨஌ʣ QVTI௨஌ᶄ ʢϲ݄લʣ QVTI௨஌ᶅ ʢલ೔ʣ ɾΠϯϑϥͷఀࢭ ɾ໰͍߹Θͤͷड෇ऴྃ ɾαʔϏεऴྃ
  23. Ϣʔβࠂ஌ʹ͍ͭͯ Ϣʔβࠂ஌ͷखஈ ❖ ΞϓϦ಺ͷ͓஌Βͤ QVTI௨஌Y ❖ ձࣾϗʔϜϖʔδͰͷ͓஌Βͤ ҙࣝͨ͜͠ͱ ❖ ΑΓଟ͘ͷ໨ʹ৮ΕΔΑ͏ɺෳ਺ͷํ๏Λ࢖ͬͨ

    ❖ Ϣʔβʹεέδϡʔϧ͕ݟ͑ΔΑ͏ͳ಺༰ͱͨ͠ ❖ ϢʔβʹͱͬͯෆརӹͱͳΓͦ͏ͳ෦෼ͷӨڹΛ໌֬ʹࣔͨ͠
  24. ࠷ޙʹ ଟ෼ɺผΕ͸ग़ձ͍ͷ͸͡·Γͩͱࢥ͏ Thank you for your listening.