iMessage Apps

iMessage Apps

Ac0153ab43c41b1dc3932f19a94682e1?s=128

Fabricio Serralvo

December 06, 2017
Tweet

Transcript

  1. IMESSAGE APPS COCOAHEADS CAMPINAS

  2. OLÁ, SOU O FABRÍCIO github.com/serralvo !

  3. " DEV iOS @ ELDORADO

  4. UM PAPO SOBRE APPS PARA IMESSAGE

  5. UM POUCO SOBRE

  6. STICKERS

  7. APPS

  8. APIs

  9. UM POUCO SOBRE

  10. SURGIU NO iOS 5

  11. ONDE FUNCIONA?

  12. ⌚ EM TODO O ECOSSISTEMA

  13. iOS 10 TROUXE A NOVIDADE

  14. E EM VERSÕES ANTERIORES?

  15. FALLBACK

  16. E EM DEVICES SEM O APP?

  17. APP STORE EXCLUSIVA

  18. None
  19. None
  20. STICKERS

  21. "FUN WAY TO COMMUNICATE"

  22. ADICIONAR EM UMA MENSAGEM

  23. IDEAL PARA ENGAJAMENTO

  24. None
  25. ANIMADOS OU ESTÁTICOS

  26. E COMO FAÇO TUDO ISSO?

  27. DOIS JEITOS PARA FAZER

  28. TEM O JEITO FÁCIL

  29. E TEM O JEITO MUITO FÁCIL

  30. None
  31. None
  32. None
  33. None
  34. None
  35. None
  36. None
  37. APPS

  38. ALGUMAS CONSIDERAÇÕES

  39. 0 NÃO TEMOS ACESSO AS MENSAGENS

  40. ⚠ STANDALONE

  41. App Extension nope iMessage
 App

  42. DICA PARA QUEM QUER COMEÇAR

  43. None
  44. API

  45. MESSAGES FRAMEWORK É DELE QUE VAMOS FALAR

  46. MSMESSAGE

  47. INTERFACE GRÁFICA

  48. MSMESSAGETEMPLATELAYOUT

  49. None
  50. let layout = MSMessageTemplateLayout() layout.image = UIImage(named: "coverImage") layout.caption =

    "Message In A Bottle" let message = MSMessage() message.layout = layout
  51. None
  52. E O ENVIO DE INFORMAÇÕES?

  53. var components = URLComponents() components.queryItems = [ URLQueryItem(name: "songID", value:

    “92381”), URLQueryItem(name: "name", value: “Message In A Bottle") ] let message = MSMessage() message.url = components.url
  54. MSCONVERSATION

  55. guard let conversation = activeConversation else { fatalError("Whooops, expected a

    conversation") } // iOS 10 API conversation.insert(message) { error in if let e = error { print(e) } } // iOS 11 API conversation.send(message) { error in if let e = error { print(e) } }
  56. MSSESSION

  57. guard let conversation = activeConversation else { fatalError("Whooops, expected a

    conversation") } let session = conversation.selectedMessage?.session ?? MSSession() let message = MSMessage(session: session)
  58. MSMESSAGESAPPVC

  59. None
  60. // Changing presentation style requestPresentationStyle(.expanded) // Messages Handling override func

    didSelect(_ message: MSMessage, conversation: MSConversation) { print("Items: \(message.url?.query ?? “Nope")") }
  61. MSSTICKERBROWSERVC

  62. // MSStickerBrowserViewDataSource override func numberOfStickers(in stickerBrowserView: MSStickerBrowserView) -> Int {

    return 5 } override func stickerBrowserView(_ stickerBrowserView: MSStickerBrowserView, stickerAt index: Int) -> MSSticker { // ... }
  63. RECAPITULANDO

  64. VIEWCONTROLLER

  65. VIEWCONTROLLER CONVERSATION

  66. VIEWCONTROLLER CONVERSATION MESSAGE B A

  67. VIEWCONTROLLER CONVERSATION MESSAGE SESSION A&B

  68. 4 REFERÊNCIAS

  69. DÚVIDAS?!

  70. OBRIGADO!