一牍氛、iMessage Apps
是什么枕屉?
專門為Messages寫的APP
三種內(nèi)容類型:
- stickers
- Interactive Messages
- other - photos, videos, text, links, etc.
二澈灼、Messages App Store
可以干什么?
- 消息內(nèi)嵌message app --
引導(dǎo)下載
- iOS app類似功能 --
app內(nèi)購
,Apple Pay
负饲,相機(jī)
三、創(chuàng)建 iMessage Apps
建立在app extension 之上喂链。
不同點:可以不需要container app
返十。
有container app : 兩個圖標(biāo) - Home 和 Messages App Store
沒有container app :一個圖標(biāo) - Messages App Store
四、Stickers
可以當(dāng)正式的消息椭微。還可以粘在其他消息上
本質(zhì) -- 圖片(動態(tài)或靜態(tài))
支持格式:PNG, APNG, JPEG, GIF
動畫格式:APNG, GIF
最大文件大卸纯印:500 KB
官方推薦格式:PNG
, APNG
(支持透明度,Xcode 優(yōu)化)
五蝇率、創(chuàng)建 Sticker Apps
-
只使用assets -- Sticker Pack application 模板
- 用APNG創(chuàng)建動圖
- 改變cell大小 -
small
,medium
,large
自定義sticker -- 使用Messages application 模板
好處:
- 自定義UI
- 動態(tài)創(chuàng)建sticker
- 使用相機(jī)
- app內(nèi)購
層級關(guān)系:
自定義cell:
呈現(xiàn)樣式:
六迟杂、Interactive Messages
- Messages API Overview
- MSMessagesAppViewController
- MSConversation
- MSMessage - MSSession, MSMessageTemplateLayout
-
Extension Lifecycle
-
Compose a Message
-
Send a Message
let conversation = self.activeConversation
conversation?.insert(message) { error in
// TODO: Check for an error
})conversation?.insertText("Example text”) { error in // TODO: Check for an error } conversation?.insertAttachment(resourceURL, withAlternateFilename: nil) { error in // TODO: Check for an error } conversation?.insert(sticker) { error in // TODO: Check for an error }
-
Presentation Style
Replying to a Message
-
Extension is inactive
-
Extension is active
-
Session Messages
let conversation = self.activeConversation let session = conversation?.selectedMessage?.session let message = MSMessage(session: session) conversation?.insert(message) { error in // TODO: Check for an error }