0

My iPhone device is advertising as a peripheral and there is a separate central that reads advertising data based on uuid. I think i cannot advertise both service uuid and manufacture data at the same time on iOS. So is there any way that the central can detect whether the advertising device is an iPhone or Android? For iOS devices the manufacturer id is (004C) for android i don't know.

Shubh9718
  • 63
  • 12

1 Answers1

0

If you use custom advertising packets (think iBeacons), you can embed whatever information in them you'd like (including whether it's an Android or iOS device advertising).

Alternatively, you can embed data in a scan response, which most mobile phones will request automatically.

Here is a good primer for Bluetooth Low Energy communication, with a good focus on advertisements: https://www.argenox.com/library/bluetooth-low-energy/ble-advertising-primer/

SJoshi
  • 1,866
  • 24
  • 47
  • Thank you @SJoshi. Can you please tell me if i can make my device work as a beacon using eddystone uid if my device is acting as a peripheral? – Shubh9718 Dec 02 '19 at 06:49
  • Sure, you can choose whatever data you want to advertise (usually). Most of my experience comes with doing this in firmware on hardware, and in those cases, you customize the advertising data as needed - and then the central can read out the advertisement packets, which is then has to unwrap based on your specific custom data... For example, I've made a peripheral which interchanges iBeacon, Eddystone, and a custom packet on each advertisement. The central picked that up and could figure out what was happening. – SJoshi Dec 02 '19 at 07:51