Запуск приложения 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: / / чаты" или "viber: / / звонки"


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.