For developers who have been using Sandbox, this document describes how to migrate your existing Sandbox account data to the Production environment.
Important The Sandbox environment will soon be decommissioned. When the Sandbox environment is decommissioned, any data in the Sandbox environment will become inaccessible.
Data in Sandbox, including:
You have the following courses of action:
If you elect to do nothing, your Sandbox data will become inaccessible. This option makes sense if you do not wish to preserve or keep your Sandbox data.
You can move your Sandbox Geofences into Production by importing them into an Organization within the Production environment.
Note You will, however, need to re-create any Communications, Instant Communications, and Triggers related to those Geofences. You will not be able to migrate those over.
These are the steps you'll need to take.
Note You will not be able to keep any analytics data from the Sandbox environment. You can, however, export the data for your own purposes.
In lieu of a sandbox environment, Gimbal Manager now allows a developer to create multiple organizations within an account. Each organization in Gimbal Manager is autonomous; each one will have its own application keys, server keys, geofences, communications, proximity elements, and analytics. In this manner, you can effectively create a "sandbox organization" for testing and maintain a production organization for actual deployment, within the same account.
Note Any client API Keys (Gimbal or Proximity) created under a new Organization will be capped to a limited number of users. This limit is lifted by submitting a Production Request and being approved.
For each application in Sandbox that you want to keep, you will need to manually recreate them in Production. After creating a test organization, login into Gimbal Manager using that organization. Then for each Sandbox application, create an application using the same bundle ID (iOS) or package name (Android).
You will need to export your geofence data from Sandbox using the Gimbal REST API. Then you will use the Gimbal REST API on the Production environment to populate the same data. The process involves these steps:
From an HTTP client, invoke the following API to retrieve your geofence data in JSON format:
GET
https://sandbox.gimbal.com/api/geofences
Note Be sure to use your Sandbox Server API Key for this call. It can be found under Sandbox → Organizations.
AUTHORIZATION: Token token=my_sandbox_server_api_key
{ "geofences": [{ "id": 1, "name": "Gimbal HQ", "addressLineOne": "5775 Morehouse Drive, San Diego CA 92121", "geoFenceCircle": { "radius": 100, "visibility": "ORGANIZATION", "location": { "latitude": 32.89494374592149, "longitude": -117.19603832579497 } }, "placeAttributes": { "key1": "value1", "key2": "value2" } }, { "id": 3291 "name": "Gimbal R&D", "addressLineOne": "5665 Morehouse Drive, San Diego CA 92121", "geoFencePolygon": { "visibility": "ORGANIZATION", "locations": [ { "latitude": 32.8953153522896, "longitude": -117.19559844351653 }, { "latitude": 32.8954009341414, "longitude": -117.19516929007415 }, { "latitude": 32.89564867061472, "longitude": -117.1949815354431 }, { "latitude": 32.89545949009762, "longitude": -117.19463284827117 }, { "latitude": 32.894986537037255, "longitude": -117.19496544218902 }, { "latitude": 32.894864920127866, "longitude": -117.19554479933623 } ] }, "placeAttributes": { "key1": "value1", "key2": "value2" } }] }
From an HTTP client, invoke the following API to POST your geofence data in JSON format
POST
https://manager.gimbal.com/api/bulk_geofences
Note Be sure to use your Production Server API Key matching the new Organization you want to migrate the geofences to.
AUTHORIZATION: Token token=my_production_server_api_key_for_new_organization
[{ "name": "Gimbal HQ", "addressLineOne": "5775 Morehouse Drive, San Diego CA 92121", "geoFenceCircle": { "radius": 100, "visibility": "ORGANIZATION", "location": { "latitude": 32.89494374592149, "longitude": -117.19603832579497 } }, "placeAttributes": { "key1": "value1", "key2": "value2" } }, { "name": "Gimbal R&D", "addressLineOne": "5665 Morehouse Drive, San Diego CA 92121", "geoFencePolygon": { "visibility": "ORGANIZATION", "locations": [ { "latitude": 32.8953153522896, "longitude": -117.19559844351653 }, { "latitude": 32.8954009341414, "longitude": -117.19516929007415 }, { "latitude": 32.89564867061472, "longitude": -117.1949815354431 }, { "latitude": 32.89545949009762, "longitude": -117.19463284827117 }, { "latitude": 32.894986537037255, "longitude": -117.19496544218902 }, { "latitude": 32.894864920127866, "longitude": -117.19554479933623 } ] }, "placeAttributes": { "key1": "value1", "key2": "value2" } }]
You will need to recreate your Communications, Instant Communications, and Triggers using the Gimbal Manager or REST API.
Use the REST API to export analytics data you wish to archive from Sandbox. You will not be able to migrate it to the Production environment.
Modify the UserContext.plist file accordingly.
Remove SANDBOX_API_KEY
.
Remove APPSTORE_BUILD
.
Replace PRODUCTION_API_KEY
with the new application API key generated from your new test organization.
Modify the UserContext.properties file accordingly.
Replace app.key
with the new application API key generated from your new test organization.
Remove env
as this key is no longer needed.