機能
- 迷惑の内容をフィルタリング
- フィッシング詐欺をフィルタリング
- キャリア経由(SMS,MMSのみ)
- 専門的の知識を適応可能(AIなど)
Message Filter extensions
Message Filter extensions(Offline)
- New app extension point
- Part of Identity Lookup framework, new in iOS 11
- Must be enabled by user in Messages settings
- One extension enabled at a time
- Invoked for each SMS from an unknown sender
Message Filter extensions(Offline)の注意事項
- 受信者の電話番号をextensionに渡さないこと、送信者情報のみを渡す
- extensionの制限
- 連絡先アプリのシェアファイルに書き込みしないこと
- 通信しないこと
- Do not export messages outside extension’s container
メッセージの基準(Requirements for messages to be sent to extension)
- SMS and MMS only
- Never iMessage
- Only unknown senders (not in recipient’s Contacts)
- After multiple responses
- Stops sending to extension
- Junk threads promoted to non-junk
Message Filter extensions(Offline)の実装例
Network Deferral
Message Filter extensions(With network deferral)
Network Deferralの制限
- ユーザーを特定するデータを送信しないこと
- extension’s Info.plistにURLを指定する必要
- HTTPS required, no App Transport Security (ATS) overrides
- Extension’s app must use Associated Domains (apple-app-site-association)
Network Request and Response Formats
- Network request uses JSON and includes
- Message sender (phone number or email) Message body
- Version of app (CFBundleVersion)
- Version of the JSON request format (currently 1)
- Response format is up to your app to define
// Example of Network HTTP Request Sent to Server
POST /server-url-path HTTP/1.1
Accept: */*
Content-Type: application/json; charset=utf-8 Content-Length: 148
{ "_version": 1, "query": {
"sender": "14085550001", "message": {
"text": "This is a message" }
}, "app": {
"version": "1.1" }
}