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

20分間で振り返るIn-App Purchaseの歴史

inokinn
September 11, 2022

20分間で振り返るIn-App Purchaseの歴史

iOSにおけるIn-App Purchase(アプリ内課金)はiOS 3から利用可能であり、その歴史は10年以上に及びます。
この長い歴史の中で、Ask to BuyやUpgrade / Downgrade、お試しオファーなどの多くの仕組みが追加され、やれることが格段に増えました。
アプリ内課金をサポートするための仕組みも、Store Kit 2による実装方法の変更やアプリ内での返金機能をはじめ、Server NotificationsやTransaction Receiptのフォーマットの変更など、新しいものが次々にリリースされたり、StoreKit Testingによって自動テストが出来たりSandbox環境がアップデートされたりなど、課金のテストにまつわる状況も大きく変わりました。
本トークでは、20分間でIn-App Purchaseの激動の歴史をじっくり振り返っていきます。

inokinn

September 11, 2022
Tweet

Other Decks in Programming

Transcript

  1. ෼ؒͰৼΓฦΔ 
 *O"QQ1VSDIBTFͷྺ࢙ גࣜձࣾ;0;0 ;0;0508/։ൃຊ෦;0;0508/ΞϓϦ෦J04ϒϩοΫ Ҫ্ெ໵!JOPLJOO $PQZSJHIU˜;0;0 *OD 1

  2. ˜;0;0 *OD גࣜձࣾ;0;0 ;0;0508/։ൃຊ෦;0;0508/ΞϓϦ෦J04ϒϩοΫ Ҫ্ெ໵!JOPLJOO • 5XJUUFS!JOPLJOO • ೥݄ʹ;0;0ʹத్ೖࣾ •

    ීஈ͸;0;0508/ͷJ04ΞϓϦ։ൃ͍ͯ͠·͢ • *O"QQ1VSDIBTFͱ͸աڈʹ௕͍͓෇͖߹͍Λ 
 ͍ͯ͠·ͨ͠ 2
  3. ˜;0;0 *OD 3

  4. ˜;0;0 *OD ͸͡Ίʹ • *O"QQ1VSDIBTFͷաڈΛΧςΰϦຖʹৼΓฦΓͳ͕Β 
 աڈͷۤ͠Έ΍ਐԽͷԸܙͳͲʹ͍ͭͯޠΓ·͢ • ʮ͋Δ͋Δʯͱ͍ͬͨڞײ͕͋Ε͹ੋඇίϝϯτ͍ͩ͘͞ʂ •

    ՝ۚͷ࣮૷ʹৄ͍͠ํ͸աڈΛջ͔͠Έͭͭɺ 
 ͦ͏Ͱͳ͍ํʹ΋՝ۚࠓੲτʔΫΛָ͠ΜͰ͍͚ͨͩΔͱ🙏 4
  5. ˜;0;0 *OD ΞδΣϯμ •*O"QQ1VSDIBTFʹ͍ͭͯ •*O"QQ1VSDIBTFͷྺ࢙ ◦ αϒεΫϦϓγϣϯฤ ◦ Ϗδωεฤ ◦

    ࣮૷ฤ ◦ ςετฤ •·ͱΊ 5
  6. ˜;0;0 *OD *O"QQ1VSDIBTFʹ͍ͭͯ *O"QQ1VSDIBTFͷجຊతͳ֓ཁΛ͓͞Β͍ 6

  7. ˜;0;0 *OD *O"QQ1VSDIBTFͱ͸ʁ • ΞϓϦ಺՝ۚͷ͜ͱ • 4UPSF,JU͸J1IPOF4%,Ͱ௥Ճ͞Εɺ໿೥ͷྺ࢙Λ࣋ͭ • J04Ͱ͸ɺ༗ྉͷσδλϧίϯςϯπͷఏڙ΍αϒεΫϦϓγϣϯΛ 


    ࣮ݱ͢Δʹ͸ɺ4UPSF,JUGSBNFXPSLΛ༻͍࣮ͯ૷͢Δඞཁ͕͋Δ ◦ ͜Εʹ͍ͭͯͷᎍΊࣄͷ࿩୊͸ຕڍʹՋ͕ͳ͍͕ɺࠓճ͸ޠΓ·ͤΜ 7
  8. ˜;0;0 *OD ঎඼ͷͭͷλΠϓ • $POTVNBCMF ফ໣ܕ  ◦ FHιγϟήͷΨνϟੴͳͲ •

    /PO$POTVNBCMF ඇফ໣ܕ  ◦ FHػೳͷΞϯϩοΫͳͲ • "VUP3FOFXBCMF4VCTDSJQUJPO ࣗಈߋ৽ߪಡ  ◦ FHαʔϏεͷֹ݄ձһɺ৽ฉ΍ࡶࢽͷߪಡͳͲ • /PO3FOFXJOH4VCTDSJQUJPO ඇࣗಈߋ৽ߪಡ  ◦ FHήʔϜͷγʔζϯύεͳͲ 8
  9. ˜;0;0 *OD *O"QQ1VSDIBTFͬ͘͟Γ೥ද • ೥ ◦ 4UPSF,JU஀ੜ • ೥ ◦

    ࣗಈߋ৽ߪಡɺແྉߪಡ௥Ճ • ೥ ◦ 4,%PXOMPBE௥Ճ ◦ 4,4UPSF1SPEVDU7JFX$POUSPMMFS௥Ճ • ೥ ◦ ϨγʔτͷϑΥʔϚοτมߋ • ೥ ◦ "TLUP#VZ௥Ճ • ೥ ◦ ΞοϓάϨʔυμ΢ϯάϨʔυ 
 ΫϩεάϨʔυ௥Ճ ◦ ແྉߪಡফ͑Δ • ೥ ◦ "QQ಺՝ۚͷϓϩϞʔγϣϯ௥Ճ ◦ 4FSWFS/PUJGJDBUJPO௥Ճ ◦ 4,4UPSF3FWJFX$POUSPMMFS௥Ճ ◦ ͓ࢼ͠ΦϑΝʔ௥Ճ 9 • ೥ ◦ 4,"E/FUXPSL௥Ճ ◦ ୺຤ઃఆͰ4BOECPYΞΧ΢ϯτ͕ಠཱ ◦ ࢧ෷͍༛༧ظؒ௥Ճ • ೥ ◦ ϓϩϞʔγϣϯΦϑΝʔ௥Ճ • ೥ ◦ 3FGVOE/PUJGJDBUJPO௥Ճ ◦ 4FSWFS/PUJGJDBUJPOʹߪಡͷߋ৽΍ฦۚ௨஌௥Ճ ◦ ϑΝϛϦʔڞ༗ରԠ ◦ ஋্͛ʹؔ͢ΔՁ֨ಉҙγʔτ௥Ճ ◦ ΦϑΝʔίʔυ௥Ճ ◦ 4,0WFSMBZ௥Ճ ◦ 4UPSF,JU5FTUJOHJO9DPEF௥Ճ • ೥ ◦ 4UPSF,JUϦϦʔε ◦ 4VCTDSJQUJPO"1*௥Ճ ◦ *O"QQ1VSDIBTF)JTUPSZ"1*௥Ճ ◦ 4FSWFS/PUJGJDBUJPO7௥Ճ • ೥ ◦ "QQ5SBOTBDUJPO௥ՃͳͲ
  10. ˜;0;0 *OD *O"QQ1VSDIBTFͷྺ࢙ • αϒεΫϦϓγϣϯͷྺ࢙ • Ϗδωεʹؔ͢Δػೳͷྺ࢙ • ࣮૷ʹؔ͢Δྺ࢙ •

    ςετʹؔ͢Δྺ࢙ 10
  11. ˜;0;0 *OD ࣗಈߋ৽ߪಡͷ஀ੜ  • ೥ʹ஀ੜ ◦ ౰ॳʙ਺೥͸৽ฉ΍ࡶࢽͷΑ͏ͳʮఆظతͳίϯςϯπͷఏڙʯҎ֎͸ 
 ৹ࠪʹ௨Γʹ͔ͬͨ͘͠ɺͦ͏ͩͱͯ͠΋ͳ͔ͳ͔௨Βͳ͔ͬͨ

    ഊ  • ༨ஊ  ◦ 'SFF4VCTDSJQUJPO ແྉߪಡ ͱ͍͏΋ͷ΋J04Ҏ߱Ͱొ৔ 
 ˠ೥ʹഇࢭ 11
  12. ˜;0;0 *OD 4FSWFS/PUJGJDBUJPOT  • Ϣʔβͷఆظߪಡͷঢ়ଶʹมԽ͕͋ͬͨࡍʹ௨஌ͯ͘͠ΕΔ࢓૊Έ ◦ ೥͔Βɺߪಡͷߋ৽੒ޭ΍ΦϑΝʔਃ੥ʹ͍ͭͯ΋ 
 ௨஌͞ΕΔΑ͏ʹͳͬͨ

    ◦ ೥͔Βɺຊ൪ͱ4BOECPYͰ௨஌ͷΤϯυϙΠϯτΛ 
 ෼͚ΒΕΔΑ͏ʹͳͬͨ ◦ ೥͔Βɺ4FSWFS/PUJGJDBUJPOT7͕ఏڙ։࢝ • 88%$Ͱ͸3FGVOE/PUJGJDBUJPOT͕ൃද͞Ε 
 ࣗಈߋ৽αϒεΫϦϓγϣϯҎ֎ͷ঎඼ʹର͢Δ"QQMF͔Βͷฦۚ΋ 
 ݕ஌Ͱ͖ΔΑ͏ʹͳͬͨ 12
  13. ˜;0;0 *OD 13 4FSWFS/PUJGJDBUJPOTҎલͷطଘϢʔβͷεςʔλεϙʔϦϯά 3FDFJQUͷ7FSJGZ ݕূ 🍎 σίʔυ͞Εͨ3FDFJQU εςʔλε͕ 21006

    ͩͬͨΒ 
 αʔϏεଆΞΧ΢ϯτΛߪಡղআ ͜ΕΛશͯͷߪಡΞΧ΢ϯτʹରͯ͠ఆظతʹߦ͏ඞཁ͕͋Δ 
 Ϣʔβ਺ʹΑͬͯ͸ຖ೔๲େͳॲཧ͕ൃੜ
  14. ˜;0;0 *OD 14 4FSWFS/PUJGJDBUJPOTΛ༻͍ͨطଘϢʔβͷεςʔλεϙʔϦϯά ߪಡͷߋ৽௨஌ 🍎 notification_typeΛ֬ೝ͠ 
 ߋ৽͞Ε͍ͯͨͳΒ͹ 


    εςʔλεϙʔϦϯάର৅͔Β֎͢ ࠷৽ͷReceiptΛอଘ ैདྷͷαʔόαΠυͰͷεςʔλεϙʔϦϯάΛ 
 ΍ΊΒΕΔΘ͚Ͱ͸ͳ͍͕ɺ݅਺͸͔ͳΓݮΒͤΔ
  15. ˜;0;0 *OD 4VCTDSJQUJPO"1*  • PSJHJOBM@USBOTBDUJPO@JEΛ౉͢ͱߪಡঢ়ଶΛऔಘՄೳ ◦ (&5JO"QQTWTVCTDSJQUJPOT\PSJHJOBM5SBOTBDUJPO*E^ ◦ ϦΫΤετʹϨγʔτ͕ෆཁͰɺ࠷৽ͷߪಡঢ়ଶ͚͕ͩ෼͔ΔͨΊ

    
 WFSJGZ3FDFJQUΑΓ࢖͍΍͍͢ ◦ +84Ͱॺ໊͞Ε͍ͯΔ 15
  16. ˜;0;0 *OD *O"QQ1VSDIBTF)JTUPSZ"1*  • PSJHJOBM@USBOTBDUJPO@JEʹඥͮ͘աڈͷ՝ۚཤྺΛऔಘՄೳ ◦ (&5JO"QQTWIJTUPSZ\PSJHJOBM5SBOTBDUJPO*E^ ◦ طଘͷWFSJGZ3FDFJQUͷMBUFTU@SFDFJQU@JOGP૬౰ͷ৘ใ

    ◦ +84Ͱॺ໊͞Ε͍ͯΔ 16 αʔόͰอଘ͢Δͷ͸ϨγʔτͰ͸ͳ͘ 
 PSJHJOBM@USBOTBDUJPO@JE΍ॺ໊෇͖τϥϯβΫγϣϯͰ΋Α͘ͳͬͨ
  17. ˜;0;0 *OD ͦͷଞͷΞοϓσʔτ αϒεΫϦϓγϣϯ • ߪಡͷ੾Γସ͑   ◦ ΞοϓάϨʔυɺμ΢ϯάϨʔυɺΫϩεάϨʔυ

    • ஋্͛ʹؔ͢ΔՁ֨ಉҙը໘ͷදࣔ   ◦ ஋্͛ʹϢʔβ͕ಉҙ͢Δ·Ͱ͸ߪಡ͕ࣗಈߋ৽͞Εͳ͍͜ͱʹΑΔ 
 Ұ੪ࣗಈղ໿ʹΑΔଛࣦΛܰݮ • ࢧ෷͍༛༧ظؒ   ◦ ΫϨδοτΧʔυظݶ੾Ε౳ʹΑΔܾࡁͷࣦഊͱ͍ͬͨ 
 ෆຊҙͳߪಡͷߋ৽தࢭΛ཈ࢭ 17
  18. ˜;0;0 *OD *O"QQ1VSDIBTFͷྺ࢙ • αϒεΫϦϓγϣϯͷྺ࢙ • Ϗδωεʹؔ͢Δػೳͷྺ࢙ • ࣮૷ʹؔ͢Δྺ࢙ •

    ςετʹؔ͢Δྺ࢙ 18
  19. ˜;0;0 *OD "TLUP#VZ  • "QQMF*%ʹϑΝϛϦʔઃఆ͞Ε͍ͯΔ৔߹ɺ 
 ࢠͲ΋ͷߪೖͷঝ୚Λอޢऀʹ֬ೝ͢Δػೳ • ߪಡͷ֬ೝதɺτϥϯβΫγϣϯ͸ʮEFGFSSFEʯͱ͍͏ঢ়ଶʹͳΓ

    
 อޢऀͷڐՄ͕֬ೝ͞ΕͨΒʮQVSDIBTFEʯͱͳΔ ◦ 4BOECPY؀ڥͰEFGFSSFE͔ΒઌʹਐΉखஈ͕ແͯ͘ಈ࡞֬ೝʹࠔͬͨ 19
  20. ˜;0;0 *OD ϑΝϛϦʔڞ༗  • ͭͷߪೖΛਓ·ͰͷՈ଒ͱڞ༗Մೳ ◦ ඇফ໣ܕͰ΋Մೳ ◦ ߪೖऀ͕ڞ༗0''ʹͨ͠ࡍɺՈ଒ଆͷػೳΛ࠶౓ϩοΫ͢Δ࣮૷͕ඞཁ

    20
  21. ˜;0;0 *OD ͓ࢼ͠ΦϑΝʔ  • ແྉτϥΠΞϧ౳ͷׂҾ͓ࢼ͠Ձ֨Ͱͷఏڙ • աڈʹࣗಈߋ৽ߪಡͷ঎඼Λߪಡͨ͜͠ͱ͕ແ͍Ϣʔβ͕ର৅ 21

  22. ˜;0;0 *OD ϓϩϞʔγϣϯΦϑΝʔ  • ࣗಈߋ৽ߪಡͷ঎඼ͷׂҾΦϑΝʔ • ͓ࢼ͠ΦϑΝʔͱҧ͍ɺෳ਺ճར༻Ͱ͖Δ • ߪಡதɺ΋͘͠͸աڈʹߪಡ͍ͯͨ͠ސ٬ʹରͯ͠ͷΈՄೳ

    ◦ ΦϑΝʔର৅Λσϕϩούଆ͕ܾΊΔ͜ͱ͕Մೳ ◦ Ϧςϯγϣϯ΍ɺΑΓྑ͍ϓϥϯΛקΊΔ౳ͷϏδωεઓུͱͯ͠༗ޮ 22
  23. ˜;0;0 *OD ΦϑΝʔίʔυ  • ճ͚ͩར༻Ͱ͖ΔׂҾίʔυ • ৽نϢʔβʹ΋طଘϢʔβʹ΋ར༻Մೳ ◦ Ωϟϯϖʔϯͱͯ͠ίʔυΛൃߦ͢ΔͳͲ

    23
  24. ˜;0;0 *OD ͦͷଞͷΞοϓσʔτ Ϗδωε • σδλϧίϯςϯπ؅ཧ   ◦ "QQ4UPSF$POOFDUͰσδλϧίϯςϯπΛ؅ཧ͠

    
 4,%PXOMPBEͰμ΢ϯϩʔυՄೳʹ ݱࡏ͸EFQSFDBUFE  • "QQ಺՝ۚͷϓϩϞʔγϣϯ   ◦ ΞϓϦ಺Ͱ͸ͳ͘ɺ"QQ4UPSF͔Β*"1ͷ঎඼ΛߪೖͰ͖Δ࢓૊Έ 24
  25. ˜;0;0 *OD *O"QQ1VSDIBTFͷྺ࢙ • αϒεΫϦϓγϣϯͷྺ࢙ • Ϗδωεʹؔ͢Δػೳͷྺ࢙ • ࣮૷ʹؔ͢Δྺ࢙ •

    ςετʹؔ͢Δྺ࢙ 25
  26. ˜;0;0 *OD ϨγʔτϑΥʔϚοτͷมԽ  • J04ͰϦχϡʔΞϧ • େ͖ͳҧ͍ͱͯ͠͸ ◦ 4,1BZNFOU5SBOTBDUJPO͔Βݸʑʹऔಘ͢Δ࣮૷͔Β

    
 "QQMJDBUJPO3FDFJQUʹաڈͷܾࡁͷϨγʔτؚ͕·ΕΔΑ͏ʹมԽ ◦ 4,3FDFJQU3FGSFTI3FRVFTUΛ༻͍Δ͜ͱͰ 
 τϥϯβΫγϣϯΛൃੜͤ͞Δ͜ͱͳ͘࠷৽ͷϨγʔτΛऔಘՄೳʹ ˠߪಡͷ3FTUPSF ෮ݩ ͕΍Γ΍͘͢ͳͬͨ 26
  27. ˜;0;0 *OD 4UPSF,JU  • ϓϩμΫτऔಘ΍τϥϯβΫγϣϯॲཧΛ؆୯ʹߦ͑ΔΑ͏ʹվળ • 4VCTDSJQUJPOʹಛԽͨ͠ଟ͘ͷ"1* • +84ʹΑΔॺ໊෇͖τϥϯβΫγϣϯ৘ใΛऔಘՄೳ

    27
  28. ˜;0;0 *OD 4UPSF,JUͷԸܙ • ୺຤Ͱ΋աڈͷτϥϯβΫγϣϯΛ؆୯ʹࢀরͰ͖Δ ◦ ผͷ୺຤ͰͷߪೖΛࢀর͢Δʹ͋ͨΓɺ3FTUPSFΛ͠ͳͯ͘΋ 
 ԿͷݖརΛ͍࣋ͬͯΔ͔൑ผͰ͖Δ ◦

    "QQ4UPSF4ZOD"1*Ͱطଘͷ3FTUPSF૬౰ͷ͜ͱ΋Մೳ 28
  29. ˜;0;0 *OD *O"QQ1VSDIBTFͷྺ࢙ • αϒεΫϦϓγϣϯͷྺ࢙ • Ϗδωεʹؔ͢Δػೳͷྺ࢙ • ࣮૷ʹؔ͢Δྺ࢙ •

    ςετʹؔ͢Δྺ࢙ 29
  30. ˜;0;0 *OD ͔ͭͯͷ4BOECPY؀ڥ • ฦۚ͸͓Ζ͔ɺखಈͰߪಡͷղআ΋ෆՄೳ • ߪಡͷߋ৽ͷಈ࡞֬ೝ͕େมͩͬͨ ◦ 4BOECPY؀ڥͰ͸ɺ෼Ͱϲ݄͕ܦաͯ͠ߪಡ͕ߋ৽͞ΕΔ ◦

    ճ·Ͱ͸ඞͣߪಡ͕ߋ৽͞Εɺճ໨ͰFYQJSFEʹͳΔ ▪ ճಈ࡞֬ೝΛ͢Δͷʹ෼͔͔Δ😇 ◦ ಉ͡4BOECPYΞΧ΢ϯτΛԿ౓΋࢖͍ͬͯΔͱ 
 ͦͷ͏ͪҰ౓΋ߪಡΛߋ৽͠ͳ͘ͳΔ ಾ 30
  31. ˜;0;0 *OD 4BOECPY؀ڥͷվળ • ςελʔ͝ͱʹߪಡͷߋ৽ස౓ͷ෼͚ͨΓ 
 ߪೖͷதஅΛઃఆՄೳʹ  31

  32. ˜;0;0 *OD 4BOECPY؀ڥͷվળ • J04୺຤ͷઃఆΞϓϦ͔Βɺ4BOECPYΞΧ΢ϯτͷ 
 αϒεΫϦϓγϣϯ؅ཧ͕Մೳʹͳͬͨ 32

  33. ˜;0;0 *OD 4UPSF,JU5FTUJOHJO9DPEF  • 9DPEF্Ͱ঎඼Λઃఆ͠ɺϩʔΧϧͰ՝ۚͷςετ͕Մೳͳ࢓૊Έ • "QQ4UPSFͷαʔόͱ௨৴ͤͣ9DPEFͰ׬݁͢ΔͨΊ 
 ՝ۚʹؔ͢ΔςετΛࣗಈԽͰ͖Δ

    33
  34. ˜;0;0 *OD 4UPSF,JU5FTUJOHJO9DPEFͷԸܙ • ߪೖཤྺͷ؅ཧ͕Մೳ ◦ ߪಡͷࣗಈߋ৽ঢ়ଶͷมߋ͕Մೳ ◦ Ұ౓ങͬͨඇফ໣ܕͷ঎඼ʹର͠ 


    ࠶౓ߪೖςετ͕Մೳʹ ◦ GJOJTI͞Εͯͳ͍USBOTBDUJPOʹ͸ 
 ϚʔΫ͕෇͘ • τϥϯβΫγϣϯͷૢ࡞͕Մೳ ◦ ΦϑΝʔ΍ฦۚϦΫΤετɺ 
 "TLUP#VZɺ஋্͛ಉҙͷςετ΋Մೳ 34
  35. ˜;0;0 *OD ͍͞͝ʹ 35

  36. ˜;0;0 *OD ͜Ε͔Βͷ*O"QQ1VSDIBTFʙ೥ͷมߋ఺ʙ • "QQ5SBOTBDUJPOͷ௥Ճ ◦ "QQͦͷ΋ͷͷߪೖͷݕূ͕Մೳ • 4UPSF,JU5FTUJOHJO9DPEFͷߋ৽ ◦

    "QQ4UPSF$POOFDUʹొ࿥ͯ͋͠Δ঎඼ΛಉظՄೳʹ ◦ τϥϯβΫγϣϯ؅ཧը໘Ͱࡉ͔͍৘ใΛݟΔ͜ͱ͕Մೳʹ • 4BOECPY؀ڥͷߋ৽ ◦ ςελʔ͝ͱʹ৽͍͠ϝʔϧΞυϨεΛೖྗ͠ͳͯ͘Α͘ͳͬͨ ◦ ߪೖཤྺͷΫϦΞ΍ߪೖঢ়ଶΛதஅͳͲΛ"QQ4UPSF$POOFDUʹ 
 ࠓޙ௥Ճ༧ఆ 36
  37. ˜;0;0 *OD ·ͱΊ • ໿೥ʹ౉Δྺ࢙ͷதͰɺ΍ΕΔ͜ͱ͸ͱͯ΋૿͑ͨ ◦ ࣮૷΍ݕূΛαϙʔτ͢Δ࢓૊Έ΋ॆ࣮͍ͯͬͨ͠ • ςετͷͨΊͷ࢓૊Έ΋ॆ࣮͠ɺ৺Ժ΍͔ʹ՝ۚΛ࣮૷͠΍͘͢ͳͬͨ •

    ௕Β͘Ϩγʔτͷݕূʹେ͖͘ґଘ͍ͯͨ͠*O"QQ1VSDIBTFͷ࣮૷͸ 
 ۙ೥௥Ճ͞Εͨ/PUJGJDBUJPOT΍4UPSF,JUɺ৽ͨͳ"1*ʹΑͬͯ 
 ͦͷ͕࢟େ͖͘มΘ͖ͬͯͨ • ΦϑΝʔͳͲɺϓϩϞʔγϣϯʹؔΘΔػೳ΋େ෯ʹڧԽ͞ΕͨͷͰ 
 Ϗδωεʹ༗ޮ׆༻͍͖͍ͯͨ͠Ͱ͢Ͷ 37
  38. ˜;0;0 *OD IUUQT[P[PKQ • ϑΝογϣϯ&$ •  Ҏ্ͷγϣοϓɺ Ҏ্ͷϒϥϯυͷऔΓѻ͍ •

    ৗ࣌ສ఺Ҏ্ͷ঎඼ΞΠςϜ਺ͱຖ೔ฏۉ ఺Ҏ্ͷ৽ண ঎඼Λܝࡌʢ೥݄຤࣌఺ʣ • ϒϥϯυݹணͷϑΝογϣϯκʔϯʮ;0;064&%ʯ΍ ίεϝઐ໳Ϟʔϧʮ;0;0$04.&ʯɺۺͷઐ໳Ϟʔϧ ʮ;0;04)0&4ʯɺϥάδϡΞϦʔˍσβΠφʔζκʔϯ ʮ;0;07*--"ʯΛల։ • ଈ೔഑ૹαʔϏε • ΪϑτϥοϐϯάαʔϏε • πέ෷͍ͳͲ 38
  39. None