Desteklenen Platformlar: Android 12 ve Android 14 Elo cihazları, Backpack 4 (Standart/Gerçek), I-Series 4 (Standart/Gerçek), I-Series Standart, M50, Elo Pay M60, Elo Pay 7”, Elo Pay 22", M100, M100C.
Tam Referans (Bilgi Tabanı + SDK Javadoc)
API'ler, keşfi basitleştirmek ve uygulamayı hızlandırmak için işlevsel sınıfa (Sistem, Ağ, Paket, vb.) göre organize edilmiştir.
Küresel En İyi Uygulamalar (KB'den)
-
Her zaman herhangi bir API çağırmadan önce servise bağlanın.
onServiceConnected()alıncaya kadar metodları çağırmayın. -
Cihaz politikalarının yerel ayarları geçersiz kılabileceğini düşünün.
Bu, özellikle zaman, saat dilimi, USB, kiosk modu ve uygulama kurulumları için geçerlidir. -
Üretimde zaman senkronizasyonu için NTP kullanın.
Test dışında manuel zaman yapılandırmasından kaçının. -
Sıfırlama davranışını anlayın.
-
Kurumsal Sıfırlama Elo yapılandırmasını ve kaydolma durumunu temizler.
-
Fabrika Sıfırlama tüm kullanıcı verilerini siler ve cihazı kutu dışı duruma döner.
-
-
Her API çağrısının sonucunu kaydedin.
Bu, sorun giderme ve yükseltme için kritik öneme sahiptir.
❗ Önemli Kullanım Notları
Bazı SDK API'leri belirli Android izinleri gerektirir ve EloView modunda mı yoksa Android Ev modunda mı olunduğuna bağlı olarak farklı davranışlar sergileyebilir. Cihaz politikası uygulanması yerel ayarların geçersiz kılmasına neden olabilir. Geliştiriciler, API'leri üretim uygulamalarında çağırmadan önce cihaz modunu ve izin durumunu doğrulamalıdır.
EloView Ev SDK, servis tabanlı bir Android SDK'dır ve herhangi bir API çağrısı gerçekleştirilmeden önce başarılı bir servis bağlanması gerektirir. Şu durumlarda metodlar null dönebilir veya sonuç vermeyebilir:
- Servis henüz bağlı değilse
- Cihaz uyumlu bir EloView durumunda değilse
- Politika kısıtlamaları işlemi engelliyorsa
Bu kılavuz, desteklenen ve yaygın olarak kullanılan desenlere odaklanmaktadır. Ham SDK Javadoc'da belgelenen her Android iznini, yaşam döngüsü kenar durumunu veya dahili dönüş durumunu belirtmez. Standart Android servis yaşam döngüsü yönetimi ve hata kontrolü, üretim uygulamalarında uygulanmalıdır.
Ortak Gerçek Dünya Senaryoları (KB'den)
Senaryo: Cihaz kaydı sonrası saat dilimi yanlış
system.setNtpEnabled(true);
system.setNtpServer("time.aws.com");
system.setTimeZone("US/Central");
system.syncTimeNow();
// Doğrula
String tz = system.getTimeZone();
Log.d(TAG, "Timezone=" + tz);
İpucu: Eğer saat dilimi yeniden başlatmadan sonra eski haline dönerse, Android otomatik saat diliminin etkin olduğunu ve cihaz politikasının farklı bir bölgeyi yeniden uygulamadığını kontrol edin.
Senaryo: Tek uygulama kiosk modunu güvenli bir şekilde yapılandırma
pkg.setKioskApp("com.example.kiosk");
pkg.setKioskModeEnabled(true);
pkg.launchApp("com.example.kiosk");
Uyarı: Üretimde kiosk modunu etkinleştirmeden önce her zaman bir yönetici kaçış yolunu doğrulayın.
Servis Bağlantı Şablonu (KB'den)
eloView.bindService(context, callback, accessToken);
// Callback.onServiceConnected() içinde SDK API'leri çağırmak güvenlidir
eloView.unbindService(context);
Önemli not: bindService() ve unbindService() değer döndürmez. SDK API'leri yalnızca onServiceConnected() çağrıldıktan sonra çağrılmalıdır.
Çekirdek / Servis Bağlantı API'leri
EloView
EloView sınıfı aşağıdaki işlemleri sağlar:
- Cihazda, çevrimdışı durumda veya bir hesaba kayıtlı değilken oynatılacak içeriği setOfflinePlayContent() ile ayarlayın.
- Oynatmaya ayarlanmış içeriğin türünü (APK veya WebView) ve adını getPlayContent() ile alın.
- EloView Kontrol modunda yapılandırılmış içeriğin mevcut oynatma durumunu getPlayContentStatus() ile alın.
- Cihazın şu anda EloView Bulutuna (çevrimiçi veya çevrimdışı) bağlı olup olmadığını getDeviceCloudStatus() ile kontrol edin.
- Elo Hızlı Ayarlarda ve Android Ev Modunda Wi-Fi'yi değiştirmek için toggleWifi() kullanın.
- Elo Hızlı Ayarlarda ve Android Ev Modunda Bluetooth'u değiştirmek için toggleBT() kullanın.
bindService
public void bindService(android.content.Context context, ServiceConnectionCallback callback, java.lang.String accessToken)
Bu yöntem EloView servisini uygulamaya bağlar. EloView API'lerini çağırmadan önce bunu yapmalısınız.
Parametreler
- context – EloView API'lerinin kullanıldığı bağlam.
try {
// TODO: SDK API'lerini çağırmadan önce servisin bağlı olduğundan emin olun
Object result = sdk.bindService(context, callback, "accessToken");
Log.d(TAG, "OK: bindService result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: bindService", e);
}
unbindService
public void unbindService(android.content.Context context)
Bu yöntem servisi uygulamadan ayırmak için kullanılır. Kaynakları temizlerken servisten ayrılmak için bu yöntem kullanılmalıdır.
Parametreler
- context – Bağlam
Örnek
try {
// TODO: SDK API'lerini çağırmadan önce servisin bağlı olduğundan emin olun
Object result = sdk.unbindService(context);
Log.d(TAG, "OK: unbindService result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: unbindService", e);
}
setOfflinePlayContent
public java.lang.String setOfflinePlayContent(java.lang.String packageName)
Bu yöntem, cihazı EloView Kontrol modundaki offline durumda olan içerikle ayarlamak için kullanılır.
Parametreler
- packageName – Cihazda default içerik olarak ayarlanacak paket.
Örnek
try {
// TODO: SDK API'lerini çağırmadan önce servisin bağlı olduğundan emin olun
Object result = sdk.setOfflinePlayContent("packageName");
Log.d(TAG, "OK: setOfflinePlayContent result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setOfflinePlayContent", e);
}
unbindService
public void unbindService(android.content.Context context)
Bu yöntem, servisi uygulamadan ayırmak için kullanılır. Kaynakları temizlerken servisten ayrılmak üzere bu yöntemi kullanın.
Parametreler
- context – Uygulamanın bağlamı
Örnek
try {
// TODO: SDK API'lerini çağırmadan önce servisin bağlı olduğundan emin olun
Object result = sdk.unbindService(context);
Log.d(TAG, "OK: unbindService result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: unbindService", e);
}
setOfflinePlayContent
public java.lang.String setOfflinePlayContent(java.lang.String packageName)
Bu yöntem, cihazı EloView Kontrol modundaki offline durumda olan içerikle ayarlamak için kullanılır.
Parametreler
- packageName – Cihazda default içerik olarak ayarlanacak paket.
Örnek
try {
// TODO: SDK API'lerini çağırmadan önce servisin bağlı olduğundan emin olun
Object result = sdk.setOfflinePlayContent("packageName");
Log.d(TAG, "OK: setOfflinePlayContent result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: setOfflinePlayContent", e);
}
unbindService
public void unbindService(android.content.Context context)
Bu yöntem, uygulamadan servisi ayırmak için kullanılır. Kaynakları temizlerken servisten ayrılmak için bu yöntem kullanılmalıdır.
Parametreler
- context – Uygulama bağlamı
Örnek
try {
// TODO: SDK API'lerini çağırmadan önce servisin bağlı olduğundan emin olun
Object result = sdk.unbindService(context);
Log.d(TAG, "OK: unbindService result=" + result);
} catch (Exception e) {
Log.e(TAG, "FAIL: unbindService", e);
}
Please report any broken links by emailing support@elotouch.com and include a link to the knowledge article