Запуск приложения Viber через схему URL на iOS
Я делаю приложение iOS, которое может открыть приложение Viber и автоматически позвонить человеку или перейти в окно чата с человеком. Есть ли какая-либо схема url для Viber, чтобы сделать это, например:
viber://tel:<phone_number>
viber://chat:<phone_number>
я следовал этой ссылка, но это для Android.
8 ответов
Я отправил письмо в поддержку Viber, и они сказали мне, что этот вид URL (открытие Viber call/chat с номером телефона) больше не поддерживается. При наборе Viber версия 5.6.
посмотрите на их ответ:
support@viber.com:
" Спасибо, что связались с нами. К сожалению, в Viber такого варианта нет."
единственное, что я нашел, это url-адрес для пересылки сообщения: https://www.viber.com/en/developers/share_on_viber вы можете указать текст, но не получателя
пример:
viber://forward?text=foo
Что касается сейчас (26.03.2017), я обнаружил, что этот URI работает:
- viber: / / добавить?number=NUMBER-открыть страницу пользователя
- viber: / / вперед?text=foo-поделиться текстом с выбранными пользователями
- viber: / / chats-открывает вкладку чата
- viber: / / звонки-открывает вкладку вызовы
- ??? - не могу найти Как открыть вкладку пользователя/контакты
- viber: / / public-открывает вкладку public
- viber: / / more-открыть вкладку more (последняя в row)
и некоторые ссылки для взаимодействия с публичными аккаунтами https://developers.viber.com/tools/deep-links/index.html - viber: / / pa?chatURI=hello & context=abcdefg&text=hi-попытка записать привет в Hello public account
форум поддержки: https://support.viber.com/
и у них есть расширение chrome - https://support.viber.com/customer/en/portal/articles/2191386-new-chrome-web-extension#top
Я нашел один способ" почти " позвонить с помощью Viber-добавив контакт:
viber://add?number=0123456789
откроется диалоговое окно Viber "Добавить контакт", и пользователь может, наконец, позвонить ожидаемый номер после добавления его в качестве нового контакта.
протестировал это на 5.6 Viber. Также работает с HTML:
<a href="viber://add?number=%2B49150123456789">Viber me</a>
однако, если контакт не существует, первый щелчок откроет диалоговое окно, сохранит новый контакт и вернется к вашему приложению/странице. При нажатии на ту же ссылку снова откроется напрямую свяжитесь с участником view with Call out button
Ура!
вы можете использовать этот код для выполнения того, что хотите:
NSString *phoneNumber = @"1112223333";
NSString * const viberScheme = @"viber://";
NSString * const tel = @"tel";
NSString * const chat = @"chat";
NSString *action = @"<user selection, chat or tel>"; // this could be @"chat" or @"tel" depending on the choice of the user
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:viberScheme]]) {
// viber is installed
NSString *myString;
if ([action isEqualToString:tel]) {
myString = [NSString stringWithFormat:@"%@:%@", tel, phoneNumber];
} else if ([action isEqualToString:chat]) {
myString = [NSString stringWithFormat:@"%@:%@", chat, phoneNumber];
}
NSURL *myUrl = [NSURL URLWithString:[viberScheme stringByAppendingString:myString]];
if ([[UIApplication sharedApplication] canOpenURL:myUrl]) {
[[UIApplication sharedApplication] openURL:myUrl];
} else {
// wrong parameters
}
} else {
// viber is not installed
}
viber://contact?number= mobile number
Он откроет конкретный контакт пользователя. Дайте пользователю выбрать чат и вызов.
у меня получилось!
для Swift вы можете сделать так:)
let viberShareUrl = "viber://forward?text=\(shareUrl)"
let url:NSURL =NSURL(string: viberShareUrl)!
UIApplication.sharedApplication().openURL(url)
вы можете проверить с помощью
[[UIApplication sharedApplication] canOpenURL:@"viber://url"];
если приложение Viber установлено на устройстве, и Viber обрабатывает эту схему url, она вернет true в противном случае false.