Internals
κ°λ
WRPλ Protobuf μλΉμ€μ ν΅μ κΈ°λ₯μ μ 곡νκΈ° μν νλ‘ν μ½μ
λλ€.
νλ«νΌλ§λ€ νλ‘ν μ½μ κ°κ° λ°λ‘ λ§λλ λμ νλ‘ν μ½μ μ¬λ¬ λ¨κ³λ‘ μΆμν νμ¬,
μμΌμ μ μΈν λλ¨Έμ§ κ°λ
μ ꡬνμ λͺ¨λ νλ«νΌμμ 곡μ ν μ μλλ‘ μ€κ³νμμ΅λλ€.
λ¨λ°©ν₯ ν΅μ μ μ 곡νλ μμΌκ³Ό μ±λμ΄ μμ΅λλ€.
- μμΌ: λ νλ«νΌ κ° λ°μ΄λ리 λ°μ΄ν°λ₯Ό μ‘μμ ν©λλ€.
- μ±λ: μμΌμ μ΄μ©ν΄ λ©μΈμ§ λ¨μμ μ 보λ₯Ό μ‘μμ ν©λλ€.
μ±λμ μ΄μ©ν΄ μμ²κ³Ό μλ΅ κΈ°λ₯μ μ 곡νλ κ²μ€νΈμ νΈμ€νΈκ° μμ΅λλ€.
- κ²μ€νΈ: νΈμ€νΈμκ² νΉμ κΈ°λ₯μ μμ²ν©λλ€.
- νΈμ€νΈ: κ²μ€νΈλ‘λΆν° μ¨ μμ²μ μ²λ¦¬νκ³ κ²°κ³Όλ₯Ό μλ΅ν©λλ€.
κ° νλ«νΌ(Web, iframe, iOS, Android)μ μ 곡νλ μ μμ€ APIμ ννμ ν΅μ λ°©λ²μ΄ λ€λ₯΄λ―λ‘ μ΄λ¬ν νλ«νΌ μ’ μμ μΈ λ°©λ²μ λ°λΌ μμΌμ ꡬννλ Glueκ° μ‘΄μ¬ν©λλ€.
- Glue: μμΌμ ꡬννκΈ° μν νλ«νΌ μ’ μμ μΈ μ½λλ₯Ό μΌμ»«μ΅λλ€.
μ΄λ¬ν κ°λ
μ ꡬν체λ€μ WRPλ₯Ό μ¬μ©νλ ν΅μ 주체κ°μ νλμ©λ§ μ‘΄μ¬ν΄μΌ ν©λλ€.
λ°μ΄ν°/λ©μΈμ§κ° μΈμ€ν΄μ€κ°μ 곡μ λμ§ μκ³ μλͺ¨λλ νΉμ±μ΄ μμΌλ―λ‘ μμΌμ΄λ μ±λμ μ μΌμ±μ΄ 보μ₯λμ΄μΌ ν©λλ€.
λ©μΈμ§
μ±λμ ν΅ν΄ μ λ¬λλ λ©μΈμ§λ WrpMessageλ‘ λΆλ₯΄λ©°, μ΄ λ©μΈμ§λ Protocol Buffersλ‘ μ μλμ΄ μΈ/λμ½λ©λ©λλ€.
WrpMessage.proto
νμ
κ° λ©μΈμ§μ νμ μ λ€μκ³Ό κ°μ μν©μ λνλ λλ€.
- HostInitialize: νΈμ€νΈκ° μ°κ²° μ립 μ, κ²μ€νΈκ° μμ²ν μ μλ λ©μλλ€μ 보λ λλ€.
- HostError: νΈμ€νΈκ° μλ¬λ₯Ό λ§μ£Όν κ²½μ° λ³΄λ λλ€.
- GuestReqStart: κ²μ€νΈκ° μμ²μ μμν©λλ€. μμ²μ μλ³ν μ μλ idμ μνλ λ©μλλ₯Ό μ§μ ν©λλ€.
- GuestReqPayload: κ²μ€νΈκ° νΉμ idμ ν΄λΉνλ μμ²μ λ΄μ©(payload)μ 보λ λλ€.
- GuestReqFinish: κ²μ€νΈκ° μμ²μ λν λͺ¨λ λ΄μ©μ 보λμ΅λλ€.
- HostResStart: νΈμ€νΈκ° μλ΅μ μμν©λλ€.
- HostResPayload: νΈμ€νΈκ° μλ΅μ λ΄μ©μ 보λ λλ€.
- HostResFinish: νΈμ€νΈκ° μλ΅μ λν λͺ¨λ λ΄μ©μ 보λμ΅λλ€.
- GuestResFinish: κ²μ€νΈκ° μλ΅μ λ μ΄μ μνμ§ μμ΅λλ€.
ν° λ§₯λ½ νλ¦μμ μ΄λ€ λ©μΈμ§ νμ μ΄ μ λ¬λλμ§ νμΈνλ €λ©΄ μλ μ΄λ―Έμ§λ₯Ό μ°Έκ³ νμΈμ.
νλ μ
WrpMessageλ μμΌμμ μ λ¬λκΈ° μν΄ μ΄μ§ λ°μ΄ν°λ‘ λ³νλλ©΄μ μλ‘μ΄ ννλ₯Ό κ°μ§λλ€. μ΄μ§ λ°μ΄ν°κ° μ€νΈλ¦¬λ°λλ κ²½μ° λ°μ΄ν°μ μμκ³Ό λμ μκΈ° μ΄λ €μ°λ―λ‘, λ©μΈμ§μ μμ λΆλΆ 4λ°μ΄νΈμ WrpMessageκ° μ΄μ§ ννλ‘ μΈμ½λ©λμμ λμ κΈΈμ΄ μ 보λ₯Ό κΈ°λ‘ν©λλ€.