Table of Contents |
---|
Geofence Kurulum Adımları
Android
Geofence özelliğini etkinleştirmek için
AndroidManifest.xml
dosyanıza aşağıdaki kodu ekleyin.Code Block language xml <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" /> <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çinVisilabs.CreateAPI
fonksiyonunun son parametresini(12.)true
değeri girin.Code Block language java import com.visilabs.Visilabs; import euromsg.com.euromobileandroid.EuroMobileManager;
Code Block language java @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); 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ındakididFinishLaunchingWithOptions
fonksiyonununun return ifadesinden hemen öncesine alttaki kodu ekleyin.
Not: Geofence özelliğinin aktif olması içingeofenceEnabled
parametresitrue
olmalıdır.Code Block [RelatedDigitalPushModule initVisilabs:@"organization_id" profileId:@"profile_id" dataSource:@"datasource" inAppNotificationsEnabled:true requestTimeoutSeconds:30 geofenceEnabled:true maxGeofenceCount:20];
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:
Code Block <key>NSLocationAlwaysAndWhenInUseUsageDescription</key> <string>We need access to your location for better user experience.</string> <key>NSLocationWhenInUseUsageDescription</key> <string>We need access to your location for better user experience.</string>
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.Code Block <array> <string>fetch</string> <string>location</string> <string>remote-notification</string> </array>
Geofence Test Adımları
Kontrol aşamasında ise öncelikle panelden test edecek kişi kendi evine veya herhangi bir lokasyona geofence tanımlamalı.
Tanımlanan geofence target actions altından bir geofence tipindeki action'a bağlanmalı ve hangi durumlarda push gönderilecek seçilmeli(giriş, çıkış).
Cihazın konum bilgilerinin açılması ve uygulamadan izin verilmesi gerekiyor. İzin verildiğinde sdk bizim panelde , RMC panelinde tanımlanmış son 20 tane geofence alanını çekip oralardan geçilecek mi diye kontrol etmeye konum hareketlerinizi dinlemeye başlıyor.
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.
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.
...