Android-Proximity-SDK icon indicating copy to clipboard operation
Android-Proximity-SDK copied to clipboard

[Question] Development on different cloud account

Open mheevun opened this issue 7 years ago • 1 comments

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)

mheevun avatar Aug 22 '18 07:08 mheevun

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!

pawelDylag avatar Aug 27 '18 08:08 pawelDylag