Open Whatsapp on a particular number in swift

后端 未结 7 749
说谎
说谎 2020-12-30 01:50

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: N         


        
相关标签:
7条回答
  • 2020-12-30 02:14

    As per this whatsapp forum link, there is no way you can send message to specific user, this is not available within whatsapp URL scheme.

    You just set predefined message and then with URL scheme you are able to open whatsapp recent controller.

    0 讨论(0)
  • 2020-12-30 02:16

    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>
    
    0 讨论(0)
  • 2020-12-30 02:16

    This worked neatly for me

        if let url = URL(string: "https://wa.me/91xxxxxxxxxx?text=Hello"),
                UIApplication.shared.canOpenURL(url) {
                    UIApplication.shared.open(url, options: [:])
        }
    
    0 讨论(0)
  • 2020-12-30 02:20

    This issue really helpful

    just put people number without "+" example: 60161234567

    0 讨论(0)
  • 2020-12-30 02:27
    1. Add attributes to the Info.plist source code file like this:

      <key>LSApplicationQueriesSchemes</key>
      <array>
          <string>whatsapp</string>
      </array>
      
    2. Use the following function on custom click in your app:

      func openWhatsapp(){
          let urlWhats = "https://wa.me/numberWithCountryCode"
          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 {
                      Alert(withMessage: "You do not have WhatsApp installed! \nPlease install first.").show(andCloseAfter: 2.0)
                  }
              }
          }
      }
      
    0 讨论(0)
  • 2020-12-30 02:28

    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>
    
    0 讨论(0)
提交回复
热议问题