web-dev-qa-db-ja.com

swiftの特定の番号でWhatsappを開きます

Whatsappで特定の連絡先チャットを開こうとしていますが、解決策はありません。私が完全に行き詰まっているのを助けてください。私はこれを試しました:

let whatsAppURL: NSURL = NSURL(string: "whatsapp://send?abid=\(primary)&;text=lOL;")!
        if UIApplication.sharedApplication().canOpenURL(whatsAppURL){
            UIApplication.sharedApplication().openURL(whatsAppURL)
        }
14
Punit Sharma

この whatsappフォーラムリンク のように、特定のユーザーにメッセージを送信する方法はありません。これはwhatsapp URLスキームでは使用できません。

定義済みのメッセージを設定するだけで、URLスキームを使用してwhatsapp最近のコントローラーを開くことができます。

3
Rajat

その可能なあなたはSpecficユーザーにメッセージを送ることができます。

直接アプリチャットのURLを開く

let urlWhats = "whatsapp://send?phone=+919789384445&abid=12354&text=Hello"
    if let urlString = urlWhats.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed) {
        if let whatsappURL = URL(string: urlString) {
            if UIApplication.shared.canOpenURL(whatsappURL!) {
                UIApplication.shared.openURL(whatsappURL!)
            } else {
                print("Install Whatsapp")
            }
        }
    }

注:携帯番号チャットを開くには国コード(例:+91)が必須です

WebUrl Link open Chat

 let whatsappURL = URL(string: "https://api.whatsapp.com/send?phone=9512347895&text=Invitation")
    if UIApplication.shared.canOpenURL(whatsappURL) {
        UIApplication.shared.open(whatsappURL, options: [:], completionHandler: nil)
    }

以下のリンクを確認してください、

https://www.whatsapp.com/faq/en/general/260000

注:info.plistにURLスキームを追加します

<key>LSApplicationQueriesSchemes</key>
 <array>
    <string>whatsapp</string>
 </array>
37
Sheereen S

Swift 4.2/Swift 5の場合

func openWhatsapp(){
    let urlWhats = "whatsapp://send?phone=(mobile number with country code)"
    if let urlString = urlWhats.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed){
        if let whatsappURL = URL(string: urlString) {
            if UIApplication.shared.canOpenURL(whatsappURL){
                if #available(iOS 10.0, *) {
                    UIApplication.shared.open(whatsappURL, options: [:], completionHandler: nil)
                } else {
                    UIApplication.shared.openURL(whatsappURL)
                }
            }
            else {
                print("Install Whatsapp")
            }
        }
    }
}

Swift 2.0の場合

let urlWhats = "whatsapp://send?phone=(mobile number with country code)"
        if let urlString = urlWhats.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet()){
            if let whatsappURL = NSURL(string: urlString) {
                if UIApplication.sharedApplication().canOpenURL(whatsappURL){
                    UIApplication.sharedApplication().openURL(whatsappURL)
                }
                else {
                    print("Install Whatsapp")
                }
            }
        }

注:info.plistにURLスキームを追加します

<key>LSApplicationQueriesSchemes</key>
 <array>
    <string>whatsapp</string>
 </array>
22
Hardik Thakkar

これを試してみてください...

guard let url = URL(string: "https://wa.me/your_number") else {
        return //be safe
    }
    if #available(iOS 10.0, *) {
        UIApplication.shared.open(url, options: [:], completionHandler: nil)
    } else {
        UIApplication.shared.openURL(url)
    }
1
KameshiOS

これは不可能です。URLスキームでWhatsAppを開くだけです。

1
Bharat Bapodara