- π¦ Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅Ρ:
yarn add -D @vkdev/vk-sandbox
- βοΈ Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΈΠ»ΠΈ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ»
vk-hosting-config.json
ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π΅Π³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
{
"static_path": "build",
"app_id": <ID Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ>,
////////////////// ΠΠΎΠ±Π°Π²Ρ ΡΡΠΎ //////////////////
"sandbox": {
"url": "http://localhost:10888",
"launch_params": {
"access_token_settings": "",
"are_notifications_enabled": 1,
"is_app_user": 1,
"is_favorite": 1,
"language": "ru",
"platform": "mobile_iphone",
"ref": "other"
}
},
////////////////////////////////////////////
"endpoints": {
"mobile": "index.html",
"mvk": "index.html",
"web": "index.html"
}
}
- βοΈ Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΈΠ»ΠΈ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ»Ρ
.env
ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π΅Π³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
VK_SANDBOX_APP_SECRET_KEY=<ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ>
VK_SANDBOX_APP_ACCESS_TOKEN=<ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΡΠΎΠΊΠ΅Π½ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ>
- βοΈ ΠΠΠΠΠΠ¬Π’Π
.env
Π.gitignore
- βοΈ ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠΊΡΠΈΠΏΡ Π²
package.json
:
"scripts": {
...Π²Π°ΡΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΡ...
"sandbox": "vk-sandbox"
},
- π ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ Π²Π°Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ:
yarn start
- π₯ ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ VK Sandbox:
yarn sandbox
ΠΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°Π½Π΄Π±ΠΎΠΊΡΠ° Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ vk-hosting-config.json
Π² ΡΠ΅ΠΊΡΠΈΠΈ sandbox
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ |
---|---|---|
url (required; string) | Π‘ΡΡΠ»ΠΊΠ° Π½Π° Π±Π°Π½Π΄Π» Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ | http://localhost:10888 |
launch_params (required; map of string) | ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°ΠΏΡΡΠΊΠ°, ΠΏΠΈΡΡΡΡΡ Π±Π΅Π· ΠΏΡΠ΅ΡΠΈΠΊΡΠ° vk_ |
ΡΠΌ. ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΡΠ΅ |
disable_touch (optional; boolean) | ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΌΡΠ»ΡΡΠΈΠΈ ΡΠ΅ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π° | false |
- VKWebAppInit
- VKWebAppUpdateConfig
- VKWebAppGetClientVersion
- VKWebAppOpenCodeReader
- VKWebAppClose
- VKWebAppEnableSwipeBack
- VKWebAppDisableSwipeBack
- VKWebAppCopyText
- VKWebAppAllowNotifications
- VKWebAppDenyNotifications
- VKWebAppAddToFavorites
- VKWebAppAddToHomeScreen
- VKWebAppSendToClient
- VKWebAppGetUserInfo
- VKWebAppCallAPIMethod
- VKWebAppGetAuthToken
- VKWebAppStorageGet
- VKWebAppStorageSet
- VKWebAppStorageGetKeys
- VKWebAppShowStoryBox
- VKWebAppGetAds
- VKWebAppShowNativeAds
- Π‘ΡΠ΅ΠΏΠ°Π½ ΠΠΎΠ²ΠΎΠΆΠΈΠ»ΠΎΠ² (@hit2hat)