Slide 1

Slide 1 text

Master of Subscription Fuji Kinaga

Slide 2

Slide 2 text

ఆظߪೖʹରԠͨ࣌͠ʹಘͨ஌ݟΛ

Slide 3

Slide 3 text

άάͬͯ΋Ҋ֎৘ใ͕ͳ͍

Slide 4

Slide 4 text

՝ۚؔ࿈ͷ·ͱΊ͓͢͢Ί • CyberAgent
 https://ameblo.jp/principia-ca/ entry-12071725733.html • Cookpad
 https://techlife.cookpad.com/entry/ 2018/03/14/090000 • Excite 
 https://blog.excite.co.jp/exdev/27370175/

Slide 5

Slide 5 text

࿩ͤͳ͍΋ͷ • αʔόʔαΠυͷGoogleAPIͷ࿩ • ΞΠςϜߪೖ՝ۚͷ࿩ • ՝ۚͷྉۚߋ৽΍Ԇ௕ͱ͍ͬͨൃలతͳ࢖͍ ํͷ࿩ • ෆਖ਼՝ۚπʔϧͷ࿩

Slide 6

Slide 6 text

લఏ 1.ఆظߪೖΛ༗ޮʹ͍ͯ͠ΔͷʹϓϨϛΞϜػ ೳ͕࢖͑ͳ͍ͱ͍͏͜ͱ͸๷͙΂͖ 2.ఆظߪೖ͕ແޮʹͳ͍ͬͯΔͷʹϓϨϛΞϜ ػೳ͕࢖͑ͯ͠·͏ͷ͸๷͙΂͖ 3.Ϣʔβʔ΁ͷαϙʔτମ੍Λ੔͓͑ͯ͘΂͖ʢϓ ϨϛΞϜػೳͷෆඋ΍ෆ۩߹ʹඋ͑ͯʣ

Slide 7

Slide 7 text

͜ͷલఏΛ࣮ݱ͢Δͷ͕݁ߏ ೉͔ͬͨ͠

Slide 8

Slide 8 text

େ͖࣮͘૷࣌ʹ஫ҙͨ͜͠ͱ • ୺຤಺ʹఆظߪೖத͔Ͳ͏͔ͷσʔλΛӬଓԽ͢Δ΂͖Ͱ͸ͳ͍
 - ՝ۚ৘ใ͸GoogleΞΧ΢ϯτʹඥ͖ͮɺϢʔβʔ͕୺຤ઃఆ͔Βࣗ༝ʹΞΧ΢ϯτ ΛมߋͰ͖Δ(੾Γସ͑ɾ௥Ճɾ࡟আɾશ࡟আ΋Ͱ͖Δ)
 - ΞϓϦΛ࡟আ͢ΔͱຖճӬଓԽσʔλ͸Ϧηοτ͞ΕΔ
 - ಉ͡GoogleΞΧ΢ϯτͰෳ਺୺຤Λར༻͍ͯ͠Δέʔε΋ߟྔ͢Δඞཁ͕͋Δ • ՝ۚ৘ใͷऔಘΛαϘΒͳ͍
 - ՝ۚঢ়ଶ͸GooglePlayετΞΞϓϦ͔Β͸ղ໿ͱ࠶։ɺPlayConsole͔Β͸ղ໿ͱ ෷͍໭͠ɺ୺຤ઃఆ͔Β͸GoogleΞΧ΢ϯτ੾Γସ͕͑Ͱ͖ΔͨΊɺ͍ͭͰ΋มߋ͕ ൃੜ͢ΔՄೳੑ͕͋Δ
 - GoogleSDKͷ՝ۚ৘ใͷऔಘ͸ΩϟογϡΛར༻ͯ͠औಘͯ͘͠ΔͨΊɺඇಉظͰ ͸͋Δ͕௨৴͕ຖճൃੜ͢Δ͜ͱ͸ͳ͍

Slide 9

Slide 9 text

ଞʹݕ౼ͨ͠΋ͷ

Slide 10

Slide 10 text

Google Play Billing Library

Slide 11

Slide 11 text

GPBL 1.1 • In-app Billing Version3 APIΛ࢖͍΍͘͢ϥοϓͯ͘͠Ε͍ͯΔ • ܾࡁॲཧɺߪೖ৘ใऔಘͷonActivityResultͷϋϯυϦϯάΛ ΍Γ΍ͯ͘͘͢͠Ε͍ͯΔ • ErrorCodeΛPublic enumͰఆٛͯ͘͠ΕͯΔͷ͕݁ߏ͋Γ͕ ͍ͨ • developerPayload͕ඇਪ঑ʢUserIdͱ͔ೖΕ͓͚ͯ͹҆શ ͕ͩͬͨɺߟྀ͕૿͑ͨʣ

Slide 12

Slide 12 text

onResumeͰ՝ۚঢ়ଶͷߋ৽

Slide 13

Slide 13 text

