Guest User

Untitled

a guest
Sep 26th, 2018
275
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.73 KB | None | 0 0
  1. func sendDataToBeacons()
  2. {
  3. self.mResponse = false
  4. self.isTargeted = true
  5. GNSMessageManager.setDebugLoggingEnabled(true)
  6. let nearbyPermission = GNSPermission(changedHandler: { (granted: Bool)
  7. in
  8. // Update the UI here
  9. })
  10. let permissionState = GNSPermission.isGranted()
  11. GNSPermission.setGranted(!permissionState) // toggle the state
  12. messageManager = GNSMessageManager(apiKey: "AIzaSyD-zlc1Tw6rClQDNtCxUq_QHZy2tlXxxbk",paramsBlock: { (params: GNSMessageManagerParams?) in
  13. guard let params = params else { return }
  14. params.microphonePermissionErrorHandler = { (hasError: Bool) in}
  15. params.bluetoothPowerErrorHandler = { (hasError: Bool) in}
  16. params.bluetoothPermissionErrorHandler = { (hasError: Bool) in}
  17.  
  18. })
  19. var img : UIImage = updatedProfileDict[Constant.BASE6a4] as! UIImage
  20. img = img.resizeCI(size: CGSize(width: 150, height: 150))!
  21. let adate : NSData = UIImagePNGRepresentation(img)! as NSData
  22. let strBase64 = adate.base64EncodedString(options: .lineLength64Characters)
  23.  
  24. var dict : [String : Any] = [:]
  25.  
  26. dict[Constant.UDID] = updatedProfileDict[Constant.UDID]
  27. dict[Constant.DESCRIPTION] = updatedProfileDict[Constant.DESCRIPTION]
  28. dict[Constant.BASE6a4] = strBase64
  29. dict[Constant.MRESPONSE] = true
  30. dict[Constant.ISTARGETED] = true
  31. dict[Constant.MTARGETUUID] = updatedProfileDict[Constant.UDID]
  32.  
  33. print(dict)
  34. let dataExample : NSData = NSKeyedArchiver.archivedData(withRootObject: dict) as NSData
  35. //publication = messageManager?.publication(with:GNSMessage(content: dataExample as Data?))
  36. self.publication = self.messageManager?.publication(with: GNSMessage(content: dataExample as Data?), paramsBlock: { (params) in
  37. guard let params = params else { return }
  38.  
  39. self.mResponse = true
  40. self.isTargeted = true
  41.  
  42. params.strategy = GNSStrategy(paramsBlock: { (params: GNSStrategyParams?) in
  43. guard let params = params else { return }
  44. params.discoveryMediums = .BLE
  45. params.discoveryMode = .default
  46.  
  47. })
  48. })
  49. }
  50.  
  51. func readDataFromBeacons()
  52. {
  53. beaconSubscription = messageManager?.subscription(messageFoundHandler:
  54. { (myMessageFoundHandler) in
  55. if let dictionary: [String : Any] = (NSKeyedUnarchiver.unarchiveObject(with: (myMessageFoundHandler?.content)!) as? [String : Any])
  56. {
  57. if let tempStr : String = dictionary[Constant.UDID] as? String
  58. {
  59. print(tempStr)
  60. }
  61. }
  62.  
  63. }, messageLostHandler: { (myMessageLostHandler) in
  64. }, paramsBlock: { (params) in
  65. params?.deviceTypesToDiscover = .bleBeacon
  66. params?.messageNamespace = Constant.BUNDELIDENTIFIER
  67. params?.beaconStrategy =
  68. GNSBeaconStrategy(paramsBlock: { (params: GNSBeaconStrategyParams!) in
  69. params.includeIBeacons = true
  70. params.lowPowerPreferred = true
  71. })
  72. })
  73. }
Add Comment
Please, Sign In to add comment