Поделитесь ссылкой через схему URL (например, через Telegram)

Я хочу поделиться ссылкой через схему URL, чтобы сказать для Telegram.

Я создал это:

tg://msg? text = www.example.com?t=12

Ссылка, открывается телеграмма, но больше ничего не происходит.

Я использовал тот же код для Viber, и он работает:

viber://forward? text = www.example.com?t=12

и он открывает новое сообщение в viber с этим текстом:

www.example.com

В другом слове он сокращает мой url.

Любая идея?

Ответ 1

Вы также можете использовать ссылку общего доступа telegram.me, которая возвращается к веб -грамме, если на устройстве не установлено приложение телеграммы.

https://telegram.me/share/url?url=<URL>&text=<TEXT>

Ответ 2

Это работает со мной:

tg://msg?text=Mi_mensaje&to=+1555999

Ответ 3

Для общей рассылки 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>

Ответ 4

Здесь есть разные ответы, каждый из которых работает по-своему. IE, используя tg: вместо http: как протокол короче, но это вызовет ошибку, если Telegramme.me не установлен, тогда как полный http: url перенаправит на ссылку с инструкциями по установке для Telegramme.me.

Если вы хотите увидеть все варианты того, как это обрабатывается, посмотрите этот проект github в Social-Sharing:

https://github.com/bradvin/social-share-urls#telegramme

Ответ 5

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

Ответ 6

Чтобы проверить, установлена ​​ли Telegram, вы можете сделать следующее (заимствованное из модуля Sharp Whatsapp ShareKit):

BOOL isTelegramInstalled = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tg://msg?text=test"]];

iOS проверяет, установлено ли какое-либо приложение, которое может обрабатывать схему tg://, которая является Telegram.

Ответ 7

Попробуйте использовать tg://share:

<a href="tg://share?url=www.example.com?t=12&text=Check out this url">Link</a>

Ответ 8

Только что протестированный, он работает как при открытии приложения telegram, так и браузера, если он не установлен:

let webURL = NSURL(string: "https://t.me/<YOUR ID>")!
UIApplication.shared.open(webURL as URL)