
iBeacon рдПрдХ рдирдИ рддрдХрдиреАрдХ рд╣реИ рдЬреЛ рдмреНрд▓реВрдЯреВрде рд▓реЛ рдПрдирд░реНрдЬреА рдпрд╛ BLE рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдИ рдЧрдИ рд╣реИред рдЕрдм рддрдХ, iBeacon Apple рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред 2013 рд╕реЗ, iBeacon рдХреЛ Apple iOS 7 рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдкрд╣рд▓реА рдмрд╛рд░ рджрд┐рд╕рдВрдмрд░ 2013 рдореЗрдВ Apple рд╕реНрдЯреЛрд░реНрд╕ рдореЗрдВ рдПрдХ рдкрд╛рдпрд▓рдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ 2014 рдореЗрдВ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╕реНрддрд╛рд░ - рд╡рд╛рдИ-рд▓рд╛рдЗрдл рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ ред
рд╢реБрдн рджреЛрдкрд╣рд░, рдкреНрд░рд┐рдп рд╣рдмреНрд░рд╣рд╛рдм!
рдЖрдЬ рд╣рдо
рд░реЙрдХреНрд╕рд┐рдорд┐рдЯреА рд╕реЗ
рдЖрдИрдмреЗрдХрди рдбрд┐рд╡рд╛рдЗрд╕реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ iOS рдХреЗ рд▓рд┐рдП BLE рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рдкрд░рд┐рдЪрд┐рдд
рд╣реЛрдВрдЧреЗ ред рдореИрдВрдиреЗ рдЦреЛрдЬ рдХреА, рдкреВрдЫрд╛, рдкреВрдЫрд╛, рдФрд░, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдерд╛, рдХрд┐рд╕реА рдиреЗ рд░рдиреЗрдЯ рдореЗрдВ рдореБрджреНрджреЗ рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкрдХреНрд╖ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ред рдореИрдВ рд▓реЗрдЦ рдХреЛ рджреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реВрдВ: рд░реЙрдХреНрд╕рд┐рдорд┐рдЯреА рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рд╣реБрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред
рд░реБрдЪрд┐ рдХреГрдкрдпрд╛ рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗред
рд░реЙрдХреНрд╕рд┐рдорд┐рдЯреА рдХреА рддрд░рдл рдЬрд╛рджреВ
рдмреЗрдХрди рдЦрд░реАрджрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдПрдХ "рд╡реНрдпрд╛рдкрд╛рд░реА рд▓реЙрдЧрд┐рди" рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореБрдЭреЗ рддреАрди рдмреЗрдХрди рдорд┐рд▓реЗ; рдпрд╣рд╛рдБ рдмреЗрдХрди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдХрд╛ рдкрд╣рд▓рд╛ рдкреГрд╖реНрда рд╣реИ:

рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐:
- рдЕрд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЯреИрдЧ рдкреНрд░рддреНрдпреЗрдХ рдмреЗрдХрди рдХреЛ рд╕реМрдВрдкрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рдХрдИ рдмреЗрдХрди рдЯреИрдЧ рдХреЛ рдПрдХ рд╣реА рдЯреИрдЧ рд╕реМрдВрдкрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рдЖрдк рдРрд╕реЗ рд╕рдВрджреЗрд╢ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрд░рд╡рд╛рдИ (рдХрд╡рд░реЗрдЬ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкреНрд░рд╡реЗрд╢, рдЙрд╕рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдирд╛, рддрддреНрдХрд╛рд▓ рдирд┐рдХрдЯрддрд╛) рдкрд░ рдкреЙрдк рдЕрдк рдХрд░реЗрдВрдЧреЗ
- рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯреИрдЧ рдХреЛ рд╕реМрдВрдкрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рдпрджрд┐ рд╕рдВрджреЗрд╢ рдПрдХ рдЯреИрдЧ рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдХрдИ рдмреЗрдХрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рддреЛ рдпреЗ рдмреЗрдХрди рдПрдХ рдмрдбрд╝реЗ рдмреЗрдХрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ
рд╕рдВрджреЗрд╢ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдкрддреНрд░ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:

