μΏ ν‘ ννΈλμ€λ₯Ό λ μ½κ²! λ₯λ§ν¬ μλ μμ± ν¬λ‘¬ νμ₯ νλ‘κ·Έλ¨ μκ°
μΏ ν‘ ννΈλμ€ λ₯λ§ν¬λ₯Ό μμ½κ² λ§λλ λ°©λ²! ν¬λ‘¬ νμ₯ νλ‘κ·Έλ¨μΌλ‘ μν URL κ°μ§λΆν° μλ μμ±, ν΄λ¦½λ³΄λ 볡μ¬κΉμ§ κ°λ₯ν©λλ€.
λΈλ‘κ·Έλ₯Ό μ΄μνκ±°λ μ νλΈ, SNS λ±μμ μ½ν μΈ λ₯Ό λ°ννλ©° μΏ ν‘ ννΈλμ€ νλμ νκ³ κ³μλ€λ©΄, μν λ§ν¬λ§λ€ μΏ ν‘ μν λ§ν¬λ₯Ό μμ±νλ μμ μ΄ μΌλ§λ λ²κ±°λ‘μ΄μ§ μ μμ€ κ²λλ€.
νΉν λ§€λ² μΏ ν‘ ννΈλμ€ μ¬μ΄νΈμ μ μν΄ λ§ν¬λ₯Ό μλμΌλ‘ μμ±νκ³ λ³΅μ¬νλ κ³Όμ μ μκ°λ μ€λ κ±Έλ¦¬κ³ , μ€μλ μμ£Ό λ°μνκ³€ νμ£ . μ΄ κΈμμλ κ·Έλ° λ°λ³΅μ μΈ κ³Όμ μ μ€μ΄κ³ , μμ΅κΉμ§ μ¬λ¦¬μ μλ ν¨μ¨μ μΈ λ°©λ²μ μκ°ν©λλ€. λ°λ‘ μ΄λ³΄μλ μ½κ² λ§λ€ μ μλ ν¬λ‘¬ νμ₯ νλ‘κ·Έλ¨μ ν΅ν΄ μΏ ν‘ μν λ§ν¬λ₯Ό μλμΌλ‘ μμ±νλ λ°©μμ λλ€.
μΏ ν‘ μν μλν λ°©μμ μ΄λ κ² μλ.
- μΏ ν‘ μν νμ΄μ§μ μ μνλ©΄ μΏ ν‘ ν¬λ‘¬ νμ₯ νλ‘κ·Έλ¨μ΄ μλμΌλ‘ URLμ κ°μ§ν©λλ€.
- μ¬μ©μμ μΏ ν‘ ννΈλμ€ API ν€λ₯Ό ν΅ν΄ λ₯λ§ν¬λ₯Ό μμ²νκ³ ,
- μΏ ν‘ μλ²μμ μλ΅ν λ¨μΆ λ₯λ§ν¬ URLμ ν΄λ¦½λ³΄λμ μλ 볡μ¬ν΄ μ€λλ€.
- λ³λμ λ³΅μ¬ λΆμ¬λ£κΈ° μμ΄, λ°λ‘ μ½ν μΈ μ λΆμ¬ μΈ μ μμ΄ μμ μλμ μ νλ λͺ¨λ ν₯μλ©λλ€.
κΈ°μ‘΄ μ½λ κΈ°λ°, μ§μ μμ λ° κ°μ
μ΄ νμ₯ νλ‘κ·Έλ¨μ ν¬λ‘¬ νμ₯ νλ‘κ·Έλ¨ νλ«νΌμ λ³κ²½μ λ§μΆ° μΌλΆ κΈ°λ₯μ΄ λμνμ§ μκ² λμ μ§μ μμ νκ³ κ°μ ν΄ μ¬λ°°ν¬ν λ²μ μ λλ€.
Manifest V3λ‘ μΈν μ£Όμ λ³νμ μμ μ΄μ
2023λ μ΄ν ꡬκΈμ ν¬λ‘¬ νμ₯ νλ‘κ·Έλ¨μ Manifest V2 V3λ‘ μ λ©΄ μ ννκ³ μμ΅λλ€. μ΄ μ νμΌλ‘ μΈν΄ λ€μκ³Ό κ°μ λ³κ²½μ¬νμ΄ μκ²Όμ΅λλ€:
- background.jsκ° νμ μ€νλλ ννκ° μλ, μ΄λ²€νΈ κΈ°λ°μ Service Workerλ‘ λ³κ²½λ¨
- .env.local νμΌμ ν΅ν API ν€ λ‘λ λ°©μμ΄ λ μ΄μ νμ©λμ§ μμ
- 보μ κ°νλ₯Ό μν΄ νμ₯ νλ‘κ·Έλ¨ μΈλΆμ 리μμ€ μ κ·Ό μ ν κ°ν
μ΄λ‘ μΈν΄ κΈ°μ‘΄μ μν λ§ν¬ μμ± κΈ°λ₯μ΄ μ μ μλνμ§ μκ² λμκ³ , μ΄μ λ°λΌ API ν€λ₯Ό chrome.storageμ μ μ₯νκ±°λ μ½λ λ΄μ νλμ½λ©νλ λ°©μμΌλ‘ ꡬ쑰λ₯Ό λ°κΎΈμ΄ λ¬Έμ λ₯Ό ν΄κ²°ν΄μΌ ν©λλ€. λ¬Όλ‘ λ°°ν¬ μμλ νλ μ½λ©λ μ½λλ₯Ό μμ νκ³ λ°°ν¬νμ μΌ ν©λλ€.

