Я хочу поделиться ссылкой через схему URL, чтобы сказать для Telegram.
Я создал это:
tg://msg? text = www.example.com?t=12
Ссылка, открывается телеграмма, но больше ничего не происходит.
Я использовал тот же код для Viber, и он работает:
viber://forward? text = www.example.com?t=12
и он открывает новое сообщение в viber с этим текстом:
www.example.com
В другом слове он сокращает мой url.
Любая идея?
Вы также можете использовать ссылку общего доступа telegram.me, которая возвращается к веб -грамме, если на устройстве не установлено приложение телеграммы.
https://telegram.me/share/url?url=<URL>&text=<TEXT>
Это работает со мной:
tg://msg?text=Mi_mensaje&to=+1555999
Для общей рассылки Telegram:
Цель C:
if([UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tg://msg?text=test"]){
[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tg://msg?text=test"]
}else{
//App not installed.
}
Swift 3.0:
let urlString = "tg://msg?text=test"
let tgUrl = URL.init(string:urlString.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)!)
if UIApplication.shared.canOpenURL(tgUrl!)
{
UIApplication.shared.openURL(tgUrl!)
}else
{
//App not installed.
}
Если вы использовали canOpenURL, тогда вам нужно добавить в info.plist
<key>LSApplicationQueriesSchemes</key>
<array>
<string>tg</string>
</array>
Здесь есть разные ответы, каждый из которых работает по-своему. IE, используя tg:
вместо http:
как протокол короче, но это вызовет ошибку, если Telegramme.me не установлен, тогда как полный http:
url перенаправит на ссылку с инструкциями по установке для Telegramme.me.
Если вы хотите увидеть все варианты того, как это обрабатывается, посмотрите этот проект github в Social-Sharing:
php:
<a href="tg://msg?text=<?php echo rawurlencode($gotoURL); ?>">Link</a>
javascript:
<script>TEXT="any text or url";</script>
<a onclick="window.location='tg://msg?text='+encodeURIComponent(TEXT);">Link</a>
или очень просто:
tg://msg?text=www.example.com%2F%3Fget%3Dvalue
tg://msg?text=www.example.com%2F%3Ft%3D12
Чтобы проверить, установлена ли Telegram, вы можете сделать следующее (заимствованное из модуля Sharp Whatsapp ShareKit):
BOOL isTelegramInstalled = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tg://msg?text=test"]];
iOS проверяет, установлено ли какое-либо приложение, которое может обрабатывать схему tg://, которая является Telegram.
Попробуйте использовать tg://share:
<a href="tg://share?url=www.example.com?t=12&text=Check out this url">Link</a>
Только что протестированный, он работает как при открытии приложения telegram, так и браузера, если он не установлен:
let webURL = NSURL(string: "https://t.me/<YOUR ID>")!
UIApplication.shared.open(webURL as URL)