Android için mobil web sitesinden (uygulama değil) WhatsApp'ta bağlantı paylaşma


213

Esas olarak cep telefonlarında kullanılan bir web sitesi geliştirdim.
Kullanıcıların doğrudan web sayfasından WhatsApp'a bilgi paylaşmalarına izin vermek istiyorum.

UserAgent algılamayı kullanarak Android ve iOS arasında ayrım yapabilirim.
Yukarıda iOS'ta uygulamak için URL'yi kullanabileceğimi keşfettim:

href="whatsapp://send?text=http://www.example.com"

Hala işletim sistemi Android olduğunda kullanılacak çözümü arıyorum (yukarıdaki gibi çalışmıyor).
Bir şekilde Android'de "niyet" kullanmakla ilgili olduğunu düşünüyorum, ancak href için parametre olarak nasıl yapılacağını anlayamadım.


Bu şekilde Whatsapp uygulamasına bağlanır ve web.whatsapp.com seçeneğine bağlanmanın başka bir yolu vardır. Hangisine bağlanacağınızı görmek için uygulamanızın olup olmadığını tespit edecek herhangi bir yol var mı?
SrQ

Bu kişiyi hangi kişi alacak?
Codebeat

Yanıtlar:


321

Sadece bir web sitesinde gördüm ve şimdi de en son krom ve whatsapp ile son Android üzerinde çalışıyor gibi görünüyor! Bağlantıya yeni bir şans verin!

<a href="whatsapp://send?text=The text to share!" data-action="share/whatsapp/share">Share via Whatsapp</a>

(17 Bugün rechecked inci : Nisan 2015)
iOS 8 benim için Works (iPhone 6, son sürümlerinde) Android 5 (Nexus 5, en son sürümleri).

Windows Phone'da da çalışır.


1
gerçekten de sorumun orijinal URL'sinin şimdi Android için de işe yaradığı anlaşılıyor.
Yochai

@ MosheL'in kuşkusuz içgörüsel yorumunu her kim onayladıysa, onun “öğesi” nin tam olarak ne olduğu konusunda samimi bilgiye sahip olmalıdır.
Dan Dascalescu

6
@Manuel data-action = "paylaş / whatsapp / paylaş" nedir?
user3362364

4
Veriler url kodlu biçimde olmalıdır. Aksi takdirde whatsapp iphone'da boş mesaj gönderir.
Lijo Abraham

1
Bazı API değişiklikleri son dokümanda bulunabilir - faq.whatsapp.com/en/general/26000030/?category=5245251
abhishek77in

102

Yukarıdaki cevaplar biraz modası geçmiş. Bu yöntem işe yarar, ancak aşağıdaki yöntemi kullanarak, herhangi bir metni önceden tanımlanmış bir numarayla paylaşabilirsiniz. Aşağıdaki yöntem android, WhatsApp web, IOS vb için çalışır.

Sadece bu biçimi kullanmanız gerekir:

<a href="https://api.whatsapp.com/send?phone=whatsappphonenumber&text=urlencodedtext"></a>

GÜNCELLEME-- Bunu şimdi kullan (Kasım-2018)

<a href="https://wa.me/whatsappphonenumber/?text=urlencodedtext"></a>

Kullanım: https://wa.me/15551234567

Kullanmayın: https://wa.me/+001-(555)1234567

Bir sohbetin metin alanında otomatik olarak görünecek önceden doldurulmuş bir mesajla kendi bağlantınızı oluşturmak için, https://wa.me/whatsappphonenumber/?text=urlencodedtext'i kullanın ; burada whatsappphonenumber'ın uluslararası biçim ve URL'de tam bir telefon numarası olduğu -kodlu metin URL kodlu önceden doldurulmuş mesajdır.

Örnek: https://wa.me/15551234567?text=I 'm% 20 ilgilenen% 20in% 20your% 20car% 20% 20sale için

Önceden doldurulmuş bir iletiyle bağlantı oluşturmak için https://wa.me/?text=urlencodedtext

Örnek: https://wa.me/?text=I 'm% 20ququiring% 20ab%% 20the% 20apartment% 20listing

Bağlantıyı tıkladıktan sonra mesajınızı gönderebileceğiniz kişilerin bir listesi gösterilir.

Daha fazla bilgi için bkz. Https://www.whatsapp.com/faq/en/general/26000030


Bunu tüm cihazlarda test ettim. Tüm yaptığı whatsapp uygulamasını açmaktır. Sonra hiçbir şey olmaz. Birden fazla cihazı test etti (iOS, Android, Windows).
HoldOffHunger

@HoldOffHunger evet whatsapp uygulamasını açacak ve kullanıcı bağlantıyı / içeriği paylaşmak istediği kişiyi seçmelidir.
ad08