рдкрд╛рд╕ рдореЗрдВ рдкреНрд░рдореБрдЦ рдлреЛрдмреНрд╕ рдХреЗ рд▓рдЧрднрдЧ рдЯреНрд░рд┐рдЧрд░ рддреНрд░рд┐рдЬреНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЬреНрдЮрд╛рдкрди рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджреЗрд╢ рд╕реМрдВрдкрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
- рд╕рдВрджреЗрд╢ рдХрд╛ рдирд╛рдо рдЬреЛ рдЗрд╕ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдкреИрдирд▓ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд╣реАрдВ рднреА рдирд╣реАрдВ рдЪрдордХрддрд╛ рд╣реИ
- рд╡рд╣ рдХреНрд░рд┐рдпрд╛ рдЬрд┐рд╕рд╕реЗ рд╕рдВрджреЗрд╢ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддрд╛ рд╣реИ
- рд╕рдВрджреЗрд╢ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреЗрдЦрддрд╛ рд╣реИ
- рдШрдЯрдирд╛ рдХреА рдЖрд╡реГрддреНрддрд┐
- рдкреЛрд╕реНрдЯ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдмреЗрдХрди рдЯреИрдЧ
- рд╕рдВрджреЗрд╢ рд╕рдорд╛рдкреНрддрд┐ рддрд┐рдерд┐
рдЬрдм рд╕рдВрджреЗрд╢ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдПрд╕рдбреАрдХреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдЖрд╡реЗрджрди рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд▓реЗрдЦ рдХреЗ рдЕрдЧрд▓реЗ рднрд╛рдЧ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВред рдПрд╕рдбреАрдХреЗ рдХрд╛рдлреА рдпреБрд╡рд╛ рд╣реИ рдФрд░ рдПрдХ рд╕реНрдерд┐рд░ рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЬрд╛рджреВ рд╣рдорд╛рд░реА рддрд░рдл рд╣реИ
рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдмреЗрдХрди рди рдХреЗрд╡рд▓ рддрдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рдХреНрд░рд┐рдп рд╣реЛрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рднреА, рдФрд░ рдЬрдм рднреА рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ! рдпрд╣реА рд╣реИ, рдпрджрд┐ рдЖрдкрдиреЗ рд░реЙрдХреНрд╕рд┐рдорд┐рдЯреА рдПрд╕рдбреАрдХреЗ рдХреЗ рд╕рд╛рде рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рд╣рд░ рдмрд╛рд░ рдЬрдм
рдЖрдкрдХрд╛ рдмреЗрдХрди рдлреЛрди рдХреА рджреГрд╢реНрдпрддрд╛ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рддреЛ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдлрд╝реЙрдЪ рдУрдкреЗрд░рд╛ рд╕реЗ рдЙрдкрдпреБрдХреНрдд рддрд░реАрдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдЖрдкрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди 30 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдЦреБрд▓ рдЬрд╛рдПрдЧрд╛ред
рд░реЛрдХреНрд╕рд┐рдорд┐рдЯреА рдПрд╕рдбреАрдХреЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд░реЙрдХреНрд╕рд┐рдорд┐рдЯреА рд╕рд░реНрд╡рд░ рдЖрдкрдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдм рдХреБрдЫ рдХрд░реЗрдЧрд╛ред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рд╣рдореЗрдВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ)
ROX_NOTIF_MESSAGE_FIRE рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдВ:
[[NSNotificationCenter defaultCenter] addObserver:sharedManager selector:@selector(handleNotification:) name:ROX_NOTIF_MESSAGE_FIRED object:nil];
рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ: рд╡рд┐рдзрд┐ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддреА рд╣реИ:
- (void)handleNotification:(NSNotification *)rawNotification { NSDictionary *notification = rawNotification.userInfo; NSString *beaconId = notification[@"com.roximity.notif"][@"com.roximity.notification.trigger"][@"beaconId"]; NSString *event = notification[@"com.roximity.notif"][@"com.roximity.notification.trigger"][@"event"]; NSString *name = notification[@"com.roximity.notif"][@"com.roximity.notification.trigger"][@"name"]; NSLog(@"Beacon event: %@ - %@ - %@", event, beaconId, name); }
рдореИрдВ рдЬрд╛рджреВ рдХреА рд░реЗрдЦрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдлреА рдорд╛рдВрдЧрддрд╛ рд╣реВрдВ, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВрдиреЗ рдЗрд╕реА рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдЬреНрдЮрд╛рдкрди рдХреЛ рдЦреЛ рджрд┐рдпрд╛ред рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рд╕рдВрднрд╛рд▓рдирд╛: рдЖрдкрдХреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрдВрдж рд╣реЛрдиреЗ рдкрд░ рднреА рдХреЙрд▓ рдХреА рдЬрд╛рдПрдЧреА!
рдирд┐рд╖реНрдХрд░реНрд╖
рд╡рд╣ рд╕рдм рд╣реИ! рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреЗ рд▓рд┐рдП рдмреЗрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдирдИ рддрдХрдиреАрдХреЛрдВ рдореЗрдВ рдбреБрдмрдХреА рд▓рдЧрд╛рдиреЗ рд╕реЗ рдХрднреА рди рдбрд░реЗрдВред
рдпрджрд┐ рдЖрдкрдХреЛ рд▓реЗрдЦ рдореЗрдВ рдХреЛрдИ рдЕрд╢реБрджреНрдзрд┐ рдпрд╛ рдЯрд╛рдЗрдкреЛрд╕ рдорд┐рд▓ рдЬрд╛рдП, рддреЛ рдореЗрд░реЗ рд╣реИрдмрд░рд╕реЗрдВрдЯрд░ рдкрд░ рд▓рд┐рдЦрдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред
рдЖрдкрдХреЗ рд╕рднреА рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░!