Abrir uma aplicação a partir de SMS com o meu esquema de url como uma ligação
declarei um esquema de url na minha aplicação, {[[0]} por isso, no Safari, Posso escrever na barra de pesquisa smstest:my-test
ou smstest://my-test
e a minha aplicação está aberta.
estou a tentar alcançar o mesmo a partir de um texto SMS para que a aplicação de mensagens formatasse smstest:my-test
ou smstest://my-test
como um link e o utilizador pudesse tocar nele e a minha aplicação a ser chamada. Mas o texto não é formatado como um link.
é possível ou a única solução para abrir um aplicativo a partir de um SMS é apontar para uma página de Internet com um script?
Obrigado. você.editar: coisa engraçada, eu instalei o mensageiro IMO e eu recebo um SMS com um código como um esquema de URL, e que é processado por App Mensagens como um link. Porque não acontece com a minha aplicação? Tentei com várias mensagens, com espaços antes e depois da url e nada acontece.
2 answers
Em geral, existe uma forma normal de abrir a aplicação a partir da aplicação de mensagens, usando o esquema url:
- Adicionar um esquema de url ao info.ficheiro plist: my-scheme.
- Instalar a aplicação no iPhone alvo.
- Enviar SMS com texto como este: "o meu esquema://é-o-meu-esquema.
Antes de adicionar esquema de url e instalar aplicação enviar SMS. Como esperado, a mensagem será apresentada como texto simples:
Agora vamos adicionar um esquema de url ao info.plist:
Finalmente, instalar o aplicativo e enviar/receber o mesmo SMS:
Como você vê, a última mensagem é mostrada como link e se eu tocar nele, então iOS abre a minha aplicação. Mas a primeira mensagem ainda é mostrada como texto simples e não pode ser tapado. Parece que a aplicação lógica das mensagens é implementada dessa forma.
Agora vamos apagar a aplicação do iPhone e enviar o mesmo SMS mais uma vez:
Agora ele novamente exibido como texto simples, mas a segunda mensagem - como link. E se lhe tocar, o iOS não faz nada e deixa a aplicação de mensagens aberta.
Conclusão: certifique-se de que envia/recebe SMS após a instalação da aplicação que suporta o seu esquema. Só neste caso. ele será exibido como link e o usuário pode abrir a sua aplicação, tocando nele.
Aviso: também apanho um caso quando no início da aplicação foi instalada sem esquemas de url suportados e quando adiciono esta mensagem de suporte foi apresentada como texto simples, mas não como ligação. Não consigo reproduzi-lo. Mas se os passos acima não vão ajudar a resolver o seu problema tente:
- Remover a aplicação do iPhone;
- mudar o esquema do url (ou mesmo mudar ambos: esquema do url e o pacote id como último recurso);
- Instale-o de novo;
- Enviar SMS com um novo esquema de url.
Editar:
Acabei de tentar com uma aplicação a enviar o meu esquema url no corpo do sms e funcionou.
Deve ter este formato smstest://my-test
O aplicativo tem que ser instalado e com o esquema url declarado na informação.plist quando você recebe o sms para trabalhar.
Adiciono a imagem de um SMS recebido com diferentes esquemas de url, todos eles reconhecidos pelo app de SMS do iPhone
Se ainda não funcionar, tenta implementá-los e fá-los regressar.YES
application: handleOpenURL:
e application: openURL:sourceApplication: annotation:
- (BOOL)application:(UIApplication*)application handleOpenURL:(NSURL*)url
{
return YES;
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return YES;
}
Esta resposta antiga era para o redireccionamento JS que pediste nos comentários.
Uso isto para redireccionar da web para a aplicação com recurso para o url do itunes no caso de a aplicação não estar instalada
var now = new Date().valueOf();
setTimeout(function () {
if (new Date().valueOf() - now > 100) return;
window.location = "http://itunes.apple.com/yourappurl";
}, 25);
window.location = "smstest://my-test";