@ ad08: Threema ve test ettiğim diğer 40 hizmet böyle çalıştı. Ancak Viber ve WhatsApp hiçbir şey yapmıyor, geliştiricileriyle iletişime geçtim ve ikisi de API'nın hiçbir şey yapmadığını itiraf etti. Yazışmalarını ve diğer 40 api'yi
HoldOffHunger 4:30 '

Mojave altında WhatsApp Masaüstünde çalışır
Alchem

6
wa.me bağlantıları telefon numarası olmadan mobil cihazlarda düzgün çalışmıyor. Resmi belgelerde kullanabileceğiniz belirtilse de, sadece bir hata veriyor. WhatsApp web kullanarak masaüstünde çalışır. api.whatsapp.com her ikisinde de güvenilir bir şekilde çalışır.
Ricardo BRGWeb

39

Şu anda bunu başarmak çok kolay. Sayfalarınıza yalnızca aşağıdaki kodu eklemeniz gerekir:

<a href="whatsapp://send?text=<<HERE GOES THE URL ENCODED TEXT YOU WANT TO SHARE>>" data-action="share/whatsapp/share">Share via Whatsapp</a>

Ve bu kadar. Javascript gerekmez, başka bir şey gerekmez. Tabii ki istediğiniz gibi stil verebilir ve güzel bir Whatsapp simgesi ekleyebilirsiniz.

Bunu Google Chrome ile Android cihazımda test ettim. Sürümler:

  • Android 4.1.2 (Jelly Bean)
  • Chrome Mobile 37.0.2062.117. Firefox Mobile 31.0'da da test edildi.
  • Whatsapp V 2.11.399

Ayrıca iOS'ta da çalışır. Safari ile bir iPhone 5 üzerinde hızlı bir test yaptım ve işe yarıyor.

Umarım bu birine yardımcı olur. :-)


3
İçeriğinizi paylaşmak üzere kodlamak içinencodeURIComponent()
nikoskip

1
hey, bu benim için çalıştı. teşekkürler :) Sadece merak, eğer kullanıcı gerçekten bağlantı paylaştı veya sadece siteye geri geldi olup olmadığını kontrol edebilirsiniz yolu varsa?
Sayed

1
Android 5.0 (Lollipop) ile Nexus 5 ve iOS 8.1.1 ile iPhone 5 üzerinde de çalışır.
Narxx

2
@juangalf Bu yöntemi kullanarak bir görüntü paylaşmak istersem ne olur? bu da mümkün olacak mı, yoksa sadece metin desteklenecek mi?
elembivos

1
@elembivos Ben de aynısını istiyorum. Nasıl gelmez sendparametre formated lazım? Şu anda, whatsapp://send?text=data:image/png;base64,iVBORw0KGgoAAAANS...öneklerin ne kadarını dahil
edeceğimizden

27

Yeni belgelere göre, bağlantı şimdi:

<a href="https://wa.me/?text=urlencodedtext">Share this</a>

Eğer işe yaramazsa, şunu deneyin:

<a href="whatsapp://send?text=urlencodedtext">Share this</a>

3
Bu yüzden bir telefon numarası olmadan da mümkündür. Bu dokümanı burada bulabilirsiniz: faq.whatsapp.com/en/general/26000030
Tim Vermaelen

1
Az önce bunun düzgün çalışmadığını keşfettim. Sadece telefon numarası ile çalışır. Bir telefon numarası olmadan api.whatsapp.com'u kullanmanız gerekir
Ricardo BRGWeb

Bundan emin misiniz? Sadece web tarayıcılarımı denedim, herhangi bir sayı olmadan benim için çalışıyor, bana Web Whatsapp arayüzünü ve bir kişiyle paylaşmayı
amaçlıyor

@VincentDecaux, mobil görünüm modunu kullanırken bile masaüstü tarayıcılarda çalışır. Ancak, whatsapp veya whatsapp iş uygulamalarını açmak için mobil tarayıcılarda çalışmaz. Muhtemelen onlar app iç bağlantı uri değişti.
Ricardo BRGWeb

Tamam, 2. seçeneğimi denedin mi? Oldukça mobil tarayıcıda denemedim, yarın deneyeceğim
Vincent Decaux

14

Son zamanlarda WhatsApp resmi web sitesinde , mobil sitelere paylaşılabilir hale getirmek için bu HTML etiketini kullanmamız gerektiğini güncelledi :

<a href="whatsapp://send?text=Hello%20World!">Hello, world!</a>

Sen değiştirebilir text=bağlantınızı veya herhangi bir metin içeriğe sahip


