Secure joining process using Local Google & Apple HomeKit SDK's - google-assistant-sdk

I am working on smart home devices based on the zigbee, z-wave & wifi.
I would like to make my smart home devices compatible with the google local SDK & apple home kit.
For that,
I would like to know how the provisioning is managed by the SDK or APP to add a device securely into the network.
Are there any standards mentioned by Google Or Apple?
How the security is managed by them?

With regards to Google's smart home platform, the seamless setup using Bluetooth is documented along with the rest of the developer documentation. That should answer your questions for that platform. I don't know about how Apple does it in their HomeKit platform.

Related

Xamarin turn on WiFi Hot Spot/Access Point and gain network name & password

I have been searching for the ability to switch on/off a phone WiFi hot spot/access point via a mobile app on the iOS and Android platform based on Xamarin. I had a look at WiFimanager, but it only seems to support Android platforms.
Could any one advise if it's possible to extract the phone's Hot Spot/Access point network name and password, with the ability to switch it on/off?
Unfortunately , iOS does not have a general-purpose API for Wi-Fi scanning and configuration. However, there are a number of special-purpose APIs, and one of these may be appropriate for your product.
NEHotspotHelper — If your app helps the user navigate a hotspot (a Wi-Fi network where the user must interact with the network to gain access to the wider Internet), you should look at NEHotspotHelper, part of the Network Extension framework. See the Hotspot Network Subsystem Programming Guide for details.
Important: NEHotspotHelper requires that your app have special entitlements.
Another solution is to use private library but this will get your app banned from the store. So you can use this solution if you’re not going to submit your app on AppStore.
More special-purpose APIs can refer to this Apple Q&A .
Depending on which version of Android your App will run on, you can turn off and on the WiFi.
On Android API up to, but not including 29 (Android Q) you can by requesting the following permissions in your manifest:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
And call:
WifiManager.FromContext(this).SetWifiEnabled(true);
However, on Android Q and up, you cannot do this at all.
For iOS you won't be able to do this as they do not allow 3rd party apps to change WiFi state. Even not with the NEHotspotHelper entitlement.

iOS apps authentication and API

I am pretty much newbie in iOS app developments. I have a question about authentication from iOS app.
Consider Android where a Google account is mandatory for each device and using the same account we can authenticate in any Android application.
Is there any similar approach available in iOS? May be using that we can authenticate user directly into iPhone application?
Apple provides iCloud features for authentication purposes. It lets you save data and files in iCloud storage and it will be synced between all devices logged in with the same iCloud account.
If you want to keep using your Google accounts on iOS devices as well there is no native way of doing so. However there are several libraries and pods available for this purpose. Google has a good SDK for working with Google Authentication and it is well documented as well.
https://developers.google.com/identity/sign-in/ios/start-integrating

Here maps free evaluation iOS mobile SDK for 90 days, no link available on the web to download

As part of our mobile app development we need to work on offline maps. Recently we have registered for HERE maps iOS free evaluation sdk(90 days), however we are not able to download HERE maps sdk and explained samples since there is no download link available on website(https://developer.here.com/native-apis). We have sent several mails to support team but nobody responded to my mails.
Someone help us to proceed further like how to get this sdk, so that we can integrate this free evaluation HERE sdk in our apps. If we are happy with this maps we are ready to purchase business license also.
Note: Google Maps(no offline), Skobbler maps are giving sdks and sample programs but not Here Maps.
The native HERE Maps SDK which includes offline map support can now be evaluated by anyone, no business license required. You just need to create a HERE account and request an evaluation copy.
Go to developer.here.com > Mobile SDKs > Sign up for a 90-day free trial
https://developer.here.com/native-apis
I contacted HERE a few days ago. They said that the SDK is available only for business contracts, not for free contracts. And it's not possible to get the sdk for evaluation. We need first a business contract...
Click on the below link to download Here maps mobile SDKs for android and iOS:
https://developer.here.com/plans/mobile-sdk
Currently there are two types of mobile SDKs are available
1.Starter Evaluation(90-day free trial) : Some feature will not be available here.
For ex a).We cannot download maps with this.
b).Hybrid mode will not work here etc.
Hybrid version will work both online and offline modes whereas online version will only work in online mode. You can download the maps with Here mobile SDK and then you can navigate to the places without internet. In hybrid version app will switch to offline automatically whenever net is not available.
2.Premium Evaluation(90-day free trial) : We can download maps.

Remote control Samsung TV from iOS app

I wonder what are requirements for developing iOS app that can be used as a remote controller for Samsung TV.
It's obvious that the TV needs to be connected to the network and be equipped in SMART TV feature. I would like to know if it's possible without modifying the TV software/firmware.
I didn't find any information about public APIs or iOS SDK from Samsung that could handle communication. As far as I understand the SDKs available on Samsung developer website are for creating apps that can be installed on the TV. However, I noticed several "remote controller" application on the AppStore, but don't have access to Samsung TV to check if they are working. I guess they have to use some official solutions in order to pass AppStore Review process.
Perhaps if there is no official SDK, some kind of universal protocol of can be used to connect with the TV and remotely change channel or retrieve currently watched channel info.
Looking forward to get some hints from people experienced in that topic, as I never did anything connected with TVs. Also, if you have knowledge about remote controlling other brands TV - please let me know how it looks like.
Yes, you can do that.
You will need to download the Samsung SmartTV SDK. The Development Guide has all the instructions to create a Javascript application with Websockets (or even to let you create a C/C++ TCP Socket app)

AirDrop to implement for a app for detection

Is there any documentation for AirDrop? I want to make an app that can be installed on multiple devices, and to be able to detect other devices that are running that app, I was thinking about AirDrop to do this part of detection. I would not want to use other solutions like bonjour.
Thank you!
I recommend the Multipeer Connectivity Framework Reference
This framework allows peer-to-peer connections (similar to AirDrop) between an app installed on multiple devices and for data to be exchanged between them over the connection.
You can find examples on how to use the AirDrop API by searching for 'airdrop' in iOS Developer Library. Here is a link https://developer.apple.com/library/ios/samplecode/sc2273/Introduction/Intro.html

Resources