Your API Keys are NOT SAFE in a native app ð€¬
Summary
TLDRãã®åç»ã¹ã¯ãªããã§ã¯ãAPIããŒã®ã»ãã¥ãªãã£ãšããªãã¢ããªã±ãŒã·ã§ã³ã«ç§å¯ããŒãå«ããããšãå±éºã§ãããã«ã€ããŠèª¬æãããŠããŸããSimonã¯ãiOSãšAndroidã®ã¢ããªã±ãŒã·ã§ã³ããAPIããŒãç°¡åã«ååŸããæ¹æ³ã玹ä»ãããããã·ã®èåŸã§APIããŒãä¿æããã¢ã¯ã»ã¹ãå¶éããç°å¢ãã¡ã€ã«ã§ç§å¯ããŒãä¿ç®¡ããFirebaseãSupabaseãªã©ã®ããŒã«ã䜿çšããããšã§ã»ãã¥ãªãã£ãåäžããããšãã5ã€ã®ã¢ããã€ã¹ãæäŸããŠããŸãã
Takeaways
- ð APIããŒã¯ãã€ãã£ãã¢ããªã«å«ããªãæ¹ãè¯ãã
- ð» ã¢ããªã¹ãã¢ãããã€ã¹äžã§ã¢ããªã¯å®å šã§ã¯ãªãã
- ð ïž ã¢ããªã±ãŒã·ã§ã³ã®ãœãŒã¹ã³ãŒãã«APIããŒãå«ãŸããŠããå ŽåãçºèŠãããå¯èœæ§ãé«ãã
- ð± iOSã¢ããªã¯Apple ConfiguratorããŒã«ã䜿ã£ãŠç°¡åã«ååŸã§ããã
- ð€ Androidã¢ããªã¯ADBã³ãã³ãã䜿ã£ãŠç°¡åã«ååŸã§ããã
- ð æ€çŽ¢æ©èœã䜿ã£ãŠAPIããŒãçºèŠã§ããã
- ð 代çãµãŒããŒã䜿ããAPIããŒãé èœããã
- ð APIã¢ã¯ã»ã¹ãç¹å®ã®ãã¡ã€ã³ãŸãã¯ãã³ãã«IDã«å¶éããã
- ð .envãã¡ã€ã«ã䜿çšããŠç§å¯ããŒã管çããã
- ð¥ FirebaseãSupabaseãªã©ã®ããŒã«ã䜿ãããšã§ãAPIããŒã®ç®¡çã容æã«ãªãã
- ð¡ïž äžéšã®ãµãŒãã¹ã§ã¯APIããŒãæŒæŽ©ããŠã倧ããªåé¡ã«ã¯ãªããªãã
Q & A
APIããŒãã¢ããªã±ãŒã·ã§ã³ã«å«ãããªã¹ã¯ã¯äœã§ããïŒ
-APIããŒãã¢ããªã±ãŒã·ã§ã³ã«å«ããããšã§ãé»å®¢ã«ãã£ãŠå®¹æã«çºèŠãšççšããããªã¹ã¯ããããŸããããã«ããããµãŒãã¹ãžã®äžæ£ã¢ã¯ã»ã¹ãäžæ£äœ¿çšãè¡ãããå¯èœæ§ããããŸãã
iOSã¢ããªã±ãŒã·ã§ã³ã®IPAãã¡ã€ã«ãååŸããæ¹æ³ã¯äœã§ããïŒ
-iOSã¢ããªã±ãŒã·ã§ã³ã®IPAãã¡ã€ã«ãååŸããã«ã¯ãApple ConfiguratorããŒã«ã䜿çšããããšãã§ããŸãããã®ããŒã«ã䜿ã£ãŠãæ¥ç¶ãããiOSããã€ã¹ã«ã¢ããªã±ãŒã·ã§ã³ãã€ã³ã¹ããŒã«ããã¢ããªãéžæããŠã¢ããªã®æ å ±ã衚瀺ããããšãã§ããŸãã
React Nativeã¢ããªã±ãŒã·ã§ã³ã®ãœãŒã¹ã³ãŒãã調ã¹ãæ¹æ³ã¯äœã§ããïŒ
-React Nativeã¢ããªã±ãŒã·ã§ã³ã®ãœãŒã¹ã³ãŒãã調ã¹ãã«ã¯ãã¢ããªã±ãŒã·ã§ã³ã®ããã±ãŒãžã³ã³ãã³ãã衚瀺ããVisual Studio Codeãªã©ã®ã³ãŒããšãã£ã¿ã§éãããšãã§ããŸããããã«ãããã¢ããªã±ãŒã·ã§ã³ã®JavaScriptã³ãŒããèšå®ãã¡ã€ã«ãªã©ã«ã¢ã¯ã»ã¹ããããšãã§ããŸãã
Androidã¢ããªã±ãŒã·ã§ã³ã®APKãã¡ã€ã«ãååŸããæ¹æ³ã¯äœã§ããïŒ
-Androidã¢ããªã±ãŒã·ã§ã³ã®APKãã¡ã€ã«ãååŸããã«ã¯ãADBïŒAndroid Debug BridgeïŒããŒã«ã䜿çšããããšãã§ããŸããADB shell PM list packagesã³ãã³ãã䜿ã£ãŠã€ã³ã¹ããŒã«ãããŠããããã±ãŒãžã衚瀺ããç¹å®ã®ããã±ãŒãžã®ãã³ãã«åãç¹å®ããŸãããã®åŸãADB shell PM pathã³ãã³ãã䜿ã£ãŠã¢ããªã±ãŒã·ã§ã³ã®ãã¹ãååŸããADB pullã䜿ã£ãŠAPKãã¡ã€ã«ãããŠã³ããŒãããããšãã§ããŸãã
APIããŒãå®å šã«ä¿ç®¡ããããã«ã©ã®ãããªã¢ããã€ã¹ããããŸããïŒ
-APIããŒãå®å šã«ä¿ç®¡ããããã«ã以äžã®ã¢ããã€ã¹ã圹ç«ã¡ãŸãããããã·ãµãŒããŒãä»ããŠAPIããŒãä¿è·ããã¢ã¯ã»ã¹ãç¹å®ã®ãã¡ã€ã³ãŸãã¯ãã³ãã«IDã«å¶éããŸãããŸããç°å¢ãã¡ã€ã«ã«ç§å¯ããŒãä¿åãããœãŒã¹ã³ãŒã管çã«ã³ãããããªãããã«ããŸããFirebaseãSupabaseãªã©ã®ããŒã«ã䜿çšãããšãAPIããŒãããã¯ãšã³ãã§ä¿è·ãããŠãããããããã³ããšã³ãã§ããŒãä¿åããŠãåé¡ãããŸããã
ã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ãåäžãããããã«ã©ã®ãããªå¯Ÿçãè¬ããããšãã§ããŸããïŒ
-ã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ãåäžãããããã«ãAPIããŒããããã·ãµãŒããŒçµç±ã§äœ¿çšããã¢ã¯ã»ã¹ãå¶éãç°å¢ãã¡ã€ã«ã«ç§å¯ããŒãä¿åãããœãŒã¹ã³ãŒã管çã«ã³ãããããªãããã«ãããªã©ã®å¯Ÿçãè¬ããããšãã§ããŸãããŸããFirebaseãSupabaseãªã©ã®ã»ãã¥ãªãã£ã匷åãããããŒã«ã䜿çšããããšãæå¹ã§ãã
ã¢ããªã±ãŒã·ã§ã³ã®ãœãŒã¹ã³ãŒããå ¬éãããå¯èœæ§ãããããšã¯ã©ã®çšåºŠãªã¢ã«ã§ããïŒ
-ã¢ããªã±ãŒã·ã§ã³ã®ãœãŒã¹ã³ãŒããå ¬éãããå¯èœæ§ã¯éåžžã«é«ãã§ããé»å®¢ã¯å€ç§ã®ææ®µãçšããŠã¢ããªã±ãŒã·ã§ã³ã®ãœãŒã¹ã³ãŒãã«ã¢ã¯ã»ã¹ããããšãã§ããŸãããã®ãããã¢ããªã±ãŒã·ã§ã³ã«ç§å¯æ å ±ãä¿åããããšã¯é¿ãããµãŒããŒç°å¢ã§ã®ã¿ç§å¯æ å ±ã䜿çšããããšãæšå¥šãããŸãã
APIããŒãçºèŠããããã«æ€çŽ¢ããããŒã¯ãŒããšããŠãconsole.logãã¯ã©ã®ãããªåœ¹å²ãæãããŸããïŒ
-ãconsole.logãã¯ãéçºè ãã¢ããªã±ãŒã·ã§ã³ã®ãããã°æ å ±ãåºåããããã«äœ¿çšããJavaScript颿°ã§ããAPIããŒãçºèŠããããã«ãé»å®¢ã¯ãconsole.logããæ€çŽ¢ããŒã¯ãŒããšããŠäœ¿çšããŠãéçºè ãæå³ããã«ãããã°æ å ±ã«APIããŒãåºåããŠãããã©ããã確èªããããšãã§ããŸãã
Flutterã¢ããªã±ãŒã·ã§ã³ã®ãœãŒã¹ã³ãŒããéã³ã³ãã€ã«ããã«ã¯ã©ã®ãããªããŒã«ã䜿çšã§ããŸããïŒ
-Flutterã¢ããªã±ãŒã·ã§ã³ã®ãœãŒã¹ã³ãŒããéã³ã³ãã€ã«ããã«ã¯ãHopperã®ãããªç¹å¥ãªããŒã«ã䜿çšããããšãã§ããŸãããããã®ããŒã«ã¯ãã¢ããªã±ãŒã·ã§ã³ãæ©æ¢°ã³ãŒãã«æ»ãããšãã§ããéã³ã³ãã€ã«ãããã³ãŒãã衚瀺ããŠç·šéããããšãã§ããŸãããã ããFlutterã¢ããªã±ãŒã·ã§ã³ã®éã³ã³ãã€ã«ã¯React NativeãCapacitorãªã©ãããé£ãããå°éçãªç¥èãå¿ èŠã§ãã
APIããŒãæŒæŽ©ããå Žåãã©ããããã®ãªã¹ã¯ããããŸããïŒ
-APIããŒãæŒæŽ©ããå Žåãæªæã®ãã第äžè ããµãŒãã¹ãžã®äžæ£ã¢ã¯ã»ã¹ãäžæ£äœ¿çšãè¡ããªã¹ã¯ããããŸããããããäžéšã®ãµãŒãã¹ïŒäŸãã°ãCrashlyticsïŒã§ã¯ãAPIããŒã®æŒæŽšããã£ãŠããå®éã«ã¯å€§ããªè¢«å®³ãããããããšã¯åžã§ãããªããªãããããã®ãµãŒãã¹ã¯ããã¯ãšã³ãã§åŒ·åãããã»ãã¥ãªãã£ã«ãŒã«ãæã¡ãããã³ããšã³ãã®APIããŒã¯åœ±é¿ãäžããããšããªãããã§ãã
ã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ã«é¢ãããããªã芳ãåŸãAPIããŒã®åãæ±ãã«ã€ããŠã©ã®ããã«èããŸããïŒ
-ã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ã«é¢ãããããªã芳ãåŸãAPIããŒã®åãæ±ãã«ã€ããŠã¯ãããæ³šææ·±ãèããå¿ èŠããããŸããã¢ããªã±ãŒã·ã§ã³ã«ç§å¯æ å ±ãä¿åããããšã¯é¿ãããµãŒããŒåŽã§ã®ã¿ç§å¯æ å ±ã䜿çšããAPIããŒãã»ãã¥ãªãã£ã匷åãããããã·ãµãŒããŒããµãŒãã¹ãå©çšããããšãæšå¥šãããŸãããŸããç°å¢ãã¡ã€ã«ã«APIããŒãä¿åãããœãŒã¹ã³ãŒã管çã«ã³ãããããªãããã«ããããšãéèŠã§ãã
Outlines

