React Native - Geofence

 

Geofence Kurulum Adımları

Android

  • Geofence özelliğini etkinleştirmek için AndroidManifest.xml dosyanıza aşağıdaki kodu ekleyin.

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> <service android:name="com.visilabs.gps.geofence.GeofenceTransitionsIntentService" android:enabled="true" android:permission="android.permission.BIND_JOB_SERVICE" /> <service android:name="com.visilabs.gps.geofence.GeofenceMonitor" android:enabled="true" android:exported="true" /> <receiver android:name="com.visilabs.gps.geofence.GeofenceTransitionsReceiver" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="com.visilabs.android.gps.geofence.ACTION_RECEIVE_GEOFENCE" /> </intent-filter> </receiver> <receiver android:name="com.visilabs.gps.geofence.VisilabsAlarm" android:exported="false" /> <receiver android:name="com.visilabs.gps.geofence.GeofenceBroadcastReceiver" android:enabled="true" android:exported="true" />

     

  • Sdk’yı çalıştırmak için alttaki init kodunu MainApplication.java dosyanıza ekleyin.
    Geofence özelliğini etkin hale getirmek için Visilabs.CreateAPI fonksiyonunun son parametresini(12.) true değeri girin.

    import com.visilabs.Visilabs; import euromsg.com.euromobileandroid.EuroMobileManager;

     

    @Override public void onCreate() { // ... initEuroMessage(); } private void initEuroMessage() { String appAlias = "ALIAS"; String huaweiAppAlias = "HUAWEI-ALIAS"; String organizationId = "OID"; String siteId = "SID"; String datasource = "datasource"; String channel = "Android"; String segmentUrl = "http://lgr.visilabs.net"; String realtimeUrl = "http://rt.visilabs.net"; String targetUrl = "http://s.visilabs.net/json"; String actionUrl = "http://s.visilabs.net/actjson"; String geofenceUrl = "http://s.visilabs.net/geojson"; Visilabs.CreateAPI(organizationId, siteId, segmentUrl, datasource, realtimeUrl, channel, this, targetUrl, actionUrl, 30000, geofenceUrl, true, "reactnative"); EuroMobileManager euroMobileManager = EuroMobileManager.init(appAlias, huaweiAppAlias, this); euroMobileManager.setPushIntent("com.demo.MainActivity", this); euroMobileManager.setNotificationLargeIcon(R.drawable.ic_launcher,this); euroMobileManager.setNotificationTransparentSmallIcon(R.drawable.ic_launcher, this); }

 

iOS

  • AppDelegate.m dosyasındaki didFinishLaunchingWithOptionsfonksiyonununun return ifadesinden hemen öncesine alttaki kodu ekleyin. 
    Not: Geofence özelliğinin aktif olması için geofenceEnabled parametresi true olmalıdır.

     

  • Geofence konum hizmetleri tanımlamaları
    Uygulamanızda konum hizmetlerini etkinleştirmek için öncelikle aşağıdaki anahtarları Info.plist dosyanıza eklemeniz gerekir.

    • NSLocationAlwaysAndWhenInUseUsageDescription

    • NSLocationWhenInUseUsageDescription

    Bu izinlerin örnek uygulaması aşağıdaki gibidir:


    Ayrıca bölgeleri izlemek, bölge listesini yenilemek ve push bildirimlerini almak için Info.plist dosyanızda UIBackgroundModes altına aşağıdaki anahtarları eklemeniz gerekir.

     

Geofence Test Adımları

  1. Kontrol aşamasında ise öncelikle panelden test edecek kişi kendi evine veya herhangi bir lokasyona geofence tanımlamalı. 

  2. Tanımlanan geofence target actions altından bir geofence tipindeki action'a bağlanmalı ve hangi durumlarda push gönderilecek seçilmeli(giriş, çıkış).

  3. Cihazın konum bilgilerinin açılması ve uygulamadan izin verilmesi gerekiyor. İzin verildiğinde sdk, RMC panelinde tanımlanmış son 20 geofence alanını çekip konum hareketlerinizi dinlemeye başlıyor.

  4. Sonrasında test edilecek cihaz android ise fake gps uygulaması kurulmalı ve bu fake gps uygulamasında panelden tanımlı olan geofence alanından geçilecek şekilde rota oluşturulması gerekiyor.

  5. Cihaz iOS ise yine panelde girilen lokasyondan geçecek rotaya sahip bir gpx dosyası hazırlanmalı ve xcode üzerinden projeye eklenmeli.

 

Adımlar tamamlandıktan sonra uygulama başlatıldığında cihaz o konumlardan geçtiğinde panelde tanımlanan push cihaza geliyor olması gerekiyor.

 

Copyright 2020 Related Digital