Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
react-native-unimodulesを用いてのApp内課金実装
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yu Watanabe
March 04, 2021
Technology
1.2k
0
Share
react-native-unimodulesを用いてのApp内課金実装
react-native-unimodulesを用いてのApp内課金実装についてです
Yu Watanabe
March 04, 2021
More Decks by Yu Watanabe
See All by Yu Watanabe
依存ライブラリを薄くするために車輪を再開発してもいいんだよ🛞
watanabeyu
0
150
Bolt 🤝 Expo
watanabeyu
0
400
npm packageとリリースとモノレポ
watanabeyu
0
79
react-native-ffmpegを使って動画をいじくりmawasou
watanabeyu
0
1k
gandhの紹介です
watanabeyu
0
45
XcodeやAndroid Studioを弄らないアイコン管理
watanabeyu
2
700
Firebaseオンリー + React Nativeでアプリを作ると果たして簡単になるのか?
watanabeyu
4
1.3k
react-native-unimodulesのススメ
watanabeyu
1
6.7k
JavaScript製npmパッケージをTypeScriptで書き直した話
watanabeyu
0
1.2k
Other Decks in Technology
See All in Technology
20260428_Product Management Summit_Loglass_JoeHirose
loglassjoe
4
6.8k
『生成AI時代のクレデンシャルとパーミッション設計 — Claude Code を起点に』の執筆企画
takuros
2
2.1k
[Scram Fest Niigata2026]Quality as Code〜AIにQAの思考を再現させる試み〜
masamiyajiri
1
220
【技術書典20】OpenFOAM(自宅で深める流体解析)流れと熱移動(2)
kamakiri1225
0
370
AndroidアプリとCopilot Studioの統合
nakasho
0
200
大学職員のための生成AI最前線 :最前線を、AIガバナンスとして読み直すためのTips
gmoriki
2
3.5k
Anthropic「Long-running a gents」をGeminiで再現してみた
tkikuchi
0
780
AI時代に越境し、 組織を変えるQAスキルの正体 / QA Skills for Transforming an Organization
mii3king
5
3.7k
CyberAgent YJC Connect
shimaf4979
1
150
ファインディの事業拡大を支える 拡張可能なデータ基盤へのリアーキテクチャ
hiracky16
0
860
Percolatorを廃止し、マルチ検索サービスへ刷新した話 / Search Engineering Tech Talk 2026 Spring
visional_engineering_and_design
0
310
[Oracle TechNight#99] 生成AI時代のAI/ML入門 ~ AIとオラクルデータベースの関係 (後半)
oracle4engineer
PRO
3
220
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.5k
The SEO Collaboration Effect
kristinabergwall1
1
440
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
790
Abbi's Birthday
coloredviolet
2
7.4k
A Modern Web Designer's Workflow
chriscoyier
698
190k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
190
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
180
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
350
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
490
Making the Leap to Tech Lead
cromwellryan
135
9.8k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
370
Transcript
2021/03/04 ΘͨͳΏ͏ REACT-NATIVE-UNIMODULESΛ༻͍ͯͷ APP՝࣮ۚ
▸ ExpoΛ͍ͬͯΔ ▸ APP՝ۚ(αϒεΫ)Λ࣮͠ͳ͍ͱ͍͚ͳ͍ਓ ຊεϥΠυͷλʔήοτ
▸ ࣗݾհ ▸ APP՝ۚʹ͍ͭͯ ▸ expo-in-app-purchaseΛ༻͍ͯAPP՝ۚΛ࣮͢Δ ▸ ՝ۚεςʔλεͷ֬ೝʹ͍ͭͯ ▸ ΞϓϦΛ։͍ͨͱ͖ͳͲखಈͰ֬ೝΛ͢Δ
▸ webhookΛ༻͍ͯϢʔβଆͰεςʔλεมߋͨ͠ࡍʹ֬ೝ͢Δ ▸ ·ͱΊ ࣍
ࣗݾհ(1) ΘͨͳΏ͏ ▸ ॴଐ ▸ גࣜձࣾg&h CTO ▸ Web /
ΞϓϦΛझຯͰެ։ ▸ ࣄ༰ ▸ αʔό / ϑϩϯτ / ΞϓϦ / Web / શ෦ ▸ ΞΧϯτ ▸ Twitter : @hmktsu ▸ Github : @watanabeyu
ࣗݾհ(2) ▸ https://www.gandh.jp ▸ 6໊(ΤϯδχΞ1ਓ) ▸ ετϦʔτΧϧνϟʔ × ITͳμϯεαʔϏεΛӡӦ ▸
https://dancewith.jp ▸ ετϦʔτμϯεͷΦϯϥΠϯϨοεϯΞϓϦ ▸ react-native + firebase + TypeScript + bitrise + NextJS ▸ prisma + GraphQL + Electron + ffmpeg ▸ TypeScriptͰ౷Ұͯ͠ۀޮԽ ▸ εχʔΧʔؔͷΞϓϦͷཪଆͰճͯ͠ΔγεςϜ ▸ TypeScript + Node + puppeteer + firebaseͰ࡞ ▸ ΞϓϦҰ෦ػೳΛผΞϓϦͱͯ͠react-nativeͰ࡞த
ຊͷςʔϚ react-native-unimodules(bare workflow)Λ༻͍ͯͷ APP՝࣮ۚ
REACT-NATIVE-UNIMODULES(BARE WORKFLOW)Λ༻͍ͯͷAPP՝࣮ۚ APP՝ۚʹ͍ͭͯ
APP՝ۚʹ͍ͭͯ(1) ʙDANCE WITHʹ͓͚Δ࣮ʙ ▸ ੍ֹ݄ͷαϒεΫ(୯ൃ՝࣮͓ۚͯ͠Βͣ) ▸ DANCE WITH࠷ॳiOS/AndroidͱʹStripeʹ࣮ͯ ▸ 20208݄ʙ11݄·ͰOK͕ͩͬͨ12݄͔ΒϦδΣΫτ
ߋ৽Ͱ͖ͳ͘ͳΔͷࠔΔͷͰ ͜ΕΛػʹApp՝ۚʹมߋ ͪͳΈʹStripeͷ࣮࣌1ൃͷ৹ࠪͰམͱ͞Ε͚ͨͲ ಈըετϦʔϛϯάͰແྉίϯςϯπे͋Δ͔Β ͬͯ͜ͱͰ৹ࠪ௨͚ͬͨͲɺ12݄͔ΒͦΕͰԡ͠௨ͤͣ…
APP՝ۚʹ͍ͭͯ(2) ʙREACT NATIVEʹ͓͚Δ࣮ʙ https://github.com/dooboolab/react-native-iap https://docs.expo.io/versions/latest/sdk/in-app-purchases/ DANCE WITHͰ Bare WorkflowΛಋೖ͍ͯͨ͠ͷͰ expo-in-app-purchaseͰ࣮
APP՝ۚʹ͍ͭͯ(3) ʙEXPO(MANAGED WORKFLOW)Ͱͷ࣮ʙ ▸ StripeͰαϒεΫ࣮Λͯ͠ޙ͔Β৹ࠪͰམͱ͞ΕΔՄೳੑ͕͋Δ ▸ NetflixΈ͍ͨʹձһొͳͲશͯWebͰΔʹDXͱ͔࣮ίετ͕ʹͳΔ ▸ react-native-iapexpo-in-app-purchaseExpoͰ༻Ͱ͖ͣ(ཁeject) ▸
ExpoΛeject͢ΔͱࣗಈͰBare WorkflowͱͳΔͷͰexpo-in-app-purchaseʹ͢Δͷ͕Α͍ ▸ ※ͪͳΈʹ྆ऀͱNative෦Λ͍͡Δ͜ͱͳ͍ͷͰ࣮ࡍͲͪΒͰߏΘͳ͍ EjectΛ࣮ͯ͢͠Δඞཁ͕͋Δ
REACT-NATIVE-UNIMODULES(BARE WORKFLOW)Λ༻͍ͯͷAPP՝࣮ۚ expo-in-app-purchaseΛ༻͍ͯAPP՝ۚΛ࣮͢Δ
EXPO-IN-APP-PURCHASEΛ༻͍ͯAPP՝ۚΛ࣮͢Δ(1)
EXPO-IN-APP-PURCHASEΛ༻͍ͯAPP՝ۚΛ࣮͢Δ(2) ՝ۚϖʔδΛ։͍ͨͱ͖ͷॳظԽॲཧ
EXPO-IN-APP-PURCHASEΛ༻͍ͯAPP՝ۚΛ࣮͢Δ(3) ߪೖ͕ྃͨ͠ࡍͷॲཧ + อଘ͢Δσʔλ
EXPO-IN-APP-PURCHASEΛ༻͍ͯAPP՝ۚΛ࣮͢Δ(4) ՝ۚϞʔμϧΛग़ͨ͢Ίͷؔ
REACT-NATIVE-UNIMODULES(BARE WORKFLOW)Λ༻͍ͯͷAPP՝࣮ۚ ՝ۚεςʔλεͷ֬ೝ
՝ۚεςʔλεͷ֬ೝ(1) ʙΞϓϦʙ ▸ ΞϓϦ্ཱͪ͛࣌εςʔλε͕֬ೝͰ͖Δը໘ ▸ Homeը໘ͳͲແྉ/༗ྉͰग़͠Θ͚͕͞ΕΔը໘ͳͲ ▸ جຊతʹΞϓϦ্ཱ͚ͪ͛࣌ͩͰେৎ
՝ۚεςʔλεͷ֬ೝ(2) ʙΞϓϦ͔Β͍߹Θͤ͢Δίʔυʙ
՝ۚεςʔλεͷ֬ೝ(3) ʙWEBHOOKܦ༝Ͱͷεςʔλε֬ೝʙ ▸ ϢʔβଆͷαϒεΫղআϓϥϯมߋΛݕ ▸ ΞϓϦ֎ͷڍಈ͕มΘΔͳΒ࣮͢Δඞཁ͋Γ ▸ ϓογϡ௨͕ແྉ/༗ྉͰมΘΔ ▸ WebΞϓϦͷํʹөͤ͞Δඞཁ͕͋ΔͳͲ
▸ ΞϓϦͷڍಈ͕มΘΔ͙Β͍͔͠ͳ͍ͷͰ͋Εඞཁ ͳ͍
՝ۚεςʔλεͷ֬ೝ(4) ʙWEBHOOKͰΞοϓσʔτ͢Δίʔυʙ
REACT-NATIVE-UNIMODULES(BARE WORKFLOW)Λ༻͍ͯͷAPP՝࣮ۚ ·ͱΊ
·ͱΊ ▸ ExpoΛ͍ͬͯͯAPP՝ۚΛ͍ͨ͠ͳΒBare workflowʹ͢Δ ▸ StripeͰڐ͞ΕΔύλʔϯ͋Δ͚Ͳجຊతʹڐ͞Εͳ͍ͱࢥ͏͖ ▸ ՝ۚͷॲཧωΠςΟϒ͍͡Βͳ͍͠ҙ֎ͱ؆୯ ▸ αϒεΫͷ՝ۚεςʔλεΛ֬ೝ͢ΔͷҎԼͷ2ͭ
▸ ΞϓϦΛ։͍ͨͱ͖ɺϢʔβεςʔλεΛ֬ೝ͢ΔͳͲͳͲ ▸ webhookͰϢʔβଆͷαϒεΫղͳͲΛݕ αϒεΫΛ࡞Γ͍ͨͷͰ͋Εආ͚ͯ௨Εͳ͍ͷͰ ࢥ͍ͬͯeject࣮ͯ͠͠·͠ΐ͏
͓ΘΓ