Je souhaite partager un lien via un schéma d'URL, disons pour Telegram.
J'ai créé ceci:
tg: // msg? text = www.example.com?t=12
Le lien ouvre le télégramme mais rien d’autre ne se passe.
J'ai utilisé le même code pour Viber, et cela fonctionne:
viber: // forward? text = www.example.com?t=12
et il ouvre un nouveau message dans viber avec ce texte:
www.example.com
Dans l'autre mot, il coupe mon URL.
Une idée?
Vous pouvez également utiliser le lien de partage telegram.me qui revient au webogram si aucune application de télégramme n'est installée sur l'appareil.
https://telegram.me/share/url?url=<URL>&text=<TEXT>
Cela fonctionne avec moi:
tg://msg?text=Mi_mensaje&to=+1555999
Pour la part de télégramme:
Objectif 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.
}
Si vous avez utilisé canOpenURL, vous devez ajouter info.plist.
<key>LSApplicationQueriesSchemes</key>
<array>
<string>tg</string>
</array>
Il existe une variété de réponses ici, chacune travaillant à sa manière. Par exemple, utiliser tg:
au lieu de http:
en tant que protocole est plus court, mais cela provoquera une erreur si Telegramme.me n'est pas installé, alors que l'utilisation de l'URL complète http:
redirigera vers un lien contenant les instructions d'installation pour Telegramme.me.
Si vous voulez voir toutes les options de gestion de ce problème, consultez ce projet github de partage social:
Essayez d’utiliser tg: // share :
<a href="tg://share?url=www.example.com?t=12&text=Check out this url">Link</a>
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>
ou très simple:
tg://msg?text=www.example.com%2F%3Fget%3Dvalue
tg://msg?text=www.example.com%2F%3Ft%3D12
Pour vérifier si le télégramme est installé, vous pouvez effectuer les opérations suivantes (empruntées au module de partage Whatsapp de ShareKit):
BOOL isTelegramInstalled = [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tg://msg?text=test"]];
iOS vérifie si une application pouvant gérer le schéma tg: //, qui est Telegram, est installée.