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

StoreKit 2によるモダンなアプリ内課金

Shetommy
August 21, 2024

StoreKit 2によるモダンなアプリ内課金

Shetommy

August 21, 2024
Tweet

More Decks by Shetommy

Other Decks in Technology

Transcript

  1. w ΞϓϦ಺՝ۚͷച্ͷ͸"QQMFͷख਺ྉ w ΞϓϦ಺Ͱ֎෦ܾࡁʹ༠ಋ͢Δ͜ͱ͸ېࢭ w &6ݍͰѹྗ͕͋ͬͨͨΊɺ֎෦ܾࡁͷ࢓૊Έ͕ಋೖ w 4UPSF,JU&YUFSOBM1VSDIBTF-JOL&OUJUMFNFOU w &6ݍҎ֎Ͱ΋ར༻͕ղې͞Ε͍ͯΔʢΞϝϦΧʣ

    w ˞֎෦ܾࡁͰ΋ख਺ྉ w ։ൃऀ΋"QQ4UPSFͷܾࡁαʔϏεʹΑͬͯϝϦοτ͸ड͚͍ͯ·͢ w ߪೖ࣌ͷ6*69Λ"QQMF͕࠷దԽ w ੈք֤ࠃͷ௨՟੫ۚରԠ w ෆਖ਼ʹର͢Δ҆શੑ w ฦۚϦΫΤετͷॲཧ w αϒεΫϦϓγϣϯͷ؅ཧ w FUD ΞϓϦ಺՝ۚख਺ྉ໰୊ 12
  2. w ࠓ͔Β՝ۚػೳೖΕΔͳΒ4UPSF,JU w ઃܭ͕Θ͔Γ΍͘͢ͳͬͨ w ϋϯυϦϯά͕೉͔ͬͨ͠0CTFSWFSύλʔϯ͔Β4XJGU$PODVSSFODZϕʔεʹ w Ϩγʔτݕূϓϩηε͕؆ུԽ w 4UPSF,JU͕Ϩγʔτݕূ·Ͱ΍ͬͯ͘ΕΔ

    w ⚠4UPSF,JU͸J04Ҏ্Ͱ͋Δඞཁ͕͋Δ w ʢBTZODBXBJUϕʔεͰॲཧ͢Δ͜ͱʹͳΔͨΊʣ 㱺೥࣌఺ͩͱɺOPUFͷJ04ΞϓϦ͸J04Ҏ্ରԠͩͬͨͷͰɺ ɹ՝ۚػೳ࣮૷ͷલʹԼҐόʔδϣϯ੾ΓΛߦ͍·ͨ͠ w ࠓͳΒ4XJGU$PODVSSFODZͷಋೖͷํ͕นʁ 4UPSF,JUͱ4UPSF,JUͷൺֱ 15
  3. w "QQ4UPSF$POOFDU͔Β՝ۚΞΠςϜΛొ࿥͢Δ w ՝ۚΞΠςϜͷ৹͕ࠪൃੜ͢Δ w ࠷ॳͷ՝ۚΞΠςϜ͸ΞϓϦຊମͷόʔδϣϯΞοϓ΋ඞཁ w Ұ౓ঝೝ͞Εͨޙ͸՝ۚΞΠςϜͷΈͷਃ੥͕Մ ʢ˞ཹҙࣄ߲͕͋ΔͷͰޙड़ʣ w

    ՝ۚΞΠςϜʹ͸ҎԼͷछྨ͕͋ΔͷͰɺ༻్ʹԠͯ͡બ୒ w ফ໣ܕ ྫ ΞϓϦ಺௨՟ɺήʔϜ಺ΞΠςϜͳͲ w ඇফ໣ܕ ྫ ޿ࠂඇදࣔΦϓγϣϯͳͲ w ࣗಈߋ৽αϒεΫϦϓγϣϯ ྫ ݄࣍ߋ৽ͷαϒεΫαʔϏεͳͲ w ඇߋ৽αϒεΫϦϓγϣϯ ྫ ࣗಈߋ৽ͳ͠ͷαϒεΫͷ೥࣍ύεͳͲ ՝ۚΞΠςϜͷొ࿥ 17
  4. iOS App ࣾ಺ Server 1. product_idΛऔಘ 2. ProductΛऔಘ ঎඼ product_id

    100ϙΠϯτ xxx.xxx.xxx.100 300ϙΠϯτ xxx.xxx.xxx.300 … … … … ঎඼ product_id displ a yPrice 100ϙΠϯτ xxx.xxx.xxx.100 ¥140 300ϙΠϯτ xxx.xxx.xxx.300 ¥420 … … … … … … ࣾ಺DB App Storeͷొ࿥৘ใ ՝ۚΞΠςϜҰཡͷදࣔ
  5. iOS App ࣾ಺ Server 1. product_idΛ࢖ͬͯߪೖϦΫΤετ 2.ߪೖ੒ޭͷϨεϙϯε͕དྷΔ 3.ϨεϙϯεதͷJWSτʔΫϯΛૹΔ ※JWS: JSON

    Web Sign a ture 5.ߪೖτϥϯβΫγϣϯΛऴྃ͢Δ ΞΠςϜͷߪೖ 4.ݕূOK (ফ໣ܕΞΠςϜҎ֎͸ཁεςʔλενΣοΫ)
  6. ϦεφʔλεΫͷੜ੒ 33 w ΞϓϦ֎Ͱߪೖؔ࿈ͷΠϕϯτ͕ൃੜ͢Δ͜ͱ͕͋Δ w ϖΞϨϯλϧίϯτϩʔϧʢ"TLUP#VZʣͷঝೝ w αϒεΫϦϓγϣϯΦϑΝʔίʔυͷར༻ w "QQ4UPSFΞϓϦܦ༝ͷߪೖ

    w ผσόΠεͷΞϓϦ಺ߪೖ w "QQ%FMFHBUFͳͲΞϓϦͷϧʔτʹ͍ۙͱ͜ΖͰ ϦεφʔλεΫΛੜ੒ͯ͠ 5SBOTBDUJPOVQEBUFTΛ؂ࢹ͢Δ ʢ4UPSF,JUͷ4,1BZNFOU5SBOTBDUJPOʹ૬౰ʣ
  7. w ϦετΞॲཧͱ͸ w ԿΒ͔ͷཧ༝ͰΞϓϦ಺Ͱ"QQ4UPSFͷߪೖঢ়گ͕൓ө͞Ε͍ͯͳ͍৔߹ʹ ਖ਼͍͠ߪೖঢ়گΛ൓өͤ͞Δॲཧ w αϒεΫϦϓγϣϯͰ͸ಛʹ໰୊ʹͳΔ w ࠓճ͸ফ໣ܕΞΠςϜͷΈͩͬͨͷͰ͋·Γߟ͑ͣ w

    ඇফ໣ܕαϒεΫϦϓγϣϯ͕͋Δ৔߹͸ϢʔβʔΞΫγϣϯ͕༻ҙ͞Ε͍ͯΔͱ਌੾ w "QQ4UPSFTZOD ͱ͍͏ϝιου͕ఏڙ͞Ε͍ͯΔ ϦετΞॲཧ 35
  8. ௨Γͷςετํ๏͕͋Δ 4UPSF,JU5FTUҎ֎͸γϛϡϨʔλʔෆՄ w ຊ൪؀ڥ w ຊ൪Ͱςετͯ͠ɺ"QQMFʹฦۚϦΫΤετΛ͢Δ w 4BOECPY؀ڥ w 4BOECPYΞΧ΢ϯτΛ࡞੒ͯ͠ɺΞϓϦ಺ߪೖ͢Δ

    w 5FTU'MJHIU w 5FTU'MJHIUΞϓϦͰͷߪೖ͸͢΂ͯ4BOECPYѻ͍ͱͳΔʢศརʂʣ w 4UPSF,JU5FTUͷ׆༻ w 9DPEFͰઃఆͨ͠ετΞઃఆͰςετ͕Մೳʢޙड़ʣ w ՝ۚؔ࿈ͷςετίʔυΛॻ͚Δ🙌 w ݫີʹ͸4UPSF,JUͷલʹఏڙ͞Ε͍ͯͨ໛༷ʢ9DPEF͔Βʣ ςετ 40