Задача: При клике по ссылкам на Telegram и WhatsApp в мобильном приложении необходимо сразу открывать мессенджеры без промежуточного открытия системного браузера.
Если просто разместить ссылку на нужный мессенджер в мобильном приложении, то при клике на нее она откроется в системном браузере телефона или планшета. Пользователь должен будет согласиться на открытие мессенджера, после чего откроется нужный чат.
Для того, чтобы избежать открытия мессенджера в системном браузере и сразу запустить его, необходимо добавить следующие строки в файл конфигурации приложения (config.xml):
<allow-intent href="tg://*/*" />
<allow-intent href="whatsapp://*/*" />
Добавление ссылок на мессенджеры, в зависимости от платформы
На iOS есть особенность, заключающаяся в том, что ссылка на нужный чат в WhatsApp отличается от ссылки для Android. Поэтому для этого мессенджера необходимо проверять платформу и использовать соответствующую ссылку.
Для реализации данной функциональности необходимо создать две кнопки с соответствующими ID и добавить небольшой JavaScript-скрипт, который будет реагировать на нажатия кнопок и открывать соответствующий мессенджер, сразу открывая чат с пользователем.
<button id="open_tg_chat">Открыть Telegram </button>
<button id="open_wa_chat">Открыть WhatsApp </button>
<script>
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
// Telegram ======================================================
document.getElementById("open_tg_chat").onclick = function () {
function openTelegramChat(username) {
var url = "tg://resolve?domain=" + username;
var target = "_system";
var options = "location=yes";
window.open(url, target, options);
}
openTelegramChat("ВАШ_ФААКАУНТ_В_ТЕЛЕГЕ");
}
// Whatsapp ======================================================
var devicePlatform = device.platform;
if (devicePlatform === 'Android') {
document.getElementById("open_wa_chat").onclick = function () {
function sendWhatsAppMessage(number, message) {
window.location.href = "whatsapp://send?phone=" + number + "&text=" + message;
}
sendWhatsAppMessage("+7911_ВАШ_НОМЕР"); // Замените на нужный номер телефона
}
} else {
document.getElementById("open_wa_chat").onclick = function () {
function sendWhatsAppMessage(number, message) {
window.location.href = "whatsapp://send?abid=" + number + "&text=" + message;
}
sendWhatsAppMessage("+7911_ВАШ_НОМЕР"); // Замените на нужный номер телефона
}
}
}
</script>
Если вы хотите перенаправлять пользователей в разные чаты в Telegram, то проверку платформы можно также делать и для ссылок на этот мессенджер. Это может быть полезно для сегментации пользователей.
Теперь, при нажатии на кнопку с мессенджером, не будет открываться системный браузер, а сразу произойдет переход в нужное приложение.