Bunu şahsen test ettim. Uygulamayı açar, ancak başka bir şey değildir.
HoldOffHunger

@HoldOffHunger çünkü urlencode kullanmanız gerekiyor, aksi takdirde işe yaramaz
Shiv Singh

@Shiv: Bu benim sorunum değildi.
HoldOffHunger

Bu kesinlikle işe yarıyor ... İleti metnine satır sonları eklemenin herhangi bir yolu var mı?
cht

@cht biraz geç, ancak satır sonları olarak%
0D'yi

11

SON GÜNCELLEME

Artık https://wa.me/kullanıcı aracısı hakkında endişelenmeden whatsapp'ın en son API'sını kullanabilirsiniz, API kullanıcı aracısı işlemeyi yapacaktır.

Önceden doldurulmuş metni ilgili whatsapp istemcisinde (Android / iOS / Webapp) kişi seçimi seçeneğiyle paylaşın:

https://wa.me/?text=urlencodedtext

İlgili whatsapp istemcisinde (Android / iOS / Webapp) belirli bir whatsapp kullanıcısı için Sohbet İletişim Kutusu'nu açın:

https://wa.me/whatsappphonenumber

Önceden doldurulmuş metni belirli bir kullanıcıyla paylaşma (İkisinin üzerinde birleştirme):

https://wa.me/whatsappphonenumber/?text=urlencodedtext

Not : whatsappphonenumberuluslararası formatta tam telefon numarası olmalıdır. Telefon numarasını uluslararası biçimde eklerken sıfırları, köşeli parantezleri veya tireleri atlayın.

Resmi belgeler için https://faq.whatsapp.com/en/general/26000030 adresini ziyaret edin.


wa.me/whatsappphonenumber/?text=urlencodedtext çalışmıyor gibi görünüyor
Kiran

7

Android için WhatsApp'ın şu anda bir web tarayıcısından çağrılmasını desteklemediğinden korkuyorum.

Mevcut projem için aynı gereksinime sahiptim ve uygun bilgileri bulamadığım için APK dosyasını indirdim.

Android'de, bir uygulama bir web tarayıcısından çağrılmak isterse, android.intent.category.BROWSABLE kategorisiyle bir Etkinlik tanımlaması gerekir.

Bununla ilgili daha fazla bilgiyi burada bulabilirsiniz: https://developers.google.com/chrome/mobile/docs/intents

WhatsApp AndroidManifest.xml dosyasına bakarsanız, BROWSABLE kategorisine sahip tek Activiy şudur:

<activity android:name="com.whatsapp.Conversation"   android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:windowSoftInputMode="stateUnchanged">
        <intent-filter>
            <action android:name="android.intent.action.SENDTO" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="sms" />
            <data android:scheme="smsto" />
        </intent-filter>
    </activity>

Bir süredir onunla oynuyorum ve çalışmasını sağlayamadım. En çok WhatsApp uygulamasını Chrome'dan açmaktı, ancak mesaj içeriğini ve alıcıyı ayarlamanın bir yolunu bulamadım.

WhatsApp ekibi tarafından belgelenmediği için, bunun hala devam ettiğini düşünüyorum. Gelecekte WhatsApp SMS'i de ele alacak gibi görünüyor.

Daha fazla bilgi almanın tek yolu, denediğim WhatsApp geliştirici ekibine ulaşmaktır, ancak yine de bir yanıt bekliyorum.

Saygılarımızla!


1
Bu konuyla ilgili yeni bilgileri burada paylaşmanızı isteyebilir miyim? Benim için de çok uygun olurdu. Her neyse, kapsamlı cevap için teşekkür ederim.
ccalboni

WhatsApp geliştiricileriyle iletişim kurabildim. Bu özelliğin desteklenmediğini itiraf ettiler.
HoldOffHunger

7

Genel olarak, yalnızca Whatsapp Bağlantısını java komut dosyası kullanarak yalnızca iOS veya Android Cihazlarda görüntülemek mantıklıdır:

   if (navigator.userAgent.match(/iPhone|Android/i)) {
      document.write('<a href="whatsapp://send?text=See..">Share on WhatApp</a>');
   }

Ne işe yaramadı? Bağlantı mobil olmayan bir cihazda mı görüntülendi? Mobil cihazda bağlantı çalışmadı mı?
Weidenrinde

