8

我正在制作一个 iOS 应用程序,它可以打开 Viber 应用程序并自动呼叫某人或与该人聊天窗口。Viber 是否有任何 url 方案可以做到这一点,例如:

viber://tel:<phone_number>
viber://chat:<phone_number>

我关注了这个链接,但它适用于 Android。

4

10 回答 10

12

至于现在(26.03.2017),我发现这个 URI 正在工作:

  • viber://add?number=NUMBER - 打开用户页面
  • viber://forward?text=foo - 与选定用户共享文本
  • viber://chats - 打开聊天标签
  • viber://calls - 打开通话选项卡
  • ???- 找不到如何打开用户/联系人选项卡
  • viber://public - 打开一个公共标签
  • viber://more - 打开更多选项卡(行中的最后一个)

以及一些与公共帐户交互的链接 https://developers.viber.com/tools/deep-links/index.html - viber://pa?chatURI=hello&context=abcdefg&text=hi - 尝试将 hi 写入 hello 公共帐户

支持论坛: https: //support.viber.com/

他们有 chrome 扩展 - https://support.viber.com/customer/en/portal/articles/2191386-new-chrome-web-extension#top

于 2017-03-26T15:28:48.490 回答
9

我向 Viber 支持发送了一封邮件,他们告诉我这种 URL(使用电话号码打开 Viber 通话/聊天)不再受支持。当输入 Viber 版本是 5.6。

看看他们的回答:

支持@viber.com

“感谢您与我们联系。不幸的是,Viber 中没有这样的选项。”


我发现的唯一内容是转发消息的网址:https ://www.viber.com/en/developers/share_on_viber 您可以指定文本但不能指定收件人

例子:

viber://forward?text=foo
于 2015-10-06T10:53:05.763 回答
7
viber://contact?number= mobile number

它将打开特定的用户联系人。让用户选择聊天和通话。
它对我有用!

于 2017-05-31T10:18:06.313 回答
5

我找到了一种使用 Viber“几乎”通话的方法 - 通过添加联系人:

viber://add?number=0123456789

这将打开 Viber“添加联系人”对话框,用户最终可以在将其添加为新联系人后拨打预期号码。

在 5.6 Viber 上对此进行了测试。也适用于 HTML:

<a href="viber://add?number=%2B49150123456789">Viber me</a>

但是,如果联系人不存在,第一次单击只会打开对话框,保存新联系人并返回您的应用程序/页面。再次单击相同的链接将直接打开带有呼叫按钮的联系人视图

干杯!

于 2015-12-19T21:08:13.103 回答
4

您可以使用此代码来完成您想要的:

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
}
于 2015-05-30T15:32:05.057 回答
3

这指向联系页面

viber://contact?number=38095xxxxxxx

重要提示:不要在数字开头加上+,否则将不起作用

于 2019-09-07T12:06:29.303 回答
1

这有效:“viber://chats”或“viber://calls”

于 2015-06-06T13:47:22.747 回答
0

对于 Swift,你可以这样做 :)

let viberShareUrl = "viber://forward?text=\(shareUrl)"
let url:NSURL =NSURL(string: viberShareUrl)!  
UIApplication.sharedApplication().openURL(url)
于 2016-11-01T08:49:35.877 回答
0

我不知道这是否适用于 iOS,但它适用于 Viber Desktop Windows 10。

<a href="viber://chat?number=0912222222" class="viber"></a>

它将打开一个与目标人的聊天窗口。于 2021 年 7 月 7 日测试。

于 2021-07-19T04:57:09.373 回答
-2

您可以使用检查

[[UIApplication sharedApplication] canOpenURL:@"viber://url"];

如果 Viber 应用程序安装在设备上,并且 viber 处理此 url 方案,它将返回 true,否则返回 false。

于 2015-05-30T13:02:19.100 回答