Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A Quick look at ANCS (Apple Notification Center Service)

A Quick look at ANCS (Apple Notification Center Service)

快速看懂 ANCS 文件

Johnny Sung

May 13, 2015
Tweet

More Decks by Johnny Sung

Other Decks in Programming

Transcript

  1. ANCS = Apple Notification Center Service ANCS is to give

    Bluetooth accessories (that connect to iOS devices through a Bluetooth low-energy link) a simple and convenient way to access many kinds of notifications that are generated on iOS devices.
  2. ⟃"/$4捀⢿ ANCS Service 7905F431-B5CE-4E99-A40F-4B1E122D00D0 Notification Source Control Point Data Source

    9FBF120D-6301-42D9-8C58-25E699A21DBD 69D1D8F3-45E1-49A8-9821-9BBDFDAAD9D9 22EAC6E9-24D6-4BB5-BE44-B36ACE7C7BFB (writeable) (notifiable) (notifiable)
  3. • Notification Added = 0 • Notification Modified = 1

    • Notification Removed = 2 EventID Notification Source
  4. • Other = 0 • IncomingCall = 1 • MissedCall

    = 2 • Voicemail = 3 • Social = 4 • Schedule = 5 • Email = 6 • News = 7 • HealthAndFitness = 8 • BusinessAndFinance = 9 • Location = 10 • Entertainment = 11 CategoryID Notification Source
  5. 傳送 AttributeID • AppIdentifier = 0 • Title = 1

    • Subtitle = 2 • Message = 3 • MessageSize = 4 • Date = 5 0 叆鑉䲀久鎝䜂
  6. 接收 • AppIdentifier = 0 • Title = 1 •

    Subtitle = 2 • Message = 3 • MessageSize = 4 • Date = 5 "com.apple.AppStore" "已更新「Adobe Photoshop Mix」和其他 6 個應⽤用程式" "App Store" "20150324T225555" nil 36 AttributeID 0 叆鑉䲀久鎝䜂
  7. 範例 Request AttributeID • AppIdentifier = 0 • Title =

    1 • Subtitle = 2 • Message = 3 • MessageSize = 4 • Date = 5 "com.JohnnyWorks.SHRS-Radio" "⺟母親像⽉月亮⼀一樣~古典逍遙遊祝全天下的媽媽,⺟母親節快樂!" "世新廣播電臺" "20150510T100002" nil 28 Response 叆鑉䲀久鎝䜂
  8. App Identifier = "com.apple.AppStore" 叆鑉"QQそ珖 傳送 接收 AttributeID • DisplayName

    = 0 1 1 Attribute Value = "App Store" App Identifier = 
 "com.apple.AppStore" 0 0 Attribute Length = 9 AttributeID = 0 AttributeID = 0
  9. References • Apple Notification Center Service (ANCS) Specification • https://developer.apple.com/library/ios/documentation/CoreBluetooth/Reference/

    AppleNotificationCenterServiceSpecification/Introduction/Introduction.html • Core Bluetooth Programming Guide • https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/ Conceptual/CoreBluetooth_concepts/AboutCoreBluetooth/Introduction.html • INDANCSClient • https://github.com/indragiek/INDANCSClient