ãã®ã»ã¯ã·ã§ã³ã¯ææãŠãŒã¶ãŒéå®ã§ãã ã¢ã¯ã»ã¹ããã«ã¯ãã¢ããã°ã¬ãŒãããé¡ãããŸãã
ä»ããã¢ããã°ã¬ãŒãMindmap

ãã®ã»ã¯ã·ã§ã³ã¯ææãŠãŒã¶ãŒéå®ã§ãã ã¢ã¯ã»ã¹ããã«ã¯ãã¢ããã°ã¬ãŒãããé¡ãããŸãã
ä»ããã¢ããã°ã¬ãŒãKeywords

ãã®ã»ã¯ã·ã§ã³ã¯ææãŠãŒã¶ãŒéå®ã§ãã ã¢ã¯ã»ã¹ããã«ã¯ãã¢ããã°ã¬ãŒãããé¡ãããŸãã
ä»ããã¢ããã°ã¬ãŒãHighlights

ãã®ã»ã¯ã·ã§ã³ã¯ææãŠãŒã¶ãŒéå®ã§ãã ã¢ã¯ã»ã¹ããã«ã¯ãã¢ããã°ã¬ãŒãããé¡ãããŸãã
ä»ããã¢ããã°ã¬ãŒãTranscripts

ãã®ã»ã¯ã·ã§ã³ã¯ææãŠãŒã¶ãŒéå®ã§ãã ã¢ã¯ã»ã¹ããã«ã¯ãã¢ããã°ã¬ãŒãããé¡ãããŸãã
ä»ããã¢ããã°ã¬ãŒãé¢é£åç»ãããã«è¡šç€º

è±ãã«ãªãããã®å¿åŸ

GPTs解説#3 å€éšAPIãå©çšã§ãããActionsãæ©èœã®ä»çµã¿ãšäœ¿ãæ¹ ãChatGPTã

æè³çšãã³ã·ã§ã³ãè²·ã£ãŠãç¯çšã«ãªããŸãããäžåç£æè³ã®éãå¶æ¥ããŒã¯ã®åã解説ã

ã¡ã³ãºãã¡ãã·ã§ã³æåŒ·ã¢ã€ãã ã¯é»ã¹ãããŒã§ãã

APIãšã¯ïŒäœ¿ãæ¹ã¯ïŒæŠå¿µè§£èª¬ ïŒ GoogleMapã®APIã䜿ã£ãŠã¿ããïŒ

Fablehaven by Brandon Mull - Chapter 15 - The Far Side of the Attic
5.0 / 5 (0 votes)