簡體   English   中英

在 iOS 上通過 URL 方案啟動 Viber 應用程序

[英]Launching Viber app via URL scheme on iOS

我正在制作一個 iOS 應用程序,它可以打開 Viber 應用程序並自動呼叫某人或與該人進入聊天窗口。 Viber 是否有任何 url 方案可以做到這一點,例如:

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

我點擊了這個鏈接,但它適用於Android。

至於現在 (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 - 嘗試向 hello 公共帳戶寫信

支持論壇: https : //support.viber.com/

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

我向 Viber 支持人員發送了一封郵件,他們告訴我不再支持這種 URL(打開 Viber 呼叫/使用電話號碼聊天)。 打字時 Viber 版本是 5.6。

看看他們的回答:

support@viber.com :

“感謝您聯系我們。很遺憾,Viber 中沒有這樣的選項。”


我發現的唯一一件事是轉發消息的網址: https : //www.viber.com/en/developers/share_on_viber您可以指定文本但不能指定收件人

例子:

viber://forward?text=foo
viber://contact?number= mobile number

它將打開特定的用戶聯系人。 讓用戶選擇聊天和通話。
它對我有用!

我找到了一種使用 Viber“幾乎”呼叫的方法 - 通過添加聯系人:

viber://add?number=0123456789

這將打開 Viber“添加聯系人”對話框,用戶可以在將其添加為新聯系人后最終撥打預期號碼。

在 5.6 Viber 上對此進行了測試。 也適用於 HTML:

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

但是,如果聯系人不存在,則第一次單擊只會打開對話框,保存新聯系人並返回到您的應用程序/頁面。 再次單擊相同的鏈接將直接打開帶有呼出按鈕的聯系人視圖

干杯!

您可以使用此代碼來完成您想要的:

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=38095xxxxxxx

重要提示:不要將 + 放在數字的開頭,否則將不起作用

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

對於 Swift,你可以這樣做:)

let viberShareUrl = "viber://forward?text=\(shareUrl)"
let url:NSURL =NSURL(string: viberShareUrl)!  
UIApplication.sharedApplication().openURL(url)

我不知道這是否適用於 iOS,但它適用於 Viber Desktop Windows 10。

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

它將打開一個與目標人的聊天窗口。 2021 年 7 月 7 日測試。

您可以使用

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

如果設備上安裝了 Viber 應用程序,並且 viber 處理此 url 方案,它將返回 true,否則返回 false。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM