Berbagi tautan di WhatsApp dari situs web seluler (bukan aplikasi) untuk Android

213

Saya telah mengembangkan situs web yang terutama digunakan di ponsel.
Saya ingin memungkinkan pengguna untuk berbagi informasi langsung dari halaman web ke WhatsApp.

Menggunakan deteksi UserAgent saya dapat membedakan antara Android dan iOS.
Saya dapat menemukan bahwa untuk mengimplementasikan hal di atas di iOS saya dapat menggunakan URL:

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

Saya masih mencari solusi untuk digunakan ketika OS adalah Android (seperti di atas tidak berfungsi).
Saya kira itu entah bagaimana terkait dengan menggunakan "niat" di Android, tapi saya tidak tahu bagaimana melakukannya sebagai parameter untuk href.

Yochai
sumber
Cara ini terhubung ke aplikasi Whatsapp, dan ada cara lain untuk terhubung ke opsi web.whatsapp.com. Apakah ada cara yang akan mendeteksi jika Anda memiliki aplikasi atau tidak, untuk melihat ke mana harus terhubung?
SrQ
Kontak mana yang akan menerima pesan ini?
Codebeat

Jawaban:

321

Hanya melihatnya di situs web dan tampaknya bekerja pada Android terbaru dengan chrome terbaru dan whatsapp sekarang juga! Beri tautan kesempatan baru!

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

Diperiksa ulang hari ini (17 th April 2015):
Bekerja untuk saya di iOS 8 (iPhone 6, versi terbaru) Android 5 (Nexus 5, versi terbaru).

Ini juga berfungsi pada Windows Phone.

Manuel
sumber
1
memang sepertinya URL asli dalam pertanyaan saya juga berfungsi sekarang untuk Android.
Yochai
Siapa pun yang meng-upgrade komentar @ MosheL yang pasti memiliki wawasan pasti harus memiliki pengetahuan mendalam tentang apa sebenarnya "item" -nya.
Dan Dascalescu
6
@Manuel untuk apa data-action = "bagikan / whatsapp / bagikan" untuk?
user3362364
4
Data harus dalam bentuk disandikan url. Selain itu akan mengirim pesan kosong di whatsapp iphone.
Lijo Abraham
1
Beberapa perubahan API dapat ditemukan di dokumen terbaru - faq.whatsapp.com/en/general/26000030/?category=5245251
abhishek77in
102

Jawaban di atas agak ketinggalan jaman. Meskipun metode itu berfungsi, tetapi dengan menggunakan metode di bawah ini, Anda dapat membagikan teks apa pun ke nomor yang telah ditentukan. Metode di bawah ini berfungsi untuk android, web WhatsApp, iOS dll.

Anda hanya perlu menggunakan format ini:

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

UPDATE-- Gunakan ini mulai sekarang (Nov-2018)

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

Gunakan: https://wa.me/15551234567

Jangan gunakan: https://wa.me/+001-(555)1234567

Untuk membuat tautan Anda sendiri dengan pesan pra-isi yang secara otomatis akan muncul di bidang teks obrolan, gunakan https://wa.me/whatsappphonenumber/?text=urlencodedtext di mana whatsappphonenumber adalah nomor telepon lengkap dalam format dan URL internasional -encodedtext adalah pesan pra-isi yang dikodekan-URL.

Contoh: https://wa.me/15551234567?text=I% 20 ​​saya tertarik% 20in% 20Anda% 20car% 20untuk% 20sale

Untuk membuat tautan hanya dengan pesan yang sudah diisi sebelumnya, gunakan https://wa.me/?text=urlencodedtext

Contoh: https://wa.me/?text=I% 20membutuhkan% 20tentang% 20bagian% 20apartemen% 20 daftar

Setelah mengklik tautan, Anda akan diperlihatkan daftar kontak yang dapat Anda kirimi pesan.

Untuk informasi lebih lanjut, lihat https://www.whatsapp.com/faq/en/general/26000030

ad08
sumber
Saya menguji ini di semua perangkat. Yang dilakukannya hanyalah membuka aplikasi whatsapp. Tidak ada yang terjadi setelah perang. Beberapa perangkat yang diuji (iOS, Android, Windows).
HoldOffHunger
@HoldOffHunger ya itu akan membuka aplikasi whatsapp dan pengguna harus memilih kontak yang diinginkannya untuk membagikan tautan / konten.
ad08
@ ad08: Begitulah cara kerja Threema dan 40 layanan lainnya yang saya uji. Namun Viber dan WhatsApp tidak melakukan apa-apa, saya menghubungi pengembang mereka, dan mereka berdua mengakui API tidak melakukan apa-apa. Saya telah melacak korespondensi mereka dan 40 api lainnya (yang berfungsi) di sini: github.com/bradvin/social-share-urls/blob/master/README.md
HoldOffHunger
Bekerja di WhatsApp Desktop di bawah Mojave
Alchem
6
tautan wa.me tidak berfungsi dengan baik di ponsel tanpa nomor telepon. Meskipun dokumentasi resmi menyatakan bahwa Anda dapat menggunakannya, itu hanya memberikan kesalahan. Ini berfungsi di desktop, menggunakan web WhatsApp. api.whatsapp.com bekerja dengan baik di keduanya.
Ricardo BRGWeb
39

Saat ini, sangat mudah untuk mencapai ini. Anda hanya perlu menambahkan kode berikut ke halaman Anda:

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

Dan itu saja. Tidak diperlukan Javascript, tidak ada lagi yang dibutuhkan. Tentu saja Anda dapat mengaturnya sesuai keinginan dan menyertakan ikon Whatsapp yang bagus.

Saya menguji ini di perangkat Android saya dengan Google Chrome. Versi-versi:

  • Android 4.1.2 (Jelly Bean)
  • Chrome Mobile 37.0.2062.117. Juga diuji pada Firefox Mobile 31.0.
  • Whatsapp V 2.11.399

Ini juga berfungsi di iOS. Saya telah melakukan tes cepat pada iPhone 5 dengan Safari dan itu berfungsi juga.

Semoga ini bisa membantu seseorang. :-)

juangalf
sumber
3
Untuk menyandikan konten Anda untuk dibagikan menggunakanencodeURIComponent()
nikoskip
1
hei, itu berhasil untukku. terima kasih :) Hanya ingin tahu, apakah ada cara jika saya dapat memeriksa apakah pengguna benar-benar membagikan tautan atau hanya kembali ke situs?
Sayed
1
Juga berfungsi pada Nexus 5 saya dengan Android 5.0 (Lollipop), dan iPhone 5 dengan iOS 8.1.1.
Narxx
2
@ juangalf Bagaimana jika saya ingin berbagi gambar menggunakan metode ini? apakah itu mungkin juga, atau hanya teks yang didukung?
elembivos
1
@elembivos saya meminta hal yang sama. Bagaimana sendparameter harus diformat? Saat ini, saya memiliki whatsapp://send?text=data:image/png;base64,iVBORw0KGgoAAAANS...tetapi tidak yakin berapa banyak awalan untuk disertakan ...
TMOTTM
27

Menurut dokumentasi baru, tautannya sekarang:

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

Jika tidak berhasil, coba yang ini:

<a href="whatsapp://send?text=urlencodedtext">Share this</a>
Vincent Decaux
sumber
3
Jadi dimungkinkan juga tanpa nomor telepon. Doc ini dapat ditemukan di sini: faq.whatsapp.com/en/general/26000030
Tim Vermaelen
1
Saya baru saja menemukan itu tidak berfungsi dengan baik lagi. Ini hanya berfungsi dengan nomor telepon. Tanpa nomor telepon, Anda perlu menggunakan api.whatsapp.com
Ricardo BRGWeb
@ RicardoBRGAnda yakin akan hal ini? Saya baru saja mencoba di browser web saya, berfungsi untuk saya tanpa nomor apa pun, itu tujuan saya antarmuka Web Whatsapp dan untuk berbagi ke kontak
Vincent Decaux
@VincentDecaux berfungsi di browser desktop, bahkan saat menggunakan mode tampilan seluler. Tapi itu tidak akan bekerja di browser seluler untuk membuka aplikasi bisnis whatsapp atau whatsapp. Mungkin mereka telah mengubah uri tautan internal di aplikasi.
Ricardo BRGWeb
Ok, apakah Anda mencoba opsi ke-2 saya? cukup saya tidak mencoba di browser seluler, saya akan coba besok
Vincent Decaux
14

Baru-baru ini WhatsApp memperbarui di situs web resminya bahwa kita perlu menggunakan tag HTML ini agar dapat dibagikan ke situs seluler:

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

