How do I display device on map using mqtt? - cumulocity

I am trying to get my device appear on the map.
From the MQTT program I sent this message:
publish("s/us","401,14.118795,79.890456")
The location got updated on the "events" tab of my device settings:
DETAILS
Time 14 Dec 2017 16:40:09
Type c8y_LocationUpdate
Position { "lng": 79.890456, "alt": null, "lat": 14.118795 }
Date Time "2017-12-14T11:10:09.105Z"
But it doesn't appear on the map in device settings and in the cockpit.
In the dashboard, I edited the map to include my device but it doesn't appear.
Thank you

The map plugin does not visualise the events but the position data contained in the managedObject of the device.
For MQTT this means you need to use the template 112 which only updates the managedObject or you use 402 which will create the event and update the managedObject.
The events are only used for the tracking view in device management.

Related

Send push notification to people within a x-meter radius with OneSignal

I have a OneSignal account.
I have a front-end PWA built with VueJs that collects users & sends there location in a tag.
OneSignal.push(function() {
OneSignal.sendTags({
latitude: latitude,
long: longitude
})
})
I have successfully sent push messages from the API, when addressing all or a specific segment.
My problem is when using the location filter.
I have tried with this Json :
{"app_id": "APIKEY","contents": {"en": "English Message"},"filters": [{"field": "location", "radius": "1000", "lat": "50.747164", "long": "3.345545"}]}
I realise it's counter intuitive to send latitude and expect to filter on lat... but this is what i found in the documentation. Also some things made me think 'location' is a field of its own, not part of the tag. But I could not find this field when creating a segment manualy. So I've hit a dead end here.
If I should use a different platform, or a whole different approach, I'm open to that. Currently I'm stuck with no extra info.
register for native devices on OneSignal.
If this is happening to you you are possibly not registered on native platforms.
Check in your One-signal under settings if you have registered native devices.
Location based sending only works with native device setup.
If 'location' is not under segment then it is just not active.

What is Titanium.Geolocation.lastGeolocation in Titanium?

In Titanium there is the following property:
Titanium.Geolocation.lastGeolocation
As explained in this doc: http://docs.appcelerator.com/platform/latest/#!/api/Titanium.Geolocation
It is described as follows:
JSON representation of the last geolocation received.
LastEvent is the JSON version of the last geolocation sent by the OS.
This does not trigger a geolocation attempt, nor wait for such. If no
geolocation has happened, this value may be null or undefined.
My question is when it says "lastGeolocation", does it mean the last geolocation recieved my the device ever (e.g. The app could have got a location from another app such as Google Maps), or just the last geolocation received by the app?
I believe it should be the device's last location irrespective to which app requested for it.
It is easily checkable with following steps:
Get a fresh current location from the Titanium app & check the value of lastLocation.
Do a location request from another place with different app like Google Maps.
Then check it again in Titanium app.

Is there a way to override the default sound for a remote notification?

I know you can do it with local notifications using the soundName property but that doesn't affect remote notifications. I understand that the normal way to do this is to include the sound reference in the payload, but I do not want to do that every time since I only plan to use one custom sound. There has got to be a simple way to do this.
Yes you can override default sound of remote notification. For that you need to change sound property in payload of aps dictionary. You need to set your desired sound file name and include that sound file in your project bundle.
More information regarding payload of aps, please check below image.
In Apple push notification programming guide, they mentioned as below.
Each push notification includes a payload. The payload contains information about how the system should alert the user as well as any custom data you provide. The maximum size allowed for a notification payload is 256 bytes; Apple Push Notification Service refuses any notification that exceeds this limit.
For each notification, compose a JSON dictionary object (as defined by RFC 4627). This dictionary must contain another dictionary identified by the key aps. The aps dictionary contains one or more properties that specify the following actions:
1. An alert message to display to the user
2. A number to badge the application icon with
3. A sound to play

Sencha Locationupdate event working even if gps is turned off

I am using Ext.util.Geolocation library in Senchatouch.There are two listeners namely locationupdate which fires when the users co-ordinates are obtained and locationerror which is fired when there is a error in fetching the user co-ordinates. Now even when I turn the gps off on my android device the locationupdate event is fired.I would like to know if the locationupdate listener is a measure to check if the gps is active or not or I need to try a different way.Experts Please suggest.
You might want to check carefully your device location settings, this would happen to me on Android if I switch off the geolocation service but leave the google wifi location active.. hth.

Bing Maps in Windows 8 app

My question is similar to this one "https://bitly.com/UaQOC4", but that question is somewhat misleading.
In my Windows 8 Store app, I have a Bing map reference to a particular location somewhere in South Africa. The referenced location will have multiple pins to denote key areas of interest to users of the application, with an info window for each of the pins.
When a user clicks on a pin, the info window will give them more information, like statistics around the location and a link to a page within the application, for example: /pages/nests/crowsnest.html.
What I need is to be able to push the user, when clicked on the location in the info window, to this page, however, this does not seem to be allowed.
From my understanding, we're trying to force a page load from within the current domain space (our application) from outside of the application scope (info window == iframe) as this is not a web page, this seems to be disallowed.
Is my assumption correct in that we're trying to break the domain policy here? I don't see how we can, as we're just redirecting users to a page.
I have tried the WinJS.Navigation.navigate("/pages/nests/crowsnets.html") and event a normal -tag but neither of these approaches allowed me any success.
I'm still not sure what are you trying to achieve. You can use Bing Maps control in your Windows 8 app and you can pin any Pushpins in there, You can also handle the behavior when user taps any pin and show more detailed info on the map.
Bing Maps SDK for Windows Store apps