vk-bridge icon indicating copy to clipboard operation
vk-bridge copied to clipboard

Корректная поддержка VKWebAppShowSubscriptionBox

Open doterax opened this issue 3 years ago • 4 comments

Использую @vkontakte/[email protected] и нужно игроку оформить подписку.

Cудя по всему в текущей реализации это не возможно. Есть упоминание "VKWebAppShowSubscriptionBox" в DESKTOP_METHODS (src\bridge.ts).

Но в RequestPropsMap (src\types\data.ts) он не описан. Получается нельзя нормально вызвать bridge.supports("VKWebAppShowSubscriptionBox") и bridge.send("VKWebAppShowSubscriptionBox", ...) так как в RequestPropsMap нет ключа "VKWebAppShowSubscriptionBox".

Так же вопрос, будут ли методы supports и send c "VKWebAppShowSubscriptionBox" работать, если использовать анонимные вызовы (обойти контроль типов в TS)?

Как понимаю, если в RequestPropsMap добавить ключ и параметры для VKWebAppShowSubscriptionBox, то всё должно начать работать. Так ли это? Если да, то я подготовлю PR.

doterax avatar Jul 13 '21 15:07 doterax

Всегда есть такой workaround для пока ещё не добавленных методов: vkBridge.sendPromise('VKWebAppShowSubscriptionBox' as any ...

А vkBridge.supports, как я понимаю, нужен для проверки наличия метода на текущей платформе (есть методы, которые работают только Android и/или iOS)

putyavka avatar Jul 13 '21 15:07 putyavka

Есть ли новости по этому багу?

doterax avatar Jul 23 '21 13:07 doterax

VK Bridge это просто шина для отправки запросов, если посмотреть код глубже, то можно понять, что никаких обработчиков нет. Можно спокойно поставить any

mainsmirnov avatar Sep 05 '21 20:09 mainsmirnov

Ну так оно и работает у нас сейчас. Но выглядит неаккуратненько :)

doterax avatar Sep 05 '21 20:09 doterax