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

Не отслеживается событие VKWebAppShowStoryBoxLoadFinish

Open FragDealer opened this issue 3 years ago • 3 comments

После публикации истории методом VKWebAppShowStoryBox, не всплывает событие VKWebAppShowStoryBoxLoadFinish в обработчике vkBridge.subscribe на Android и iOS.

vkBridge.send('VKWebAppInit');
vkBridge.subscribe(e => {
	alert(e.detail.type + ':   ' + JSON.stringify(e.detail.data));
});
vkBridge.send('VKWebAppShowStoryBox', {...});

После публикации истории всплывает только событие VKWebAppShowStoryBoxResult, а VKWebAppShowStoryBoxLoadFinish не отслеживается.

FragDealer avatar Jan 31 '21 17:01 FragDealer

Спасибо, посмотрим

mainsmirnov avatar Feb 04 '21 10:02 mainsmirnov

Ещё дополню идеей/предложением, при реализации метода VKWebAppShowStoryBox через примисы в .then всплывает событие VKWebAppShowStoryBoxResult, а доступ к событию VKWebAppShowStoryBoxLoadFinish не реализован:

vkBridge
    .send('VKWebAppShowStoryBox', {...})
    .then(data => {
        // -> VKWebAppShowStoryBoxResult
    });

Что если возвращать дополнительный промис, например:

vkBridge
    .send('VKWebAppShowStoryBox', {...})
    .then(data => {
        // -> VKWebAppShowStoryBoxResult
        data.onLoadFinish.then(data1 => {
             // -> VKWebAppShowStoryBoxLoadFinish 
        });
    });

вот какую логику я имею ввиду:

function TEST(){}

TEST.send = function() {
    let VKWebAppShowStoryBoxResult = new Promise((resolve, reject) => {
	
        let VKWebAppShowStoryBoxLoadFinish = new Promise((resolve_1, reject_1) => {
            setTimeout(() => resolve_1({event: 'VKWebAppShowStoryBoxLoadFinish'}), 5000);
        });
		
        let data = {event: 'VKWebAppShowStoryBoxResult', onLoadFinish: VKWebAppShowStoryBoxLoadFinish};
        
        setTimeout(() => resolve(data), 1000);
    });
    return VKWebAppShowStoryBoxResult;
}

TEST
    .send()
    .then(data => { 
        console.log(data.event);
        data.onLoadFinish.then(data_1 => {
            console.log(data_1.event);
        });
    });

FragDealer avatar Feb 05 '21 22:02 FragDealer

такую логику пока, увы, дать не можем

после публикации поле должно начать возвращаться

mainsmirnov avatar Dec 12 '21 12:12 mainsmirnov

Здравствуйте! Мы обновляем процесс работы с репозиторием vk-bridge. Сейчас мы закрываем все обращения, созданные ранее 01.06.2023. Если проблема еще актуальна, пожалуйста, переоткройте это обращение.

Pronin-vk avatar Feb 08 '24 18:02 Pronin-vk