Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func sendDataToBeacons()
- {
- self.mResponse = false
- self.isTargeted = true
- GNSMessageManager.setDebugLoggingEnabled(true)
- let nearbyPermission = GNSPermission(changedHandler: { (granted: Bool)
- in
- // Update the UI here
- })
- let permissionState = GNSPermission.isGranted()
- GNSPermission.setGranted(!permissionState) // toggle the state
- messageManager = GNSMessageManager(apiKey: "AIzaSyD-zlc1Tw6rClQDNtCxUq_QHZy2tlXxxbk",paramsBlock: { (params: GNSMessageManagerParams?) in
- guard let params = params else { return }
- params.microphonePermissionErrorHandler = { (hasError: Bool) in}
- params.bluetoothPowerErrorHandler = { (hasError: Bool) in}
- params.bluetoothPermissionErrorHandler = { (hasError: Bool) in}
- })
- var img : UIImage = updatedProfileDict[Constant.BASE6a4] as! UIImage
- img = img.resizeCI(size: CGSize(width: 150, height: 150))!
- let adate : NSData = UIImagePNGRepresentation(img)! as NSData
- let strBase64 = adate.base64EncodedString(options: .lineLength64Characters)
- var dict : [String : Any] = [:]
- dict[Constant.UDID] = updatedProfileDict[Constant.UDID]
- dict[Constant.DESCRIPTION] = updatedProfileDict[Constant.DESCRIPTION]
- dict[Constant.BASE6a4] = strBase64
- dict[Constant.MRESPONSE] = true
- dict[Constant.ISTARGETED] = true
- dict[Constant.MTARGETUUID] = updatedProfileDict[Constant.UDID]
- print(dict)
- let dataExample : NSData = NSKeyedArchiver.archivedData(withRootObject: dict) as NSData
- //publication = messageManager?.publication(with:GNSMessage(content: dataExample as Data?))
- self.publication = self.messageManager?.publication(with: GNSMessage(content: dataExample as Data?), paramsBlock: { (params) in
- guard let params = params else { return }
- self.mResponse = true
- self.isTargeted = true
- params.strategy = GNSStrategy(paramsBlock: { (params: GNSStrategyParams?) in
- guard let params = params else { return }
- params.discoveryMediums = .BLE
- params.discoveryMode = .default
- })
- })
- }
- func readDataFromBeacons()
- {
- beaconSubscription = messageManager?.subscription(messageFoundHandler:
- { (myMessageFoundHandler) in
- if let dictionary: [String : Any] = (NSKeyedUnarchiver.unarchiveObject(with: (myMessageFoundHandler?.content)!) as? [String : Any])
- {
- if let tempStr : String = dictionary[Constant.UDID] as? String
- {
- print(tempStr)
- }
- }
- }, messageLostHandler: { (myMessageLostHandler) in
- }, paramsBlock: { (params) in
- params?.deviceTypesToDiscover = .bleBeacon
- params?.messageNamespace = Constant.BUNDELIDENTIFIER
- params?.beaconStrategy =
- GNSBeaconStrategy(paramsBlock: { (params: GNSBeaconStrategyParams!) in
- params.includeIBeacons = true
- params.lowPowerPreferred = true
- })
- })
- }
Add Comment
Please, Sign In to add comment