WhatsApp uygulaması açılır. Ancak ne metin ne de mesaj görüntüleniyor. Çeşitli işletim sistemlerinde ve cihazlarda test edilmiştir. Geliştiricilere e-posta gönderdim. Resmi olarak bu davranışı desteklemiyorlar "Maalesef şu anda desteklenmiyor. Uygulamamızı her zaman geliştirmek için çalışıyoruz ve önerinizi dikkate alacağız." (bilet # 172349248330585) ~ 40 diğer hizmeti test ettim, sadece WhatsApp ve Viber kendi belgelerini desteklemiyor.
HoldOffHunger

7

Sadece whatsapp://benim eski Android 2.3.3ile düzeni test, Whats App 2.11.301bir cazibe gibi çalışır. Sadece Whats Appversiyon gibi görünüyor . Yana Whats Appgüncelleme herkesi zorluyor, onu kullanmak güvenli olmalıdır.

Whats AppDokümantasyon Ayrıca düzeni söz: http://www.whatsapp.com/faq/en/android/28000012

Bunu şimdi bir üretim sitesinde kullanıyorum ve herhangi bir kullanıcı şikayeti alırsam, burada güncellenecek.

Düzenle (14 Kasım): Birkaç hafta sonra kullanıcı şikayeti yok.


6

Resmi dokümanlar kullanımına ki: wa.me. Kullanma wa.me. Sadece kendiniz deneyin: https://wa.me/?text=SomeTexttoShare Benim için sonuçlar:

Aradığınız sayfayı bulamadık

Görünüşe göre mevcut olmayan bir sayfa arıyorsunuz. Veya henüz silmiş olabileceğimiz bir sayfa. Her iki durumda da geri dönün veya URL'yi, yazımınızı kontrol ettiğinizden emin olun ve tekrar deneyin.

Paylaşmak istiyorsanız, kesinlikle aşağıdaki iki URL biçiminden birini kullanmanız gerekir:

https://api.whatsapp.com/send?text=YourShareTextHere
https://api.whatsapp.com/send?text=YourShareTextHere&phone=123

Bu URL'leri takip eden bir projeyi izlemek istiyorsanız, bizi ziyaret edin !: https://github.com/bradvin/social-share-urls#telegramme

Sosyal Paylaşım URL'leri


whatsapp://send?text=URL kodlamalı veya kodsuz kullanmak benim için işe yarıyor. Sadece iOS'ta test etti
Kartopu

Hey, @Snowball: Yorum için teşekkürler, aslında, bu sadece whatsapp uygulaması yüklendiğinde işe yarayacaktır. customProtocol://action=?Bağlantı türleri için bu normaldir . Yani, masaüstünde hiçbir şey yapmaz. Bunu kullanmak için işletim sisteminin algılanması, ardından masaüstü için bir URL ve iOS için başka bir URL kullanılması gerekir. Ama bu gerçekten OP'nin istediklerinden tamamen farklı bir mesele.
HoldOffHunger

3

Whatsapp paylaşım bağlantılarını masaüstü veya mobil platformlara göre değiştirin.

Bu, bağlantıdaki telefon numarasını girerek veya vermeden çalışır.

Mobil cihazlar için

   vm.LinkTextToShare = 'https://api.whatsapp.com/send?text=' + encodeURIComponent(window.location.href) ;

   window.open(vm.LinkTextToShare,"_blank");

Masaüstü için

   vm.LinkTextToShare = 'https://web.whatsapp.com/send?l=en&text=' + encodeURIComponent(window.location.href) ;

   window.open(vm.LinkTextToShare,"_blank");

3

Bu kod benim için çalıştı.

Bağlantıyı tıkladıktan sonra, bir mesajı paylaşmak için kişiyi seçmeniz istenir.

<a href="https://api.whatsapp.com/send?text=enter message here">Click here to share on Whatsapp</a>

Target = "_ blank" niteliğini yeni bir pencerede veya sekmede açmak için ekleyebilirsiniz.

Birisi belirli bir mesajı veya makaleyi paylaşmak istediğinde telefon numarasının gerekli olduğunu düşünmüyorum.


bu tarayıcı masaüstünde açılabilir mi? web.whatsapp sayfasına yönlendirildiniz mi?
gumuruh

1

"whatsapp: // send? text =" + encodeURIComponent (metniniz buraya gelir) gibi kullanın, kesinlikle işe yarayacaktır.


0

Bu şekilde yapmaya çalışın:

<a href="https://wa.me/(phone)?text=(text URL encoded)">Link</a>

Hatta bağlantıya telefon numarasını girmeden mesaj gönderebilirsiniz:

<a href="https://wa.me/?text=Hello%20world!">Say hello</a>

Bağlantıyı tıkladıktan sonra mesajınızı gönderebileceğiniz kişilerin bir listesi gösterilir.

Https://faq.whatsapp.com/en/general/26000030 adresinde daha fazla bilgi bulabilirsiniz .

İyi şanslar!



Anlamıyorum. WhatsApp bu hatayı gösteriyor? Ne zaman?
Gustavo Cantero
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.