Jak sdílet obsah z jiných aplikací přes WhatsApp
Existuje několik způsobů, jak mohou aplikace iPhonu interagovat s aplikací WhatsApp. Jedná se o univerzální odkazy, upravená URL schémata, Share extension a Document interaction API.
Univerzální odkazy
Univerzální odkazy jsou nejvhodnějším způsobem sdílení v rámci účtu aplikace WhatsApp.
Použijte odkaz https://wa.me/<number> kde <number> je telefonní číslo v úplném mezinárodním formátu. Při zadávání telefonního čísla v mezinárodním formátu vynechejte nuly z předvolby čísla a z celého telefonního čísla vynechejte jakékoli závorky, pomlčky či znaménka plus.
Například:
Správně zadané číslo: https://wa.me/420600000000
Nesprávně zadané číslo: https://wa.me/+00420(600)000-000
Univerzální odkazy mohou obsahovat také předem vyplněnou zprávu, která se bude automaticky objevovat v textovém poli chatu. Použijte odkaz https://wa.me/telefonníčíslowhatsapp/?text=urlkódovanýtext, kde telefonníčíslowhatsapp je telefonní číslo v úplném mezinárodním formátu a urlkódovanýtext je předem vyplněná zpráva v kódu URL.
Například: https://wa.me/420600000000?text=Mám%20zájem%20o%20auto,%20které%20prodáváte.
Chcete-li vytvořit odkaz pouze s předvyplněným textem zprávy, použijte https://wa.me/?text=urlkódovanýtext
Například: https://wa.me/?text=Mám%20zájem%20o%20byt,%20který%20pronajímáte.
Upravená URL schémata
Otevřete-li whatsapp:// URL spolu s jedním z následujících parametrů, bude spuštěna aplikace WhatsApp a vykonána příslušná akce.
URL | Parametry | Otevře se |
---|---|---|
app | - | Aplikace WhatsApp Messenger |
send | Stránka pro vytvoření nového chatu | |
text | Zvolíte-li tento parametr, zadaný text bude automaticky vyplněn do textového pole obrazovky chatu. | |
Volání Objective-C pro otevření jedné z těchto URL pak vypadá takto:
NSURL *whatsappURL = [NSURL URLWithString:@"whatsapp://send?text=Hello%2C%20World!"]; if ([[UIApplication sharedApplication] canOpenURL: whatsappURL]) { [[UIApplication sharedApplication] openURL: whatsappURL]; }
Nezapomeňte zadat URL schéma aplikace WhatsApp do Info.plist pod LSApplicationQueriesSchemes klíč, chcete-li skrze -[UIApplication canOpenURL:] zjistit, zda je WhatsApp nainstalován na telefonu uživatele.
Share extension
Share extension, prvotně uvedený v rámci iOS 8.0., je pohodlný způsob sdílení obsahu mezi aplikacemi nainstalovanými na iPhonu uživatele. V současnosti je to preferovaný způsob sdílení obsahu v aplikaci WhatsApp. Chcete-li Share extension použít, vytvořte výzvu UIActivityViewController a prezentujte ji v aplikaci. WhatsApp podporuje sdílení následujících typů obsahu:
- text (UTI: public.plain-text)
- fotografie (UTI: public.image)
- videa (UTI: public.movie)
- zvukové nahrávky a hudební soubory (UTI: public.audio)
- PDF dokumenty (UTI: com.adobe.pdf)
- vizitky (UTI: public.vcard)
- webové stránky URL (UTI: public.url)
Document interaction
Pokud lze ve vaší aplikaci vytvářet fotky, videa či audio nahrávky a přejete si, aby je uživatelé mohli sdílet přes WhatsApp, můžete k odesílání souborů médií do skupin a chatů v aplikaci WhatsApp použít Document interaction API.
WhatsApp Messenger podporuje různé druhy médií, například:
- obrázky, které vyhovují formátům public.image (např. PNG a JPEG)
- videa, která vyhovují formátům public.movie (např. MPEG-4)
- zvukové soubory (pouze MPEG-3, MPEG-4, AIFF, AIFF-C a Core Audio)
Případně, pokud chcete aby se v seznamu aplikací zobrazoval pouze WhatsApp (místo aplikace WhatsApp a všech ostatních aplikaci, které vyhovují formátům public), můžete upravit soubor jednoho z výše zmíněných typů a uložit jej s rozšířením, které je podporováno pouze aplikací WhatsApp:
- obrázky – «.wai» (spadá pod net.whatsapp.image)
- videa – «.wam» (spadá pod net.whatsapp.movie)
- zvukové soubory – «.waa» (spadá pod net.whatsapp.audio)
Použijete-li tyto úpravy, WhatsApp uživatelům okamžitě nabídne obrazovku volby kontaktů či skupin. Mediální soubory budou následně automaticky odeslány zvolenému kontaktu nebo skupině.
Pro více informací ohledně sdílení médií přes aplikaci WhatsApp nahlédněte do zdrojů na stránkách Apple Developer.