μ ν¬λ‘¬ νμ₯ νλ‘κ·Έλ¨μΌλ‘ μλνν΄μΌ ν κΉ?
- μκ° μ μ½: λ₯λ§ν¬ λ§λ€κΈ° μν΄ μ¬μ΄νΈλ₯Ό μ¬λ¬ λ² μ€κ°λ λ²κ±°λ‘μ ν΄κ²°
- μμ μ€μ λ°©μ§: 볡μ¬-λΆμ¬λ£κΈ° μ€μ μμ΄ μ ννκ²
- λλ§μ μλν: λ°λ³΅μμ μ λ΄ μμ λ§κ² 컀μ€ν°λ§μ΄μ§

νμ₯ νλ‘κ·Έλ¨μ μ΄λ κ² μλν©λλ€
- μΏ ν‘ μν νμ΄μ§μ μ μνλ©΄
- νμ₯ νλ‘κ·Έλ¨μ΄ URLμ μλ μΈμ
- 미리 λ±λ‘λ API ν€λ‘ λ₯λ§ν¬ μμ± μμ²
- μμ±λ λ₯λ§ν¬λ₯Ό ν΄λ¦½λ³΄λμ 볡μ¬νκ±°λ νμ μΌλ‘ νμ
μ΄ λͺ¨λ κ³Όμ μ΄ μ¬μ©μ μ‘°μ μμ΄ λ°±κ·ΈλΌμ΄λμμ μ§νλ©λλ€.
1.μ€μΉ μ μ€λΉ: μμΆ νκ³ μ½λ μμ νκΈ°
μμ λ λ΄μ© μ½λ λΆλ¦¬. μμΈμ΄λ―Έμ§ λ€μ΄λ‘λ κΈ°λ₯ μΆκ°

1. νμ₯ νμΌ μμΆ ν΄μ
- GitHubμμ νμ₯ νλ‘κ·Έλ¨ μ½λλ₯Ό λ€μ΄λ‘λνκ±°λ ZIP νμΌμ λ°μ΅λλ€.
- μ: coupang-deeplink-extension.zip
- μ΄ νμΌμ μνλ ν΄λμ μμΆ ν΄μ νμΈμ (μ: CoupangLinker)

