Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Open Whatsapp on a particular number in swift

Tags:

I am trying to open a particular contact chat in whatsapp but not getting any solution. Please help i am totally stuck. I have tried this:

let whatsAppURL: NSURL = NSURL(string: "whatsapp://send?abid=\(primary)&;text=lOL;")!         if UIApplication.sharedApplication().canOpenURL(whatsAppURL){             UIApplication.sharedApplication().openURL(whatsAppURL)         } 
like image 271
Tony Stark Avatar asked Nov 10 '16 19:11

Tony Stark


2 Answers

Its possible You can send messages to Specfic user.

Direct app chat url open

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

Note:Country code (Ex:+91) is mandatory to open mobile number Chat

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

Check below link,

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

Note: Add url scheme in info.plist

<key>LSApplicationQueriesSchemes</key>  <array>     <string>whatsapp</string>  </array> 
like image 104
Sheereen S Avatar answered Dec 17 '22 13:12

Sheereen S


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

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

Note: Add url scheme in info.plist

<key>LSApplicationQueriesSchemes</key>  <array>     <string>whatsapp</string>  </array> 
like image 30
Hardik Thakkar Avatar answered Dec 17 '22 15:12

Hardik Thakkar