Android uygulamasında güncelleme kontrolü nasıl yapılır?

Uygulamasında güncelleme kontrolü kullanan var mı?
Mesela yeni güncelleme yaptınız ve kullanıcı güncellemeyi kaçırdı.
Uygulamayı açınca Play Store sürümü ve cihaz arasında kontrol yapıp kullanıcıya (Toast mesaj yada Alert Dialog vb..) bildirimler yapmak. İngilizce kaynaklara baktım da biraz karmaşık geldi. Deneyen var mı? Ne önerebilirsiniz?
Ayrıca Mini Bir Anket
Uygulamasında güncelleme kontrolü kullanan var mı?

Ş
0 kişi takip ediyor.
Misafir olarak yayınla
14
14 CEVAP

firebase remote config ile basitce yapabilirsin.

A

firbase remote confige bir bakım

Şerif Çalıbaş 5 yıl

Çok basit birşey o bir json tut onda son sürüm no yaz arkaplanda sorgu çekip apk version'a göre mesaj gösterirsin.

Ş

şerif hocam firebase json projemde kullanıyorum ama bunu nasıl ne şekilde eklerim onu bilmiyorum

Şerif Çalıbaş 5 yıl

Şerif Çalıbaş Firebase kullanmadım hiç. Vakit bulursam bir makale yazarım. Service, Asynctask, httpUrlConnection yeterli oluyor

Şerif Bilgin 5 yıl

Yani kendine ait bir web siten olcak vede burda json tutulcak sen güncelleme yapacağında sitede bir sayı artırcaksın. Iugulamada her açıldığında kontrol etçek mesela. Sonrada işte numaranın değiştiğini arttığını fark eden senin uygulaman heemen alert vercek onaylayıncada google play linkine göndercek. Yada daha sonra der geçersin.

Eyüp Bayboğan 5 yıl

Eyüp Bayboğan sitem var lakin Firebase üzerinde veritabanı işlemleri Google vasıtasıyla çok cüzzi ödemelerle yapılıyor ancak kodlama ayarlarını hiç yapmadım.

Şerif Çalıbaş 5 yıl

BENİM anlattığım yöntemde firebase yok. Gerek yok

Eyüp Bayboğan 5 yıl

Bunu anlatan basit bir örnek makalesi var mı? Yada eklerseniz büyük bir faydası olabilir

Ş

Ben su sekilde yapiyorum
Web db mde uygulamanin surumunu tutuyorum ve uygulama acilinca uygulamanin surum kodunu cekip karsilastiriyorm
Bu sekilde surum kontrolu yaparak guncellemeye yonlendiriyorum

B

kodu buraya eklemen mümkün olsa güzel olurdu. Ama mantığını anladım

Şerif Çalıbaş 5 yıl

Firsat olursa eklemryr cslisrm hacm

Burak Ürekli 5 yıl

Bu play store sürüm numarasını barındıran kısım ( play store'da sağ klik incele yapınca çıkıyor) elde net veri var uygulamada da var bir şekilde kolay yoldan yapılabilir mi?

com-2181bximht2sd17r0jbk.jpg

Ş

Versiyon code varya direk onu cekiyorum ben onun uzerinden islem yapiyrm

B

aşağıdakli kodlarla internet kontrolü ve versiyon kontrolü yapılıyor

B

public boolean internet_varmi() {
final ConnectivityManager conMgr = (ConnectivityManager) getSystemService(Context. CONNECTIVITY_SERVICE);
final NetworkInfo activeNetwork = conMgr. GetActiveNetworkInfo();
if (activeNetwork != null && activeNetwork. İsConnected()) {
return true;
} else {
return false;
}

}

public int getVersion() {
int v = 0;
try {
v = getPackageManager().getPackageInfo(getPackageName(), 0).versionCode;
} catch (PackageManager. NameNotFoundException e) {
// Huh? Really?
}
return v;
} #

B

if(getVersion() < Integer. ParseInt(program_versiyon)){

AlertDialog. Builder alertDialog = new AlertDialog. Builder(MainActivity. This);
alertDialog. SetTitle(getResources().getString(R. String. Main_program_new_version_header));
alertDialog. SetMessage(getResources().getString(R. String. Main_program_new_version_text));
alertDialog. SetPositiveButton(getResources().getString(R. String. Main_program_new_version_btn_yes), new DialogInterface. OnClickListener() {
public void onClick(DialogInterface dialog, int which) {

final String appPackageName = getPackageName(); // Can also use getPackageName(), as below
startActivity(new Intent(Intent. ACTION_VIEW, Uri. Parse("market://details? İd=" + appPackageName)));

}
});

final String finalSession_correctivity = session_correctivity;
alertDialog. SetNegativeButton(getResources().getString(R. String. Main_program_new_version_btn_no), new DialogInterface. OnClickListener() {
public void onClick(DialogInterface dialog, int which) {

dialog. Dismiss();
if(is_logged_in. Equals("1") && session_key. Equals("") == false && finalSession_correctivity. Equals("correct"))
{
sabitler. User_session_key = session_key;
Intent intent = new Intent(MainActivity. This, program_main. Class);
startActivity(intent);
finish();
}

else if (is_logged_in. Equals("0") || session_key. Equals("") || finalSession_correctivity. Equals("incorrect"))
{
Intent intent = new Intent(MainActivity. This, com. Thecodeprogram. Sosyalsozluk. Activity. Log_in. Class);
startActivity(intent);
finish();
}

}
});
alertDialog. SetCancelable(false);

alertDialog. Show();

} else {
if(is_logged_in. Equals("1") && session_key. Equals("") == false && session_correctivity. Equals("correct"))
{
sabitler. User_session_key = session_key;
Intent intent = new Intent(MainActivity. This, program_main. Class);
startActivity(intent);
finish();
} #

B

kontrolü burada yapıyorum burayı aradan seçersin artık

B

biraz karışık oldu ayıklarsınız artık

B

Eline sağlık hocam

Şerif Çalıbaş 5 yıl

Stack overflow saolsun sende saol hocam

Burak Ürekli 5 yıl

Hocam daha kısa bir yolunu bulmuş olabilirim. Pc açınca eklerim buraya. Bu internet kontrolü için değil mi, yukarıdaki paylaşımla ilgili bir paylaşım olursa güzel olurdu valla http://stackoverflow.com/ kim yaptıysa cennetlik kesin :))

Şerif Çalıbaş 5 yıl

Internetten kontrol edip db deki kaydinizi cekiyorsuniz cektikten sonra cihqzdaki versiyon dusukse guncelleyeyimmi penceresi acilir evet derseniz uygulamanin google playdaki sayfasina gider

Burak Ürekli 5 yıl

Db den cekme kismi yok sadece

Burak Ürekli 5 yıl

Google play market in zaten böyle bir yaptırımı yok mu yani hiç uuarıya gerek duyurtmadan. Wifiden bağlandığında mesela bütün güncellemeleri kendisi kontrol edip yapmıyormu ki ?

E

Yapiyor ama bazende yapmaya biliyr bazende kullanici onu kapatmis oluyr veya guncellenince direk uyari vermiyor bunlardan dolayi ihtiyac olabiliyr

B

Eğer güncelleme şart değilse kullanıcı o haldede rahatça kullanabilecekse koyma bazı insanlar eski sürümleri daha kullanışlı buluyor (misal ben)

B