2. μ£Όμ κ΅¬μ± νμΌ
- manifest.json: νμ₯ κΈ°λ³Έ μ 보 λ° μ€μ
- background.js: API μμ², λ₯λ§ν¬ μμ± λ± ν΅μ¬ λ‘μ§
- content.js: μΏ ν‘ μν νμ΄μ§μ μ½μ λλ μ½λ
- icons/: νμ₯ μμ΄μ½λ€
- styles.css: UI μ€νμΌλ§ (μ΅μ )
- api-config.txt: apiλ± νκ²½ μ€μ
2. API ν€ μ€μ νκΈ° (κ°μ₯ μ€μ!)
μΏ ν‘ APIλ₯Ό μ¬μ©νλ €λ©΄ κ°μΈ ν€ μ 보λ₯Ό μ€μ ν΄μΌ ν©λλ€.
1. API ν€ λ°κΈ
- μΏ ν‘ ννΈλμ€ λ‘κ·ΈμΈ API κ΄λ¦¬ ν€ μμ±
- λ°κΈλ°μ Access Key, Secret Key, Sub IDλ₯Ό 볡μ¬νμΈμ.

2. background.js νμΌ μμ
μλ μ½λλ§ λ³ΈμΈμ ν€λ‘ λ³κ²½νμΈμ μ½λ μ:
ν¬λ‘¬ νμ₯ νλ‘κ·Έλ¨ λ±λ‘νκΈ°
- ν¬λ‘¬μμ μ£Όμμ°½μ chrome://extensions μ λ ₯
- μ€λ₯Έμͺ½ μλ¨ κ°λ°μ λͺ¨λ ON
- μμΆν΄μ λ νμ₯ νλ‘κ·Έλ¨ λ‘λ ν΄λ¦
- μκΉ μμΆ νμλ ν΄λ (μ: CoupangLinker) μ ν
νμ₯ νλ‘κ·Έλ¨μ΄ μ€μΉλλ©΄ μλ¨μ μμ΄μ½μ΄ νμλ©λλ€.

μλ ν μ€νΈ λ° λ¬Έμ ν΄κ²°
- μΏ ν‘ μν νμ΄μ§λ₯Ό μ΄μ΄λ³΄μΈμ.
- νμ₯ νλ‘κ·Έλ¨μ΄ μλμΌλ‘ μΏ ν‘ μν λ§ν¬λ₯Ό μμ±νλμ§ νμΈ
- ν΄λ¦½λ³΄λ 볡μ¬λ¨
- νμ μ λ§ν¬ νμλ¨
β μλ μ νλ©΄?
- λ€μ chrome://extensions λ΄ νμ₯ μ€λ₯Έμͺ½ "μλΉμ€ μ컀 보기"
- Console νμμ μλ¬ λ©μμ§ νμΈ
- API μμ²μ΄ μ€ν¨νλμ§ Network ν νμΈ (401/403μ΄λ©΄ ν€ μ€λ₯)

λλ§μ μλνλ‘ μμ΅, μκ° λͺ¨λ μ‘μ
μΏ ν‘ μν λ§ν¬λ₯Ό νλνλ λ§λ€λ μλλ λλ¬μ΅λλ€. μ΄μ λ ν λ² ν΄λ¦, μλ κ·Έλ₯ νμ΄μ§ μ΄κΈ°λ§ ν΄λ μλμΌλ‘ λ§ν¬ μμ±!
μ΄ νμ₯ νλ‘κ·Έλ¨μ μμΌλ‘ μ¬λ¬λΆμ μΏ ν‘ ννΈλμ€ νλμ λ μ½κ³ , λΉ λ₯΄κ³ ,λν μΏ ν‘ ννΈλμ€ μλ λ±λ‘ λ°©λ² μ΄μ 리 | API νμ©λΆν° λ§ν¬ λ³νκΉμ§ λ΄μ©μ νμΈ νμλ©΄ μμ μ μΌλ‘ λ§λ€μ΄μ€ λ λ ν λκ΅¬κ° λ κ²λλ€.