我正在制作一款iOS应用程序,可以打开Viber应用程序并自动拨打电话或进入与某人的聊天窗口。是否有Viber的URL方案来实现这一点,例如:
viber://tel:<phone_number>
viber://chat:<phone_number>
我按照这个链接操作,但它只适用于Android。
viber://tel:<phone_number>
viber://chat:<phone_number>
我按照这个链接操作,但它只适用于Android。
截至目前(2017年3月26日),我发现以下URI可以使用:
还有一些与公共账号交互的链接 https://developers.viber.com/tools/deep-links/index.html - viber:// pa?chatURI = hello&context = abcdefg&text = hi - 尝试向hello公共账户写入hi
支持论坛:https://support.viber.com/
他们还有Chrome扩展程序 - https://support.viber.com/customer/en/portal/articles/2191386-new-chrome-web-extension#top
viber://forward?text=foo
viber://contact?number= mobile number
这将打开特定用户的联系人。让用户选择聊天和通话。
这对我有用!
viber://add?number=0123456789
<a href="viber://add?number=%2B49150123456789">Viber me</a>
这指向联系页面
viber://contact?number=38095xxxxxxx
重要提示:不要在号码前加上+,否则无法使用
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
}
对于Swift,你可以这样做 :)
let viberShareUrl = "viber://forward?text=\(shareUrl)"
let url:NSURL =NSURL(string: viberShareUrl)!
UIApplication.sharedApplication().openURL(url)
我不知道这在iOS上是否可用,但它在我的Viber桌面版Windows 10上有效。
<a href="viber://chat?number=0912222222" class="viber"></a>
这将打开一个与目标人员的聊天窗口。在2021年7月7日测试通过。
viber://chat?number=NUMBER
的URI是有效的(我认为其他答案中提到的URI也是有效的),但是要让它在iOS上正常工作,有一件重要的事情要做 - 不要忘记将Viber方案添加到Info.plist
中的查询URL方案中。 - Razvodovsky你可以使用以下方式进行检查
[[UIApplication sharedApplication] canOpenURL:@"viber://url"];
canOperURL:
需要一个NSURL
,而你正在传递一个NSString
。 - Juan Catalan