੒ޭҎ֎ͷߟ͑Δ΂͖Τϥʔέʔε • ະ՝ۚ
 - ఆظߪೖΛ༗ޮʹͨ͜͠ͱ͕ͳ͍
 - ఆظߪೖΛղ໿͠ɺ՝ۚ೔Λܴ͑ͨޙ • ωοτϫʔΫΤϥʔ
 - Googleͷαʔόʔͷ઀ଓʹࣦഊͨ͠ • Google͔Βߪೖσʔλ͕ฦͬͯ͜ͳ͍
 - ୺຤ʹGoogleΞΧ΢ϯτ͕Ұͭ΋ͳ͍࣌
 - Googleͷαʔόʔ઀ଓͰΤϥʔ͕ى͖Δ • ఆظߪೖʹରԠ͍ͯ͠ͳ͍
 - ରԠ͍ͯ͠ͳ͍ࠃͷIPΞυϨε͔ΒGoogleΞΧ΢ϯτ࿈ܞ͕ߦΘΕ͍ͯΔ

Slide 14

Slide 14 text

શମਤ Ϡϯά͞Μ࡞

Slide 15

Slide 15 text

Google Play ConsoleͰߦ͑Δ͜ͱ

Slide 16

Slide 16 text

஫จID͝ͱͷఆظߪೖղ໿ͱ෷͍໭͠ • ղ໿͢Δͱ෷͍໭͕͠ԡͤΔΑ͏ʹͳΔ

Slide 17

Slide 17 text

ςετ՝ۚ • ςετ൛Ͱ՝ۚॲཧ͍ͨ͠৔߹


Slide 18

Slide 18 text

ςετ՝ۚ • ແྉͰܾࡁͰ͖ΔΑ͏ʹ͍ͨ͠৔߹

Slide 19

Slide 19 text

࣮૷ʹ͍ͭͯ • RuntimePermission࣮૷ͷΑ͏ʹϓϨϛΞϜ΋࣮૷͢Δͷ͕៉ྷ
 - ՝ۚޙ͸ߦ͍͔ͨͬͨॲཧΛonActivityResultͳͲͰॲཧͯ͋͛͠Δ • ܾࡁ࣌ͷωοτϫʔΫΤϥʔ͸ߟ͑ͳͯ͘େৎ෉
 - SDKଆ͕͔ͬ͠Γ͍ͯ͠Δ • ॳظ஋͸ඞͣະϓϨϛΞϜʹ͓ͯ͘͠
 - onResumeͰͷ՝ۚ৘ใͷऔಘ͕ऴΘΔ·Ͱ଴ͭ • ՝ۚΤϥʔ࣌͸ϩάΛૹΔΑ͏ʹ͓ͯ͘͠

Slide 20

Slide 20 text

ϋϚͬͨ͜ͱ • ෳ਺୺຤Ͱಉ͡GoogleΞΧ΢ϯτΛར༻͍ͯ͠Δ࣌ʹɺͲΕ͔ͷ୺຤Ͱ՝ۚঢ়ଶΛมߋͨ࣌͠ɺ ଞͷ୺຤΁ͷ৘ใ൓өʹϥά͕͋ͬͨ
 - https://www.au.com/support/faq/view.k1205140002/ • طଘͷiOSͷϓϨϛΞϜػೳͷཁ݅ΛAndroidͷSDKͷൣғ಺Ͱຬͨ͢ඞཁ͕͋ͬͨ • ৘ใ͕গͳ͍ͨΊɺෆ֬ఆͳཁૉ͕ଟ͘ɺશͯಈ͔ͯ͠ݕূ͍ͯ͘͠ඞཁ͕͋ͬͨ • ϓϨϛΞϜػೳ͕བྷΉը໘΁ͷεΩʔϚ
 - ՝ۚ৘ใͷऔಘΛஞҰ଴ͭඞཁ͕͋ΔͨΊ
 - ຊ౰ʹߟ͑Δ͜ͱଟ͍(৺ͷڣͼ) • ςετ՝ۚΛQAͰ΋ߦ͑ΔΑ͏ʹ͢Δ࢓૊Έͮ͘Γ
 - ࠷ॳͷࠒ͸ຖճQAςετ༻ͷϏϧυΛผͰ࡞ͬͯຖ೔ߋ৽ͨ͠Γ͍ͯͨ͠
 - όʔδϣϯίʔυΛຖճΠϯΫϦϝϯτͨ͠Γɺ࡞ۀ͕໘౗ͩͬͨ

Slide 21

Slide 21 text

ཪٕ • Deploygate͔ΒΠϯετʔϧͨ͠ϏϧυͰ΋՝ۚ Ͱ͖Δ
 - ςετ൛ʹΞοϓͨ͠Ϗϧυͱ৘ใ͕ಉ͡Ͱ͋Ε ͹՝ۚػೳ͕ར༻Ͱ͖Δ
 - ετΞʹ্͛ΒΕͨϏϧυͷApplicationIdͱ࣮ࡍ ʹ՝ۚ͠Α͏ͱ͍ͯ͠ΔId͕Ұக͍ͯ͠Δ͔
 - όʔδϣϯίʔυͷ஋͕Ұக͍ͯ͠Δ͔(͓ͦΒ͘)

Slide 22

Slide 22 text

ෆਖ਼՝ۚπʔϧ/ϋοΩϯάͷଘࡏ

Slide 23

Slide 23 text

ରԠࡦ • TokenΛαʔόʔʹૹͬͯෆਖ਼ͳTokenͰͳ͍ ͔ਫ਼ࠪ͢Δ • ՝ۚػೳΛ࢖͑Δ͔Ͳ͏͔ͷ൑அΛ GooglePlaySDK͔Βͷ৘ใ+αʔόʔ͔Βͷ ৘ใʹ͢Δ

Slide 24

Slide 24 text

Fin.