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

レビューダイアログ機能の取り組みAndroid編 / Review Dialog for Android

Hunachi
October 11, 2022

レビューダイアログ機能の取り組みAndroid編 / Review Dialog for Android

Yappli Tech Conference 2022 の発表資料です!

▽イベントページ▽
https://yappli.connpass.com/event/259001/

Hunachi

October 11, 2022
Tweet

More Decks by Hunachi

Other Decks in Technology

Transcript

  1. ϨϏϡʔμΠΞϩάػೳͷऔΓ૊Έ ~ Androidฤ ~ SESSION 8

  2. "OESPJEΤϯδχΞ 
 ۙ౻՚ χοΫωʔϜ ;ͳͪ [email protected] 5XJUUFS झຯ ҰॹʹॅΜͰ͍ΔೣΛѪͰΔ͜ͱ ฼ߍͷ͓஡େͰٕज़ίϛϡχςΟͷࢧԉ

    
 %SPJE,BJHJͷӡӦϝϯόʔ ͦͷଞ ࣗݾ঺հ
  3. INDEX 01 02 03 04 എܠ ϨϏϡʔμΠΞϩάػೳ AndroidͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷ ·ͱΊ

  4. എܠ

  5. ΫϥΠΞϯτΞϓϦશମͰ 
 ϨϏϡʔ͕͓໰߹ͤͷΑ͏ʹ 
 ࢖ΘΕετΞϨϏϡʔฏۉ఺͕ 
 ௿͘ͳΔ܏޲ʹ͋ͬͨ ϨϏϡʔ͕௿͍ͱɺ 
 μ΢ϯϩʔυ཰΍

    ݕࡧॱҐʹӨڹ͢Δ ʮϨϏϡʔͷฏۉ఺Λ ্͍͛ͨɾ૿΍͍ͨ͠ʯ 
 ͱཁ๬͕͋ͬͨࡍʹ Ԡ͑Δ͜ͱ͕ग़དྷͳ͔ͬͨ എܠ
  6. ϨϏϡʔμΠΞϩάػೳ ͦ͜Ͱ։ൃ͞Εͨͷ͕

  7. ϨϏϡʔμΠΞϩάػೳϨϏϡʔμΠΞϩάػೳͱ͸ʁ ϢʔβʔʹΞϓϦ಺ͰΞϓϦͷϨϏϡʔͯ͠ 
 ΋Β͏ͨΊͷػೳ 
 ࠓ೥ͷ݄ʹϦϦʔεࡁΈ ໨త͸ʮϢʔβʔʹΑΓଟ͘ͷϨϏϡʔ౤ߘػձ Λ࡞Δ͜ͱʯ ❏ ΞϓϦΛΑ͘࢖ͬͯ͘Ε͍ͯΔϢʔβʔʹ

    
 ରͯ͠දࣔ ❏ ϨϏϡʔ݁Ռ͸ɺ"QQ4UPSF΍(PPHMF 1MBZ4UPSFʹ൓ө ❏ ެࣜ"1*Λ༻͍࣮ͯ૷ 
 "OESPJE(PPHMF1MBZ*O"QQ3FWJFX"1* 
 J044,4UPSF3FWJFX$POUSPMMFS
  8. ϨϏϡʔμΠΞϩάػೳಋೖͨ݁͠Ռ

  9. Android্Ͱͷ
 ϨϏϡʔμΠΞϩάػೳͷ࣮૷

  10. "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷ ❏ ΞΫςΟϒ཰Λܭଌ͢Δ ❏ ܭଌ͕ਖ਼֬ʹߦ͍͑ͯΔ͔ςετ͢Δ ΫϩʔζυϞʔυΛ࡞Δ ❏ μΠΞϩάΛ࡞ͬͯදࣔͤ͞Δ ❏ μΠΞϩάΛදࣔ͢Δ

    ❏ ಈ͍͍ͯΔ͔ςετ͢Δ ɹμΠΞϩάΛදࣔͤ͞ΔϑϥάΛ؅ཧ͢Δ Manager Activity Repository DataSource UseCase In-App-Review API TestDialog ɹ(PPHMF1MBZ*O"QQ3FWJFX"1*Λ࢖͏
  11. ɹμΠΞϩάΛදࣔͤ͞ΔϑϥάΛ؅ཧ͢Δ "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷ ❏ ΞΫςΟϒ཰Λܭଌ͢Δ ❏ ܭଌ͕ਖ਼֬ʹߦ͍͑ͯΔ͔ςετ͢Δ ΫϩʔζυϞʔυΛ࡞Δ ❏ μΠΞϩάΛ࡞ͬͯදࣔͤ͞Δ ❏

    μΠΞϩάΛදࣔ͢Δ ❏ ಈ͍͍ͯΔ͔ςετ͢Δ Manager Activity Repository DataSource UseCase In-App-Review API TestDialog ɹ(PPHMF1MBZ*O"QQ3FWJFX"1*Λ࢖͏
  12. "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷μΠΞϩάΛදࣔͤ͞ΔϑϥάΛ؅ཧ͢Δ ແҋʹμΠΞϩάΛग़ͤ͹͍͍ 
 ͱ͍͏Θ͚Ͱ͸ͳ͍ ϠϓϦͰ͸৭ʑͳΞϓϦ͕͋ΔͨΊ 
 ൚༻తʹ࢖͑Δࢦඪ͕ඞཁ ΞΫςΟϒϢʔβʔ͕ΞϓϦΛ։͍ͨ࣌ʹදࣔ 
 ΞΫςΟϒϢʔβʔʹिؒʹҰఆճ਺Ҏ্ΞϓϦΛར༻ͨ͠ํ

  13. μΠΞϩάΛग़͢·ͰͷྲྀΕ ΞΫςΟϒͳ೔਺Λܭଌ ઃఆ৘ใͷऔಘ ΞΫςΟϒϢʔβʔԽ μΠΞϩάΛදࣔͤ͞Δ 
 ϑϥάΛཱͯΔ ϨϏϡʔμΠΞϩάΛදࣔ O೔िΞΫςΟϒ ϗʔϜը໘ىಈ

    ຊ൪Ϟʔυͷ࣌ͷΈ 
 ˞μΠΞϩά͕දࣔ͞ΕΔ͔Ͳ͏ ͔͕(PPHMF೚ͤͳͨΊ "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷μΠΞϩάΛදࣔͤ͞ΔϑϥάΛ؅ཧ͢Δ
  14. μΠΞϩάΛग़͢·ͰͷྲྀΕ ΞΫςΟϒͳ೔਺Λܭଌ ઃఆ৘ใͷऔಘ ΞΫςΟϒϢʔβʔԽ μΠΞϩάΛදࣔͤ͞Δ 
 ϑϥάΛཱͯΔ ϨϏϡʔμΠΞϩάΛදࣔ n೔/ि ΞΫςΟϒ

    ϗʔϜը໘ىಈ "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷μΠΞϩάΛදࣔͤ͞ΔϑϥάΛ؅ཧ͢Δ ❏ ϨϏϡʔμΠΞϩά͕ઃఆ͞ΕͨޙʹɺॳΊͯ ΞϓϦ͕ىಈ͞Εͨ೔ΛिؒͷΧ΢ϯτΛ͢ Δج४ͷ༵೔ͱ͢Δ ❏ ج४ͷ༵೔ʙ࣍ճͷج४ͷ༵೔ͷલ೔·Ͱͷ िؒͰԿ೔ΞΫςΟϒʹͳ͔ͬͨΧ΢ϯτ ❏ ΞΫςΟϒͱ൑ఆ͢ΔλΠϛϯά ❏ ΞϓϦىಈ࣌ ❏ όοΫάϥ΢ϯυ͔Β෮ؼ࣌ ೔݄Րਫ໦ۚ౔
  15. μΠΞϩάΛग़͢·ͰͷྲྀΕ ΞΫςΟϒͳ೔਺Λܭଌ ઃఆ৘ใͷऔಘ ΞΫςΟϒϢʔβʔԽ μΠΞϩάΛදࣔͤ͞Δ 
 ϑϥάΛཱͯΔ ϨϏϡʔμΠΞϩάΛදࣔ O೔िΞΫςΟϒ ϗʔϜը໘ىಈ

    "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷μΠΞϩάΛදࣔͤ͞ΔϑϥάΛ؅ཧ͢Δ ❏ ΞΫςΟϒճ਺͸୺຤ଆͰอଘ ❏ αʔό͔Βऔಘ͢Δઃఆ৘ใ ❏ ϨϏϡʔμΠΞϩάͷ0/0'' ❏ Կ೔िͰΞΫςΟϒϢʔβʔͱ͢Δ͔ ❏ ද͍ࣔͨ͠μΠΞϩάͷϞʔυ ❏ ΫϩʔζυϞʔυ ❏ ຊ൪ʢ(PPHMF1MBZ*O"QQ3FWJFX"1*Λ࢖͏ʣϞʔ υ
  16. μΠΞϩάΛग़͢·ͰͷྲྀΕ ΞΫςΟϒͳ೔਺Λܭଌ ઃఆ৘ใͷऔಘ ΞΫςΟϒϢʔβʔԽ μΠΞϩάΛදࣔͤ͞Δ 
 ϑϥάΛཱͯΔ ϨϏϡʔμΠΞϩάΛදࣔ O೔िΞΫςΟϒ ϗʔϜը໘ىಈ

    ຊ൪Ϟʔυͷ࣌ͷΈ 
 ˞μΠΞϩά͕දࣔ͞ΕΔ͔Ͳ͏ ͔͕(PPHMF೚ͤͳͨΊ "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷μΠΞϩάΛදࣔͤ͞ΔϑϥάΛ؅ཧ͢Δ
  17. μΠΞϩάΛग़͢·ͰͷྲྀΕ ΞΫςΟϒͳ೔਺Λܭଌ ઃఆ৘ใͷऔಘ ΞΫςΟϒϢʔβʔԽ μΠΞϩάΛදࣔͤ͞Δ 
 ϑϥάΛཱͯΔ ϨϏϡʔμΠΞϩάΛදࣔ O೔िΞΫςΟϒ ϗʔϜը໘ىಈ

    ຊ൪Ϟʔυͷ࣌ͷΈ 
 ˞μΠΞϩά͕දࣔ͞ΕΔ͔Ͳ͏ ͔͕(PPHMF೚ͤͳͨΊ "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷μΠΞϩάΛදࣔͤ͞ΔϑϥάΛ؅ཧ͢Δ ❏ μΠΞϩάΛදࣔͤ͞Δϑϥά΋ ୺຤ଆͰอଘ
  18. μΠΞϩάΛग़͢·ͰͷྲྀΕ ΞΫςΟϒͳ೔਺Λܭଌ ઃఆ৘ใͷऔಘ ΞΫςΟϒϢʔβʔԽ μΠΞϩάΛදࣔͤ͞Δ 
 ϑϥάΛཱͯΔ ϨϏϡʔμΠΞϩάΛදࣔ n೔/ि ΞΫςΟϒ

    ϗʔϜը໘ىಈ ຊ൪Ϟʔυͷ࣌ͷΈ 
 ˞μΠΞϩά͕දࣔ͞ΕΔ͔Ͳ͏ ͔͕(PPHMF೚ͤͳͨΊ "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷μΠΞϩάΛදࣔͤ͞ΔϑϥάΛ؅ཧ͢Δ ❏ ϗʔϜը໘ىಈ࣌ʹຖճϑϥά͕ ཱ͍ͬͯΔ͔֬ೝ ❏ ϑϥάཱ͕͍ͬͯΔ৔߹͸ 
 μΠΞϩάΛදࣔ ❏ μΠΞϩάදࣔޙɺ 
 อଘ͍ͯͨ͠৘ใΛॳظԽ
  19. μΠΞϩάΛग़͢·ͰͷྲྀΕ ΞΫςΟϒͳ೔਺Λܭଌ ઃఆ৘ใͷऔಘ ΞΫςΟϒϢʔβʔԽ μΠΞϩάΛදࣔͤ͞Δ 
 ϑϥάΛཱͯΔ ϨϏϡʔμΠΞϩάΛදࣔ O೔िΞΫςΟϒ ϗʔϜը໘ىಈ

    ຊ൪Ϟʔυͷ࣌ͷΈ 
 ˞μΠΞϩά͕දࣔ͞ΕΔ͔Ͳ͏ ͔͕(PPHMF೚ͤͳͨΊ "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷μΠΞϩάΛදࣔͤ͞ΔϑϥάΛ؅ཧ͢Δ
  20. อଘ͓͖͍ͯͨ͠σʔλ͸ 
 %BUB4UPSFΛ࢖͍อଘ Manager Activity Repository DataSource UseCase In-App-Review API

    TestDialog "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷μΠΞϩάΛදࣔͤ͞ΔϑϥάΛ؅ཧ͢Δ
  21. อଘ͓͖͍ͯͨ͠σʔλ͸%BUB4UPSFΛ࢖͍อଘ Manager Activity Repository DataSource UseCase In-App-Review API TestDialog "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷μΠΞϩάΛදࣔͤ͞ΔϑϥάΛ؅ཧ͢Δ

  22. อଘ͓͖͍ͯͨ͠σʔλ͸%BUB4UPSFΛ࢖͍อଘ Manager Activity Repository DataSource UseCase In-App-Review API TestDialog "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷μΠΞϩάΛදࣔͤ͞ΔϑϥάΛ؅ཧ͢Δ

  23. "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷μΠΞϩάΛදࣔͤ͞ΔϑϥάΛ؅ཧ͢Δ

  24. Manager Activity Repository DataSource UseCase In-App-Review API TestDialog "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷μΠΞϩάΛදࣔͤ͞ΔϑϥάΛ؅ཧ͢Δ

  25. ɾΧ΢ϯτΛ1ʹ ɾΧ΢ϯτελʔτ೔ Λߋ৽ ΞΫςΟϒ཰Λܭଌ͢Δ 6TF$BTFͰΧ΢ϯτΛ૿΍͔͢Ͳ͏͔Λ൑அ͢ΔίʔυΛॻ͘ ΞΫςΟϒʹͳͬͨ ͢Ͱʹϑϥά͕ 
 ཱ͍ͬͯΔ Կ΋͠ͳ͍

    ࠓ೔ͷ෼Λ Χ΢ϯτ͠ 
 ऴ͍͑ͯΔ લճͷΧ΢ϯτ ελʔτ೔͔Β1िؒ 
 Ҏ্ཱ͍ͬͯΔ ϑϥάΛཱͯΔ 
 Χ΢ϯτ਺Λ 
 ௒աͨ͠ Χ΢ϯτΛ1૿΍͢ ϑϥάΛཱͯΔ Manager Repository UseCase "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷μΠΞϩάΛදࣔͤ͞ΔϑϥάΛ؅ཧ͢Δ
  26. ܭଌ͕ਖ਼֬ʹߦ͍͑ͯΔ͔ςετ͢Δ ❏ 6TF$BTFʹର͢ΔςετΛॻ͍ͨ ❏ ߦఔ౓ͷςετίʔυྔ ❏ ςετ͕೔Ͱ͸Ͱ͖ͳ͍෦෼΋͋ΔͨΊɺ2"͍ͯͨͩ͘͠લʹͰ͖ΔݶΓόά͕ͳ͍ঢ়ଶʹ͔ͨͬͨ͠ ❏ ςετ಺༰ ❏

    τϦΨʔͷछྨ͕มߋ͞Εͨ࣌ʹॳظԽ͕͞Ε͍ͯΔ͔ ❏ μΠΞϩάΛදࣔͤ͞Δϑϥά͕͢Ͱʹཱ͍ͬͯΔ৔߹ʹߋ৽͕͔͔Βͳ͍͔ ❏ ि಄͔ΒिؒҎ্͕ܦա͍ͯͨ͠ʢिؒ ೔ʣ ❏ ि಄͔ΒिؒҎ্͕ܦա͍ͯͨ͠ʢिؒ ೔ʣ ❏ ि಄͔ΒिؒҎ಺ͰલճΞΫςΟϒʹͳ͔ͬͯΒ೔Ҏ্ܦաʢઃఆͨ͠೔਺Ҏ಺ʣ ❏ ि಄͔ΒिؒҎ಺ͰલճΞΫςΟϒʹͳ͔ͬͯΒ೔Ҏ্ܦաʢઃఆͨ͠೔਺ʹ౸ୡʣ ❏ ि಄͔ΒिؒҎ಺ͰલճΞΫςΟϒʹͳͬͨ೔ͱಉ͡೔ʹΞΫςΟϒʹͳͬͨ 
 ͳͲ "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷μΠΞϩάΛදࣔͤ͞ΔϑϥάΛ؅ཧ͢Δ
  27. ΞΫςΟϒʹͳͬͨλΠϛϯάΛ6TF$BTFʹ஌ΒͤΔ Manager Activity Repository DataSource UseCase In-App-Review API TestDialog //

    Manager಺ͷίʔυ /**ΞϓϦىಈ࣌ or όοΫάϥ΢ϯυ͔Βͷ෮ؼ࣌ʹ࣮ߦ͢Δॲཧ */ fun onApplicationEnterForeground(application: YLApplication) { application.runOnMainActivity { it.lifecycleScope.launchWhenResumed { // ϨϏϡʔμΠΞϩά༻ʹΞΫςΟϒ਺ΛΧ΢ϯτ͢Δ useCase.updateActiveTriggerStatus() ɹɹ// ϨϏϡʔμΠΞϩάͷදࣔ showReviewDialogIfNeed(it) } } } "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷μΠΞϩάΛදࣔͤ͞ΔϑϥάΛ؅ཧ͢Δ
  28. ΞΫςΟϒʹͳͬͨλΠϛϯάΛ6TF$BTFʹ஌ΒͤΔ Manager Activity Repository DataSource UseCase In-App-Review API TestDialog "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷μΠΞϩάΛදࣔͤ͞ΔϑϥάΛ؅ཧ͢Δ

  29. Manager Activity 
 Application Repository DataSource UseCase In-App-Review API TestDialog

    "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷μΠΞϩάΛදࣔͤ͞ΔϑϥάΛ؅ཧ͢Δ
  30. ΫϩʔζυϞʔυΛ࡞Δ "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷ ❏ ΞΫςΟϒ཰Λܭଌ͢Δ ❏ ܭଌ͕ਖ਼֬ʹߦ͍͑ͯΔ͔ςετ͢Δ ❏ μΠΞϩάΛ࡞ͬͯදࣔͤ͞Δ ❏ μΠΞϩάΛදࣔ͢Δ

    ❏ ಈ͍͍ͯΔ͔ςετ͢Δ ɹμΠΞϩάΛදࣔͤ͞ΔϑϥάΛ؅ཧ͢Δ Manager Activity Repository DataSource UseCase In-App-Review API TestDialog ɹ(PPHMF1MBZ*O"QQ3FWJFX"1*Λ࢖͏
  31. ྑ͍ޮՌ͕ग़Δͷ͔Θ͔Βͣ 
 ΫϥΠΞϯτʹקΊΒΕͳ͍ ΫϩʔζυϞʔυΛ࡞੒ ❏ μΠΞϩά͸৽ͨʹ࡞੒ ❏ ެࣜ"1*͸࢖༻͠ͳ͍ ❏ ϨϏϡʔ݁Ռ͸ετΞͷϨ

    Ϗϡʔʹ൓ө͞Εͳ͍ ❏ ϨϏϡʔ݁Ռ͸ࣾ಺ͷαʔ όʹอଘ͠෼ੳ ˞ϨϏϡʔμΠΞϩάػೳͷಋ ೖʹࡍͯ͠ɺॳظௐࠪͷͨΊʹ ࣮૷ɻݱࡏ͸࢖༻͍ͯ͠ͳ͍ɻ "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷ΫϩʔζυϞʔυΛ࡞Δ
  32. "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷ ❏ ΞΫςΟϒ཰Λܭଌ͢Δ ❏ ܭଌ͕ਖ਼֬ʹߦ͍͑ͯΔ͔ςετ͢Δ ΫϩʔζυϞʔυΛ࡞Δ ❏ μΠΞϩάΛ࡞ͬͯදࣔͤ͞Δ ❏ μΠΞϩάΛදࣔ͢Δ

    ❏ ಈ͍͍ͯΔ͔ςετ͢Δ ɹμΠΞϩάΛදࣔͤ͞ΔϑϥάΛ؅ཧ͢Δ Manager Activity Repository DataSource UseCase In-App-Review API TestDialog ɹ(PPHMF1MBZ*O"QQ3FWJFX"1*Λ࢖͏
  33. (PPHMF1MBZ*O"QQ3FWJFX"1* 
 ❏ ϢʔβʔΛΞϓϦ͔Β཭Εͤͣ͞ʹ1MBZετΞͷධՁͱϨϏϡʔΛૹ৴͢ΔΑ͏ଅ͢͜ͱ͕Ͱ͖Δ"1* ❏ "OESPJEʢ"1*ϨϕϧʣҎ߱ɺ(PPHMF1MBZετΞ͕Πϯετʔϧ͞Ε͍ͯΔ୺຤Ͱ࢖༻Մೳ IUUQTEFWFMPQFSBOESPJEDPNHVJEFQMBZDPSFJOBQQSFWJFX'JHVSFࢀর "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷(PPHMF1MBZ*O"QQ3FWJFX"1*Λ࢖͏ ࢖༻ํ๏΍ઃܭͷΨΠυϥΠϯ 


    ʹै͏ඞཁ͕͋Δ 
 μΠΞϩάͷՃ޻΍ɺμΠΞϩάΛग़͢લʹྑ͍ ධՁΛଅ͢Α͏ͳڍಈΛ͢Δͷ͸/( Ϣʔβʔ͕ϨϏϡʔͯ͘͠Ε͔ͨͲ͏͔Λ 
 ΞϓϦଆͰ஌Δ͜ͱ͸Ͱ͖ͳ͍ μΠΞϩά͕දࣔ͞ΕΔ͔Ͳ͏͔͸ 
 ΞϓϦଆͰ͸൑அͰ͖ͳ͍ͷͰ 
 දࣔ͞Εͳͯ͘΋໰୊ͳ͍Α͏ͳ෦෼Ͱ 
 දࣔͤ͞Δඞཁ͕͋Δ
  34. μΠΞϩάΛදࣔ͢Δʢຊ൪Ϟʔυʣ σόοά࣌ͱຊ൪࣌Ͱ.BOBHFSΛม͑Δ 
 'BLF3FWJFX.BOBHFSΛ࢖͏ͱ SFRVFTU3FWJFX'MPXͰৗʹِͷ 3FWJFX*OGPΦϒδΣΫτΛఏڙͯ͠੒ޭ εςʔλεΛฦͯ͘͠ΕΔ Manager Activity UseCase

    "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷(PPHMF1MBZ*O"QQ3FWJFX"1*Λ࢖͏
  35. ಈ͍͍ͯΔ͔ςετ͢Δ ❏ σόοά࣌ ❏ ઌఔͷίʔυͰॻ͍ͨΑ͏ʹ-PHΛग़ྗ͠੒ޭ͍ͯ͠Δ͔൑அ͢Δ ❏ ຊ൪؀ڥ࣌ ❏ (PHHMF1MBZͷ಺෦ΞϓϦڞ༗Λ࢖ͬͨ ❏

    ϨϏϡʔ͸ૹ৴Ͱ͖ͳ͍͕ɺμΠΞϩά͸දࣔ͞ΕΔ "OESPJEͰͷϨϏϡʔμΠΞϩάػೳͷ࣮૷(PPHMF1MBZ*O"QQ3FWJFX"1*Λ࢖͏
  36. ·ͱΊ

  37. ࠓճ͸ɺ"OESPJEͷϨϏϡʔμΠΞϩάͷϠϓϦͰͷ࣮૷ʹ͍ͭͯ঺հ͠·ͨ͠ɻ 
 ϨϏϡʔμΠΞϩάΛ௨ͯ͡ϠϓϦ੡ΞϓϦΛѪ༻ͯ͘͠Ε͍ͯΔϢʔβʔ͔Βͷ੠Λ஌Δ͜ͱ͕Ͱ͖ΔΑ ͏ʹ🎉 ϓϩδΣΫτΛ௨ֶͯ͠΂ͨ͜ͱ ❏ ࣗ෼͕࣮૷ͨ͠΋ͷͰޮՌ͕ग़Δͱخ͍͠ ❏ λεΫͷ੾Γ෼͚΍޻਺؅ཧͷܦݧ͕Ͱ͖ͨ ❏

    ςετΛॻ͘͜ͱ͸ɺόάΛݮΒ͚ͩ͢Ͱͳ͘ɺΠϯγσϯτݪҼͷௐࠪʹ΋໾ʹཱͭ ·ͱΊ