Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
react-native-unimodulesを用いてのApp内課金実装
Search
Yu Watanabe
March 04, 2021
Technology
0
1.2k
react-native-unimodulesを用いてのApp内課金実装
react-native-unimodulesを用いてのApp内課金実装についてです
Yu Watanabe
March 04, 2021
Tweet
Share
More Decks by Yu Watanabe
See All by Yu Watanabe
依存ライブラリを薄くするために車輪を再開発してもいいんだよ🛞
watanabeyu
0
110
Bolt 🤝 Expo
watanabeyu
0
360
npm packageとリリースとモノレポ
watanabeyu
0
68
react-native-ffmpegを使って動画をいじくりmawasou
watanabeyu
0
970
gandhの紹介です
watanabeyu
0
38
XcodeやAndroid Studioを弄らないアイコン管理
watanabeyu
2
670
Firebaseオンリー + React Nativeでアプリを作ると果たして簡単になるのか?
watanabeyu
4
1.3k
react-native-unimodulesのススメ
watanabeyu
1
6.6k
JavaScript製npmパッケージをTypeScriptで書き直した話
watanabeyu
0
1.1k
Other Decks in Technology
See All in Technology
Introduce marp-ai-slide-generator
itarutomy
0
130
MySQLのSpatial(GIS)機能をもっと充実させたい ~ MyNA望年会2025LT
sakaik
0
120
【開発を止めるな】機能追加と並行して進めるアーキテクチャ改善/Keep Shipping: Architecture Improvements Without Pausing Dev
bitkey
PRO
1
130
Claude Codeを使った情報整理術
knishioka
11
6.1k
AI駆動開発ライフサイクル(AI-DLC)の始め方
ryansbcho79
0
180
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
1
410
ActiveJobUpdates
igaiga
1
320
ソフトウェアエンジニアとAIエンジニアの役割分担についてのある事例
kworkdev
PRO
0
250
「もしもデータ基盤開発で『強くてニューゲーム』ができたなら今の僕はどんなデータ基盤を作っただろう」
aeonpeople
0
250
Microsoft Agent Frameworkの可観測性
tomokusaba
1
110
子育てで想像してなかった「見えないダメージ」 / Unforeseen "hidden burdens" of raising children.
pauli
2
330
SREが取り組むデプロイ高速化 ─ Docker Buildを最適化した話
capytan
0
150
Featured
See All Featured
Designing Powerful Visuals for Engaging Learning
tmiket
0
190
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Google's AI Overviews - The New Search
badams
0
870
It's Worth the Effort
3n
187
29k
First, design no harm
axbom
PRO
1
1.1k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
680
Are puppies a ranking factor?
jonoalderson
0
2.4k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
29
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.1k
Documentation Writing (for coders)
carmenintech
77
5.2k
Docker and Python
trallard
47
3.7k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
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࣮ͯ͠͠·͠ΐ͏
͓ΘΓ