Android-Proximity-SDK
Android-Proximity-SDK copied to clipboard
[Question] Development on different cloud account
Prerequisites
- [X] Put an X between the brackets on this line if you have done all of the following:
- My beacons have Estimote Monitoring enabled (Check it in the Estimote Cloud, or via app)
- My Android device/devices supports BLE and has Android OS version >= 5.0.0
- My Android device/devices have bluetooth enabled
- My app has Location Permissions granted
Basic information
Estimote SDK version: 1.0.2
Android devices affected: Xiaomi Mi6
Android OS version affected: 8.0.0
Beacon hardware version: Don't known
Description
I have a question about different cloud account EstimoteCloudCredentials and beacon tag. I contract my remote team for setting a tag of beacon on different cloud account (Account A). Then i try to run below code with my own account (Account B) and got the error NoContextForGivenZonesException.
val proximityZone = ProximityZoneBuilder()
.forTag(tag)
.inCustomRange(eventRange)
.onEnter { .... }
.onExit { .... }
.onContextChange { .... }
.build()
proximityObserver.startObserving(proximityZone)
So, I assume that it because of our tag is set on different cloud account, therefore, I cant use such tag right? So what are your suggestion for allowing us to develop on different accounts or we need to use only one account to develop.
Expected behavior: able to detect enter/exist event
Actual behavior: NoContextForGivenZonesException:
Additional information
com.estimote.proximity_sdk.internals.exception.NoContextForGivenZonesException: No beacons for given tag values. Make sure you've entered tag names correctly, your app has network connection available (at least once), and tags are correctly assigned to your beacons in Estimote Cloud.
at com.estimote.proximity_sdk.internals.proximity.ProximityObservationUseCase$invokeOnErrorWhenNoContextForGivenZones$1.accept(ProximityObservationUseCase.kt:50)
at com.estimote.proximity_sdk.internals.proximity.ProximityObservationUseCase$invokeOnErrorWhenNoContextForGivenZones$1.accept(ProximityObservationUseCase.kt:19)
at io.reactivex.internal.operators.single.SingleDoOnSuccess$DoOnSuccess.onSuccess(SingleDoOnSuccess.java:53)
Hello @ppwasin
In order for your use case to work, you need to use credentials of an account that has your beacons assigned to it. So, in your case, your remote team should share their account's credentials with you. This is a temporary solution and we'll be planning to add some cross-account beacon sharing for test development.
Cheers!