Anda dapat mengganti text=untuk memiliki tautan Anda atau konten teks apa pun

Aadil Keshwani
sumber
Saya menguji ini secara pribadi. Ini membuka aplikasi, tetapi tidak ada yang lain.
HoldOffHunger
@HoldOffHunger karena Anda harus menggunakan urlencode jika tidak, tidak akan berhasil
Shiv Singh
@ Shiv: Itu bukan masalah saya.
HoldOffHunger
Ini bekerja dengan baik tentu saja ... Adakah cara untuk menyisipkan jeda baris (masukkan kunci) dalam teks pesan?
cht
@ Cht agak terlambat, tetapi Anda dapat menggunakan% 0D sebagai jeda baris
Elro444
11

PEMBARUAN TERBARU

Sekarang Anda dapat menggunakan API terbaru dari whatsapp https://wa.me/tanpa khawatir tentang agen pengguna, API akan melakukan penanganan agen pengguna.

Bagikan teks yang sudah diisi sebelumnya dengan opsi pemilihan kontak di masing-masing klien whatsapp (Android / iOS / Webapp):

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

Buka Dialog Obrolan untuk pengguna whatsapp tertentu di masing-masing klien whatsapp (Android / iOS / Webapp):

https://wa.me/whatsappphonenumber

Bagikan teks yang sudah diisi sebelumnya dengan pengguna tertentu (Gabungkan di atas dua):

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

Catatan :whatsappphonenumber harus nomor telepon lengkap dalam format internasional. Hilangkan nol, tanda kurung, atau garis putus-putus saat menambahkan nomor telepon dalam format internasional.

Untuk dokumentasi resmi, kunjungi https://faq.whatsapp.com/en/general/26000030

Shri
sumber
wa.me/whatsappphonenumber/?text=urlencodedtext tampaknya tidak berfungsi
Kiran
7

Saya khawatir WhatsApp untuk Android saat ini tidak mendukung untuk dipanggil dari browser web.

Saya memiliki persyaratan yang sama untuk proyek saya saat ini, dan karena saya tidak dapat menemukan informasi yang tepat, saya akhirnya mengunduh file APK.

Di Android, jika suatu aplikasi ingin dipanggil dari browser web, ia perlu mendefinisikan suatu Aktivitas dengan kategori android.intent.category.BROWSABLE.

Anda dapat menemukan informasi lebih lanjut tentang ini di sini: https://developers.google.com/chrome/mobile/docs/intents

Jika Anda melihat file WhatsApp AndroidManifest.xml, satu-satunya Activiy dengan kategori BROWSABLE adalah yang ini:

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

Saya sudah bermain dengan itu untuk sementara waktu, dan saya tidak bisa membuatnya bekerja. Yang paling saya dapatkan adalah membuka aplikasi WhatsApp dari Chrome, tetapi saya tidak bisa menemukan cara untuk mengatur konten dan penerima pesan.

Karena tidak didokumentasikan oleh tim WhatsApp, saya pikir ini masih dalam proses. Sepertinya di masa depan WhatsApp akan menangani SMS juga.

Satu-satunya cara untuk mendapatkan informasi lebih lanjut adalah dengan menghubungi tim pengembang WhatsApp, apa yang saya coba, tetapi saya masih menunggu jawaban.

Salam!

oliferna
sumber
1
Dapatkah saya meminta Anda untuk membagikan informasi baru tentang masalah ini di sini? Akan sangat nyaman bagi saya juga. Bagaimanapun, terima kasih atas jawaban lengkapnya.
ccalboni
Saya bisa menghubungi pengembang WhatsApp. Mereka mengakui fitur ini tidak didukung.
HoldOffHunger
7

Secara umum masuk akal hanya untuk menampilkan Whatsapp Link di iOS atau Perangkat Android saja, menggunakan skrip java:

   if (navigator.userAgent.match(/iPhone|Android/i)) {
      document.write('<a href="whatsapp://send?text=See..">Share on WhatApp</a>');
   }
