web-dev-qa-db-fra.com

Ouvrez Whatsapp sur un numéro particulier dans Swift

J'essaie d'ouvrir un chat de contact particulier dans WhatsApp mais je n'obtiens aucune solution. S'il vous plaît, aidez-moi, je suis totalement coincé. J'ai essayé ceci:

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

Selon ce lien vers le forum WhatsApp } _, il n’ya aucun moyen d’envoyer un message à un utilisateur spécifique, cela n’est pas disponible dans le schéma d’URL de Whatsapp.

Vous venez de définir un message prédéfini, puis avec le schéma d'URL, vous pouvez ouvrir le contrôleur récent de WhatsApp.

4
Rajat

C'est possible Vous pouvez envoyer des messages à l'utilisateur Specfic.

URL du chat de l'application directe ouverte

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")
            }
        }
    }

Remarque: l'indicatif du pays (Ex: +91) est obligatoire pour ouvrir un numéro de téléphone en ligne.

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)
    }

Vérifiez le lien ci-dessous,

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

Remarque: Ajouter un schéma d'URL dans info.plist

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

Pour 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")
                }
            }
        }

Pour Swift4.2

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")
                }
            }
        }
    }

Remarque: Ajouter un schéma d'URL dans info.plist

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

Tu devrais essayer ça ...

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

Ce n'est pas possible, vous pouvez simplement ouvrir WhatsApp avec un schéma d'URL.

1
Bharat Bapodara