{"id":18614616,"url":"https://github.com/joaoppedrosa/sesdk","last_synced_at":"2026-04-25T11:36:11.316Z","repository":{"id":80656161,"uuid":"58132884","full_name":"joaoppedrosa/SESDK","owner":"joaoppedrosa","description":" SDK that make easy the integration of multiple mobile technologies such like Beacons + Geofencing + Payments (Stripe SDK) + Augmented Reality (Vuforia SDK) + Indoor Location (Indoor Atlas SDK)","archived":false,"fork":false,"pushed_at":"2016-05-05T13:39:53.000Z","size":17694,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-03T19:41:49.199Z","etag":null,"topics":["android","augmented-reality","beacons","estimote-beacons","geofencing","indoor-atlas","indoor-localization","java","stripe","stripe-sdk","vuforia","vuforia-sdk"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joaoppedrosa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-05-05T13:31:17.000Z","updated_at":"2022-09-18T22:03:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"a293e380-efc4-4fc0-ae12-7d6ecaf39598","html_url":"https://github.com/joaoppedrosa/SESDK","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/joaoppedrosa/SESDK","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaoppedrosa%2FSESDK","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaoppedrosa%2FSESDK/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaoppedrosa%2FSESDK/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaoppedrosa%2FSESDK/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joaoppedrosa","download_url":"https://codeload.github.com/joaoppedrosa/SESDK/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joaoppedrosa%2FSESDK/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32261117,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","augmented-reality","beacons","estimote-beacons","geofencing","indoor-atlas","indoor-localization","java","stripe","stripe-sdk","vuforia","vuforia-sdk"],"created_at":"2024-11-07T03:26:15.810Z","updated_at":"2026-04-25T11:36:06.306Z","avatar_url":"https://github.com/joaoppedrosa.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\nSESDK\n-------------------\n\nSDK that make easy the integration of multiple mobile technologies such as augmented reality, indoor location, beacons , geofencing and payements\n\nHow do I use SESDK?\n-------------------\n\n```gradle\nbuildscript {\n    repositories {\n        jcenter()\n    }\n\n    dependencies {\n        classpath 'com.android.tools.build:gradle:2.1.0'\n    }\n}\n\nallprojects {\n    repositories {\n        jcenter()\n        maven {\n            url \"http://indooratlas-ltd.bintray.com/mvn-public\"\n        }\n    }\n}\n```\n\n\n```java\npublic class SampleApplication extends Application{\n    @Override\n    public void onCreate() {\n        super.onCreate();\n        SE.init(this);\n    }\n}\n```\n\nBeaconsManager\n---------\nEasy integration with the Estimote SDK, replace the key for your own (https://cloud.estimote.com/)\n\n```java\npublic static final String ESTIMOTE_APP_ID = \"\";\npublic static final String ESTIMOTE_APP_TOKEN = \"\";\n\npublic class SampleApplication extends Application{\n    @Override\n    public void onCreate() {\n        super.onCreate();\n        SE.init(this);\n        SE.initBeaconsManager(ESTIMOTE_APP_ID, ESTIMOTE_APP_TOKEN);\n    }\n}\n```\n\nAfter this just enable the ranging or monitoring in your Activity or Fragment\n```java\n@Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_beacons);\n        initBeaconsManager();\n    }\n\n    private void initBeaconsManager(){\n        BeaconsManager beaconsManager = SE.getBeaconsManager();\n        beaconsManager.setBeaconsListener(this);\n        BeaconID beaconID = new BeaconID(\"B9407F30-F5F8-466E-AFF9-25556B57FE6D\",15621,39312);\n        beaconsManager.addRegionToMonitor(beaconID);\n        beaconsManager.startMonitoring();\n        beaconsManager.addRegionToRanging(beaconID);\n        beaconsManager.startRanging();\n    }\n\n    @Override\n    public void onDiscoveryBeacon(List\u003cBeacon\u003e beacons) {\n        Log.d(TAG, \"onDiscoveryBeacon: \" + beacons.toString());\n    }\n\n    @Override\n    public void onBeaconTemperature(float temperature) {\n        Log.d(TAG, \"onBeaconTemperature: \" + temperature);\n    }\n\n    @Override\n    public void onBeaconMotionListener(MotionState motionState) {\n        Log.d(TAG, \"onBeaconMotionListener: \" + motionState.toString());\n    }\n\n    @Override\n    public void onEnterRegion(Region region) {\n        Log.d(TAG, \"onEnterRegion: \" + region.toString());\n    }\n\n    @Override\n    public void onExitedRegion(Region region) {\n        Log.d(TAG, \"onExitedRegion: \" + region.toString());\n    }\n```\n\nYou need to\n\nGeofencingManager\n---------\n\nInit the GeofencingManager in Application\n\n```java\npublic class SampleApplication extends Application{\n    @Override\n    public void onCreate() {\n        super.onCreate();\n        SE.init(this);\n        SE.initGeofencingManager();\n    }\n}\n```\n\nCreate a service that extends GeofencingIntentService and call onFindGeofences()\n\n```java\npublic class GeoService extends GeofencingIntentService {\n\n    @Override\n    public void onFindGeofences(List\u003cGeofence\u003e geofences) {\n    }\n}\n```\n\nAdd the service and the Google Play Services metadata into AndroidManifest.xml\n\n```xml\n\t\u003cmeta-data\n\t\tandroid:name=\"com.google.android.gms.version\"\n        android:value=\"@integer/google_play_services_version\" /\u003e\n\n\t\u003cservice android:name=\".service.GeoService\" /\u003e\n```\n\nAnd then just regist geofences\n\n```java\n\n   @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        GeofencingManager geofencingManager = SE.getGeofencingManager();\n        geofencingManager.setGeofencingIntentService(new GeoService());\n        geofencingManager.addGeofencing(geofencingManager.generateGeofencing(\"Welcome to Ubiwhere\", 40.638197, -8.635206, 120000, 1));\n\n    }\n\n```\n\nPaymentManager\n---------\nEasy integration with the Stripe SDK, replace the key for your own (https://dashboard.stripe.com)\n\n```java\npublic class SampleApplication extends Application{\n    public static final String STRIPE_KEY = \"\";\n\n    @Override\n    public void onCreate() {\n        super.onCreate();\n        SE.init(this);\n        SE.initPaymentManager(STRIPE_KEY);\n    }\n}\n```\n\nAnd then just create a credit card and a token\n\n```java\n    private void initPaymentManager(){\n        this.paymentManager = SE.getPaymentManager();\n        this.paymentManager.setiStripe(this);\n        this.paymentManager.createCreditCard(\"NOME\",\"4242424242424242\",12,20,\"123\");\n    }\n\n    @Override\n    public void validCreditCard(Card card) {\n        paymentManager.createTokenToCharge(card,\"description\",12.00,\"EUR\");\n    }\n\n    @Override\n    public void invalideCreditCard() {\n        Log.e(TAG, \"invalideCreditCard\");\n    }\n\n    @Override\n    public void stripeToken(StripeToken stripeToken) {\n        Log.d(TAG, \"stripeToken: \" + stripeToken);\n    }\n\n    @Override\n    public void stripeTokenError(String message) {\n        Log.e(TAG, \"stripeTokenError: \" + message);\n    }\n```\n\nVuforiaVideoManager\n---------\nEasy integration with the Vuforia SDK, replace the key for your own (https://developer.vuforia.com/)\n\n```java\npublic class SampleApplication extends Application{\n\n    public static final String VUFORIA_KEY = \"\";\n\n    @Override\n    public void onCreate() {\n        super.onCreate();\n        SE.init(this);\n        SE.initVuforiaVideoManager(VUFORIA_KEY);\n    }\n}\n```\nAnd then just copy the data obtain in vuforia target manager and the images and videos to assests folder and add them to VuforiaVideoManager\n\n```java\n    private void initVuforiaFiles(){\n        VuforiaVideoManager vuforiaVideoManager = SE.getVuforiaVideoManager();\n        String FILE_DATA =\"vuforia/Shopping_Experience.xml\";\n        String VIDEO_DOLCE_GUSTO = \"vuforia/dolce_gusto.mp4\";\n        String VIDEO_PROALIMENTAR = \"vuforia/proalimentar.mp4\";\n        String IMAGE_DOLCE_GUSTO = \"vuforia/dolce_gusto.jpg\";\n        String IMAGE_PROALIMENTAR = \"vuforia/proalimentar.png\";\n        vuforiaVideoManager.setDataFile(FILE_DATA);\n        vuforiaVideoManager.addToList(new AssetsToVideo(0, VIDEO_DOLCE_GUSTO, IMAGE_DOLCE_GUSTO, \"dolce_gusto\"));\n        vuforiaVideoManager.addToList(new AssetsToVideo(1, VIDEO_PROALIMENTAR, IMAGE_PROALIMENTAR, \"proalimentar\"));\n    }\n```\n\nMapManager\n---------\nEasy integration with the IndoorAtlas SDK, replace the floor plan id for your own (https://www.indooratlas.com/)\n\n```java\npublic class SampleApplication extends Application{\n    public static final String FLOOR_PLAN_ID = \"\";\n\n    @Override\n    public void onCreate() {\n        super.onCreate();\n        SE.init(this);\n        SE.initIndoorAtlas(FLOOR_PLAN_ID);\n    }\n}\n```\n\nAdd API KEYS to AndroidManifest.xml\n\n```xml\n\t\u003cmeta-data\n            android:name=\"com.indooratlas.android.sdk.API_KEY\"\n            android:value=\"@string/indooratlas_key\" /\u003e\n        \u003cmeta-data\n            android:name=\"com.indooratlas.android.sdk.API_SECRET\"\n            android:value=\"@string/indooratlas_secret\" /\u003e\n```\n\nAnd then just get your floor plan in a Activity or fragment\n\n```java\n@Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_map);\n        this.blueDotView = (BlueDotView) findViewById(R.id.blueDotView);\n        this.indoorLocationManager = SE.getIndoorLocationManager();\n        this.indoorLocationManager.loadFloorPlan(this);\n    }\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoaoppedrosa%2Fsesdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoaoppedrosa%2Fsesdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoaoppedrosa%2Fsesdk/lists"}