在 iOS 上通过 URL 方案启动 Viber 应用程序
Launching Viber app via URL scheme on iOS
我正在制作一个 iOS 应用程序,它可以打开 Viber 应用程序并自动呼叫某人或与此人聊天 window。 Viber 是否有任何 url 方案可以做到这一点,例如:
viber://tel:<phone_number>
viber://chat:<phone_number>
我关注了 this link 但它是为了 Android。
您可以使用
查看
[[UIApplication sharedApplication] canOpenURL:@"viber://url"];
如果设备上安装了 Viber 应用程序,并且 viber 处理此 url 方案,它将 return 为真,否则为假。
您可以使用此代码来完成您想要的:
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://chats" 或
"viber://calls"
我给 Viber 支持人员发了一封邮件,他们告诉我不再支持这种 URL(使用 phone 号码打开 Viber call/chat)。输入时 Viber 版本是 5.6.
看看他们的回答:
支持@viber.com:
“感谢您联系我们。
不幸的是,Viber 中没有这样的选项。"
我唯一找到的是 url 转发消息:https://www.viber.com/en/developers/share_on_viber
您可以指定文本但不能指定收件人
示例:
viber://forward?text=foo
我找到了一种使用 Viber "almost" 呼叫的方法 - 添加联系人:
viber://add?number=0123456789
这将打开 Viber "Add Contact" 对话框,用户最终可以在将其添加为新联系人后呼叫预期号码。
在 5.6 Viber 上对此进行了测试。
也适用于 HTML:
<a href="viber://add?number=%2B49150123456789">Viber me</a>
但是,如果联系人不存在,第一次单击只会打开对话框,保存新联系人并返回到您的 application/page。
再次单击相同的 link 将直接打开带有呼出按钮的联系人视图
干杯!
对于Swift,你可以这样做:)
let viberShareUrl = "viber://forward?text=\(shareUrl)"
let url:NSURL =NSURL(string: viberShareUrl)!
UIApplication.sharedApplication().openURL(url)
就目前(2017 年 3 月 26 日)而言,我发现此 URI 有效:
- viber://add?number=NUMBER - 打开用户页面
- viber://forward?text=foo - 与选定用户共享文本
- viber://chats - 打开聊天选项卡
- viber://calls - 打开通话选项卡
- ??? - 找不到如何打开用户's/contacts 选项卡
- viber://public - 打开一个 public 选项卡
- viber://more - 打开更多选项卡(行中的最后一个)
以及一些与 Public 帐户互动的链接
https://developers.viber.com/tools/deep-links/index.html
- viber://pa?chatURI=hello&context=abcdefg&text=hi - 尝试将 hi 写成 hello public 帐户
支持论坛:https://support.viber.com/
他们有 chrome 分机 - https://support.viber.com/customer/en/portal/articles/2191386-new-chrome-web-extension#top
viber://contact?number= mobile number
它将打开特定的用户联系人。让用户 select 聊天和通话。
它对我有用!
这指向联系页面
viber://contact?number=38095xxxxxxx
重要提示:不要将 + 放在数字的开头,否则将不起作用
我不知道这是否适用于 iOS 但它适用于我的 Viber Desktop Windows 10.
<a href="viber://chat?number=0912222222" class="viber"></a>
它将打开与目标人的聊天 window。 2021 年 7 月 7 日测试。
我正在制作一个 iOS 应用程序,它可以打开 Viber 应用程序并自动呼叫某人或与此人聊天 window。 Viber 是否有任何 url 方案可以做到这一点,例如:
viber://tel:<phone_number>
viber://chat:<phone_number>
我关注了 this link 但它是为了 Android。
您可以使用
查看[[UIApplication sharedApplication] canOpenURL:@"viber://url"];
如果设备上安装了 Viber 应用程序,并且 viber 处理此 url 方案,它将 return 为真,否则为假。
您可以使用此代码来完成您想要的:
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://chats" 或 "viber://calls"
我给 Viber 支持人员发了一封邮件,他们告诉我不再支持这种 URL(使用 phone 号码打开 Viber call/chat)。输入时 Viber 版本是 5.6.
看看他们的回答:
支持@viber.com:
“感谢您联系我们。 不幸的是,Viber 中没有这样的选项。"
我唯一找到的是 url 转发消息:https://www.viber.com/en/developers/share_on_viber 您可以指定文本但不能指定收件人
示例:
viber://forward?text=foo
我找到了一种使用 Viber "almost" 呼叫的方法 - 添加联系人:
viber://add?number=0123456789
这将打开 Viber "Add Contact" 对话框,用户最终可以在将其添加为新联系人后呼叫预期号码。
在 5.6 Viber 上对此进行了测试。 也适用于 HTML:
<a href="viber://add?number=%2B49150123456789">Viber me</a>
但是,如果联系人不存在,第一次单击只会打开对话框,保存新联系人并返回到您的 application/page。 再次单击相同的 link 将直接打开带有呼出按钮的联系人视图
干杯!
对于Swift,你可以这样做:)
let viberShareUrl = "viber://forward?text=\(shareUrl)"
let url:NSURL =NSURL(string: viberShareUrl)!
UIApplication.sharedApplication().openURL(url)
就目前(2017 年 3 月 26 日)而言,我发现此 URI 有效:
- viber://add?number=NUMBER - 打开用户页面
- viber://forward?text=foo - 与选定用户共享文本
- viber://chats - 打开聊天选项卡
- viber://calls - 打开通话选项卡
- ??? - 找不到如何打开用户's/contacts 选项卡
- viber://public - 打开一个 public 选项卡
- viber://more - 打开更多选项卡(行中的最后一个)
以及一些与 Public 帐户互动的链接 https://developers.viber.com/tools/deep-links/index.html - viber://pa?chatURI=hello&context=abcdefg&text=hi - 尝试将 hi 写成 hello public 帐户
支持论坛:https://support.viber.com/
他们有 chrome 分机 - https://support.viber.com/customer/en/portal/articles/2191386-new-chrome-web-extension#top
viber://contact?number= mobile number
它将打开特定的用户联系人。让用户 select 聊天和通话。
它对我有用!
这指向联系页面
viber://contact?number=38095xxxxxxx
重要提示:不要将 + 放在数字的开头,否则将不起作用
我不知道这是否适用于 iOS 但它适用于我的 Viber Desktop Windows 10.
<a href="viber://chat?number=0912222222" class="viber"></a>
它将打开与目标人的聊天 window。 2021 年 7 月 7 日测试。