Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
f8e06db
React.Native support (#49)
matti-ida Mar 10, 2021
6438c2e
Update README.md
matti-ida Mar 10, 2021
6bec63b
Merge branch 'master' into react-native
matti-ida Mar 10, 2021
e892a76
Merge branch 'master' into react-native
matti-ida Apr 13, 2021
79160c0
Update to SDK 3.4.7 (#53) (#54)
matti-ida Jun 16, 2021
f7b1708
Merge branch 'master' into react-native
matti-ida Sep 22, 2021
e02d0b6
Add leading {
beerbohmdo Sep 24, 2021
cb08b80
Missing { in package.json
matti-ida Sep 24, 2021
9006a46
Update 3.4.4 changelog
matti-ida Sep 24, 2021
721156d
Merge branch 'master' into react-native
matti-ida Feb 18, 2022
95e336a
Merge branch 'master' into react-native-sdk-3.5
matti-ida Aug 23, 2022
13db7ca
Update Android targetSdk version
matti-ida Aug 23, 2022
3d33cb7
Fix SDK status callback (#59)
matti-ida Aug 23, 2022
2e303f5
Fix Android check
matti-ida Aug 23, 2022
c50be95
Merge branch 'master' into react-native-sdk-3.5
matti-ida Aug 23, 2022
4423d39
Merge pull request #58 from IndoorAtlas/react-native-sdk-3.5
matti-ida Aug 23, 2022
a623ef0
Merge branch 'master' into react-native-sdk-3.6.3
matti-ida Jun 12, 2023
df99f0c
Update IndoorAtlas.framework -> IndoorAtlas.xcframework in podspec
matti-ida Jun 12, 2023
8a48592
Merge pull request #61 from IndoorAtlas/react-native-sdk-3.6.3
matti-ida Jun 13, 2023
4c9b859
Merge branch 'master' into react-native-sdk-3.6.4
matti-ida Oct 24, 2023
cd46517
Add workaround to support gradle/android build tools version 33
matti-ida Oct 25, 2023
836116c
Merge pull request #63 from IndoorAtlas/react-native-sdk-3.6.4
matti-ida Oct 25, 2023
4075741
Update IndoorAtlas SDKs to 3.6.6 (iOS) and 3.6.7 (Android) (#64) (#65)
matti-ida Dec 18, 2023
ea373e3
Merge branch 'master' into react-native-sdk-3.6.7
matti-ida Jan 8, 2024
1a338c9
Merge pull request #67 from IndoorAtlas/react-native-sdk-3.6.7
matti-ida Jan 8, 2024
117c558
Merge branch 'master' into react-native-sdk-3.6.9
matti-ida May 7, 2024
2a80856
Merge pull request #69 from IndoorAtlas/react-native-sdk-3.6.9
matti-ida May 7, 2024
3c5c40a
Merge branch 'master' into react-native
matti-ida May 8, 2024
948cff2
Radio scan callbacks (#70)
matti-ida May 13, 2024
a28d81e
Radio scan callbacks for React Native
matti-ida May 13, 2024
af52f82
Merge pull request #71 from IndoorAtlas/react-native-radio-scan-callb…
matti-ida May 13, 2024
0e94f17
Merge branch 'master' into react-native
matti-ida May 13, 2024
956221e
Merge branch 'master' into react-native
matti-ida Jun 13, 2024
6d7b71a
Use IA fork of RN-cordova library (#48)
gitjuba Aug 14, 2024
186c93d
Remove unncessary postinstall hack (#72)
matti-ida Aug 19, 2024
7776643
Update IndoorAtlas SDKs to 3.6.11 (#73)
matti-ida Aug 19, 2024
98ee3f1
Update changelog
matti-ida Aug 19, 2024
714b85b
Merge branch 'master' into react-native-sdk-3.6.11
matti-ida Aug 19, 2024
522a721
Merge pull request #74 from IndoorAtlas/react-native-sdk-3.6.11
matti-ida Aug 19, 2024
03e0119
Merge branch 'master' into react-native-sdk-3.7.0-2
matti-ida Feb 11, 2025
bb534be
ios: cleanup header
matti-ida Feb 11, 2025
90584bd
ios: bump deployment target 9.0 -> 12.0
matti-ida Feb 6, 2025
deaf5f4
temp: use custom branch for react-native-cordova
matti-ida Feb 6, 2025
af40070
Fix RN warning
matti-ida Feb 6, 2025
cf3e950
Export WayfindingTags explicitly
matti-ida Feb 7, 2025
1eba7b6
Merge branch 'master' into react-native-sdk-3.7.0-2
matti-ida Feb 13, 2025
39f7239
Update react-native-cordova
matti-ida Feb 13, 2025
a13c151
Merge pull request #81 from IndoorAtlas/react-native-sdk-3.7.0-2
matti-ida Feb 13, 2025
879d71e
Merge branch 'master' into react-native-sdk-3.7.1
matti-ida Jun 4, 2025
981bc7f
Merge pull request #83 from IndoorAtlas/react-native-sdk-3.7.1
matti-ida Jun 4, 2025
9f48954
Merge branch 'master' into react-native-sdk-3.7.2
matti-ida Nov 18, 2025
9804ddf
Update CHANGELOG.md
matti-ida Nov 18, 2025
3922f99
Merge pull request #85 from IndoorAtlas/react-native-sdk-3.7.2
matti-ida Nov 18, 2025
fcaab5b
Merge branch 'master' into react-native
matti-ida Nov 19, 2025
c155270
Update CHANGELOG.md
matti-ida Nov 19, 2025
8a312c6
Merge branch 'master' into react-native-sdk-3.8.0
matti-ida Mar 2, 2026
886dc4d
Update IndoorAtlas SDKs to 3.8.0 (#86) (#87)
matti-ida Mar 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ Version 3.8.0 - March 2026
Version 3.7.2 - November 2025
----------------
* Update IndoorAtlas SDKs to 3.7.2
* Android: ignore clear/remove* actions after onDestroy()

Version 3.7.1 - June 2025
----------------
Expand All @@ -20,14 +21,16 @@ Version 3.7.0 - February 2025
Version 3.6.8 - August 2024
----------------
* Update IndoorAtlas SDKs to 3.6.11
* Now uses IA fork of @remobile/react-native-cordova
* Fix lat/lon parameters getting truncated in addDynamicGeofence, requestWayfindingRoute and setPosition APIs
* Now supports also npm install (previously only yarn install was supported)

Version 3.6.7 - June 2024
----------------
* Update IndoorAtlas SDKs to 3.6.10

Version 3.6.6 - May 2024
----------------
* Add `NSMotionUsageDescription` declaration for iOS
* Add radio scan callbacks API (NOTE! To enable the callbacks, please contact IndoorAtlas support)

Version 3.6.5 - May 2024
Expand All @@ -49,6 +52,7 @@ Version 3.6.2 - December 2023
Version 3.6.1 - October 2023
----------------
* Update IndoorAtlas SDKs to 3.6.4
* add workaround to support Android Gradle buildtools version 33

Version 3.6.0 - June 2023
----------------
Expand All @@ -63,7 +67,6 @@ Version 3.5.0 - August 2022
* Update IndoorAtlas SDKs to 3.5.5
* iOS: fix JSON serialization issue with position object
* Android: add BLUETOOTH_SCAN permission. The plugin now requires compile and target sdk version 31
* Now requires Cordova version 11.0.0 or higher

Version 3.4.5 - February 2022
----------------
Expand All @@ -73,6 +76,7 @@ Version 3.4.5 - February 2022
Version 3.4.4 - September 2021
----------------
* Update IndoorAtlas SDKs to 3.4.9
* Fix broken package.json in last release

Version 3.4.3 - June 2021
----------------
Expand Down
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
_IndoorAtlas React Native plugin can be found in `react-native` branch_

# IndoorAtlas Cordova Plugin <img src="https://img.shields.io/github/release/IndoorAtlas/cordova-plugin.svg">
# IndoorAtlas Cordova/React.Native Plugin <img src="https://img.shields.io/github/release/IndoorAtlas/cordova-plugin.svg">

[IndoorAtlas](https://www.indooratlas.com/) provides a unique Platform-as-a-Service (PaaS) solution that runs a disruptive geomagnetic positioning in its full-stack hybrid technology for accurately pinpointing a location inside a building. The IndoorAtlas SDK enables app developers to use high-accuracy indoor positioning in venues that have been fingerprinted.

Expand All @@ -9,11 +9,11 @@ _IndoorAtlas React Native plugin can be found in `react-native` branch_
1. Before starting, read the [quick overview of IndoorAtlas technology](https://indooratlas.freshdesk.com/support/solutions/articles/36000079590-indooratlas-positioning-overview) to understand the necessary steps in the deployment process
2. Set up your [free developer account](https://app.indooratlas.com) in the IndoorAtlas developer portal.
3. To enable IndoorAtlas indoor positioning in a venue, the venue needs to be fingerprinted with the [IndoorAtlas MapCreator 2](https://play.google.com/store/apps/details?id=com.indooratlas.android.apps.jaywalker) tool.
4. To start developing your own app using the Cordova plugin, create an [API key](https://app.indooratlas.com/apps) and plug it into our [example application available on Github](https://github.com/IndoorAtlas/sdk-cordova-examples).
4. To start developing your own app using the Cordova/React.Native plugin, create an [API key](https://app.indooratlas.com/apps) and plug it into our [example application available on Github](https://github.com/IndoorAtlas/sdk-cordova-examples).

## Documentation

The full documentation for the IndoorAtlas Cordova plugin is available at: https://docs.indooratlas.com/cordova/latest/
The full documentation for the IndoorAtlas Cordova/React.Native plugin is available at: https://docs.indooratlas.com/cordova/latest/

## Development notes

Expand All @@ -25,4 +25,4 @@ Usage:

## License

Copyright 2015-2021 IndoorAtlas Ltd. The Cordova Plugin is released under the Apache License. See the [LICENSE.md](https://github.com/IndoorAtlas/cordova-plugin/blob/master/LICENSE) file for details.
Copyright 2015-2021 IndoorAtlas Ltd. The Cordova/React.Native Plugin is released under the Apache License. See the [LICENSE.md](https://github.com/IndoorAtlas/cordova-plugin/blob/master/LICENSE) file for details.
6 changes: 6 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
'use strict';

const IndoorAtlas = require('./www/IndoorAtlas.js');
const WayfindingTags = require('./www/WayfindingTags.js');

module.exports = { IndoorAtlas, WayfindingTags };
23 changes: 9 additions & 14 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,27 +1,22 @@
{
"name": "cordova-plugin-indooratlas",
"name": "react-native-indooratlas",
"version": "3.8.0",
"description": "Cordova plugin using IndoorAtlas SDK.",
"cordova": {
"id": "cordova-plugin-indooratlas",
"platforms": [
"android",
"ios"
]
},
"description": "React.Native plugin using IndoorAtlas SDK.",
"homepage": "https://github.com/indooratlas/cordova-plugin/tree/react-native",
"repository": {
"type": "git",
"url": "https://github.com/IndoorAtlas/cordova-plugin"
"url": "https://github.com/IndoorAtlas/cordova-plugin.git#react-native"
},
"keywords": [
"cordova",
"React.Native",
"IndoorAtlas",
"geolocation",
"ecosystem:cordova",
"cordova-android",
"wayfinding",
"indoor positioning"
],
"author": "IndoorAtlas",
"license": "Apache 2.0"
"license": "Apache 2.0",
"dependencies": {
"@remobile/react-native-cordova": "github:IndoorAtlas/react-native-cordova"
}
}
23 changes: 23 additions & 0 deletions src/android/build.gradle
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
apply plugin: 'com.android.library'

android {
namespace "com.indooratlas.android.sdk.reactnative"
compileSdkVersion 31
buildToolsVersion "30.0.3"

defaultConfig {
minSdkVersion 21
targetSdkVersion 31
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}

repositories {
mavenCentral()
maven {
Expand All @@ -8,4 +29,6 @@ repositories {
dependencies {
implementation 'com.android.support:appcompat-v7:27.0.2'
implementation 'com.indooratlas.android:indooratlas-android-sdk:3.8.0@aar'
implementation 'com.facebook.react:react-native:+'
implementation project(':react-native-cordova')
}
2 changes: 2 additions & 0 deletions src/android/settings.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
include ':react-native-cordova'
project(':react-native-cordova').projectDir = file('../../../@remobile/react-native-cordova/android')
4 changes: 4 additions & 0 deletions src/android/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.indooratlas.android.sdk.reactnative">
<uses-permission android:name="android.permission.BLUETOOTH_SCAN"/>
</manifest>
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
package com.ialocation.plugin;

import com.remobile.cordova.CordovaPlugin;
import com.remobile.cordova.JsonConvert;
import com.remobile.cordova.PluginResult;

import org.json.JSONException;
import org.json.JSONObject;

// react.native
class CallbackContext {
private final String mCallbackName;
private final com.remobile.cordova.CallbackContext mRealCallbackContext;
private final CordovaPlugin mPlugin;

CallbackContext(String callbackName, com.remobile.cordova.CallbackContext realCallbackContext, CordovaPlugin plugin) {
mCallbackName = callbackName;
mRealCallbackContext = realCallbackContext;
mPlugin = plugin;
}

void sendPluginResult(PluginResult pluginResult) {
if (pluginResult.messageType != PluginResult.MESSAGE_TYPE_JSON_OBJECT) {
throw new IllegalArgumentException("Unsupported message type "+pluginResult.messageType);
}
if (pluginResult.status == PluginResult.Status.OK.ordinal()) {
// send OK results as events to workaround react.native callbacks only being callable once
try {
mPlugin.sendJSEvent(mCallbackName, JsonConvert.jsonToReact(pluginResult.jsonObjectMessage));
} catch (JSONException ex) {
error("Internal error converting results:" + ex.getMessage());
}
} else {
// send ERROR results via normal callback (assuming only one error per callback)
mRealCallbackContext.sendPluginResult(pluginResult);
}
}

// assume these only get called once so use normal callbacks
void success() {
mRealCallbackContext.success();
}

void success(JSONObject message) {
mRealCallbackContext.success(message);
}

void success(String message) {
mRealCallbackContext.success(message);
}

void error(JSONObject message) {
mRealCallbackContext.error(message);
}

void error(String message) {
mRealCallbackContext.error(message);
}
}
Loading