Weidenrinde
sumber
Apa yang tidak berhasil? Tautan ditampilkan di perangkat non-seluler? Di perangkat seluler, tautan itu tidak berfungsi?
Weidenrinde
Aplikasi WhatsApp terbuka. Tetapi tidak ada teks atau pesan yang ditampilkan. Diuji pada beberapa OS dan perangkat. Saya mengirim email kepada para pengembang. Mereka secara resmi tidak mendukung perilaku ini "Sayangnya, itu tidak didukung saat ini. Kami selalu berupaya untuk meningkatkan aplikasi kami dan akan mempertimbangkan saran Anda." (tiket # 172349248330585) Saya telah menguji ~ 40 layanan lain, hanya WhatsApp dan Viber yang tidak mendukung dokumentasi mereka sendiri.
HoldOffHunger
7

Baru saja menguji whatsapp://skema pada super tua saya Android 2.3.3dengan Whats App 2.11.301, bekerja seperti pesona. Tampaknya hanya Whats Appversi. Karena Whats Appmemaksa semua orang untuk memperbarui, harus aman untuk menggunakannya.

The Whats Appdokumentasi juga menyebutkan skema yang: http://www.whatsapp.com/faq/en/android/28000012

Saya menggunakan ini di situs produksi sekarang dan akan memperbarui di sini, jika saya mendapat keluhan pengguna.

Sunting (14 Nov): Tidak ada keluhan pengguna setelah beberapa minggu.

JonasB
sumber
6

Dokumen resmi mengatakan penggunaan: wa.me. Jangan gunakan wa.me. Coba saja sendiri: https://wa.me/?text=SomeTexttoShare Hasil untuk saya:

Kami tidak dapat menemukan halaman yang Anda cari

Sepertinya Anda sedang mencari halaman yang tidak ada. Atau halaman yang baru saja kita hapus. Either way, kembali atau pastikan untuk memeriksa url, ejaan Anda dan coba lagi.

Jika Anda ingin berbagi, Anda harus menggunakan salah satu dari dua format URL berikut ini:

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

Jika Anda tertarik menonton proyek yang melacak URL-URL ini, maka periksa kami !: https://github.com/bradvin/social-share-urls#telegramme

URL Berbagi Sosial

HoldOffHunger
sumber
Menggunakan whatsapp://send?text=tidak berfungsi untuk saya, dengan atau tanpa penyandian URL. Hanya mengujinya di iOS
Snowball
Hai, @Snowball: Terima kasih atas komentarnya, sebenarnya, itu hanya akan berfungsi ketika aplikasi whatsapp diinstal. Itu normal untuk customProtocol://action=?jenis tautan. Jadi, itu tidak akan melakukan apa pun pada desktop. Menggunakan itu akan membutuhkan mendeteksi OS, kemudian menggunakan satu URL untuk desktop, dan yang lain untuk iOS. Tapi itu benar-benar masalah yang berbeda sama sekali dari apa yang diminta OP.
HoldOffHunger
3

Ganti tautan berbagi whatsapp sesuai dengan platform baik desktop maupun seluler.

Ini berfungsi dengan atau tanpa memberikan nomor telepon di tautan.

Untuk Ponsel

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

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

Untuk Desktop

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

   window.open(vm.LinkTextToShare,"_blank");
Sitaram
sumber
3

Kode ini bekerja untuk saya.

Setelah mengklik tautan, ia akan meminta Anda memilih kontak untuk membagikan pesan.

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

Anda dapat menambahkan atribut target = "_ blank" untuk membukanya di jendela atau tab baru.

Saya tidak berpikir nomor telepon diperlukan ketika seseorang ingin berbagi pesan atau artikel tertentu.

Rachit Mangi
sumber
dapatkah ini dibuka di desktop browser? jadi diteruskan ke halaman web.whatsapp?
gumuruh
1

gunakan seperti "whatsapp: // send? text =" + encodeURIComponent (teks Anda ada di sini), pasti akan berfungsi.

Jitendra Pal - JP
sumber
0

Cobalah membuatnya seperti ini:

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

Bahkan Anda dapat mengirim pesan tanpa memasukkan nomor telepon di tautan:

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

Setelah mengklik tautan, Anda akan diperlihatkan daftar kontak yang dapat Anda kirimi pesan.

Info lebih lanjut di https://faq.whatsapp.com/en/general/26000030 .

Semoga berhasil!

Gustavo Cantero
sumber
whatsapp berkata Kami tidak dapat menemukan halaman yang Anda cari
Reza Mortazavi
Saya tidak mengerti. WhatsApp menunjukkan kesalahan itu? Kapan?
Gustavo Cantero