Registration id yi webView e ekleme

Rapor et
Soru

Bu soru rapor edilmelidir hissediyorum neden kısaca açıklayınız.

Rapor et
İptal

Merhaba; https://www.mobilhanem.com/android-google-cloud-messaging-ile-push-notification-gonderimi-php-mysql/

adresindeki sistem düzgün çalışıyor. Sadece Anasayfa.java da ki webView kısmına kayıt olup sql le giden Registration id yi eklemek istiyorum.

private String Url = “http://siteadres.com/bildirim/index.php?id=”;

Doğru anladıysam RegisterApp.java da  registration_id hafızaya alınıyor SharedPreferences ile. WebView e bunu nasıl ekleyebilirim?

 

Cevaplandı 0
Android 3 sene 18 Cevap 1353 görüntüleme Intern 0

Yazar HakkındaIntern

Cevaplar ( 18 )

  1. muratAslan

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    doInBackground fonksiyonu içerisindeki
    msg = “Registration ID=” + regid; alanının hemen altına;

    Yukardaki kod ile SharedPreferences kaydı yaparsın.

    daha sonra WebView başlatacağın yerde de load url kısmından önce aşağıdaki kodu entegre edersin;

    Aşağıdaki linkleri incelemende yararlı olacaktır.

    Android Sharedpreferences Kullanımı;
    https://www.mobilhanem.com/android-sharedpreferences-kullanimi/

    Android WebView Kullanımı;
    https://www.mobilhanem.com/android-webview-kullanimi/

    Kolay Gelsin.

    • Taha Kırca

      Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

      Rapor et
      İptal

      MuratAslan hocamın cevabına şunu ekleyebilirim. Registration id hemen oluşmayacağı için ilk seferde registration_id boş gelecektir. Sonrasında dolu gelmeye başlıyacaktır.
      Kolay gelsin.

  2. Avatar

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    msg = “Registration ID=” + regid; alanının hemen altına; ekleyince hata vermekte.

    Error:(57, 48) error: cannot find symbol method getPreferences(int)

    Halen uğraşıyorum.


    • Taha Kırca

      Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

      Rapor et
      İptal

      İyide zaten o dersi iyice incelersenn ordaki storeRegistrationId() methodu zaten senin yapmak istediğini yapıyor ve regId yi sharedPrefences a kaydadiyor. bence dersi iyi incele.

  3. Avatar

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    Doğru sizin kodlarda zaten saklıyor. Anasafa.java da veriyi çekmeye çalışıyorum.

    import android.content.Context;
    import android.content.SharedPreferences;

    ekliyorum.

    Derleme hatası yok ama, durma hatası veriyor.

  4. Taha Kırca

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    Hata log unu atarsan bakalım. Ayrıca Google Cloud Messaging artık kullanamaman gerekiyor. Yeni projelerde sadece Firebase Notification kullanılabiliyor olması lazım.
    Neden Firebase kullanmadın?

  5. Avatar

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    Google Cloud Messaging çalışıyor sıkıntı yok, sadece şuan sorduğumu yapmaya çalışıyorum. Sürekli uygulama yapmıyorum zaten. İş yerinde kendimiz için kullanmak üzere basit bir yapı kurmaya çalışıyorum. Bu uygulamayı da senin hazır yapını bulduğum için basitçe uyguladım. Çok fazla da anlamıyorum zaten.

    Ekte gönderdiğim istediğindir umarım.


  6. Taha Kırca

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    Anasayfa.java da 21. satırda null pointer fırlatmış. Anasayfa.java dosyanıda paylaşabilirsin.

  7. Avatar

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    Sorunsuz çalışan koda sadece şu satırı ekledim, 21.satırda bunlar var.

    Anasayfa.java

    • Taha Kırca

      Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

      Rapor et
      İptal

      SharedPreferences prefs = this.getPreferences(Context.MODE_PRIVATE);
      String savedString = prefs.getString(“registration_id”,”Kayıt Yok”);

      Yukarıdaki kodları yanlış yerde çağırmışsın. OnCreate methodu içinde çağırmalısın.

  8. Avatar

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    “http://siteadi.com?kod=x2017x66”

    burdaki kod değeri cihaz id si olacak
    harf hataları var ama sıkıntı yok

  9. Avatar

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    Hata vermedi ama Sürekli “kayıt yok” olarak geliyor. Di

    • Taha Kırca

      Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

      Rapor et
      İptal

      Kayıt yok demesinn sebebi registration_id ‘nin boş kalması. registration_id’yi sharedpreferences’a kaydettiğin yerde debug yaparak registration_id oluşuyor mu kontrol edebilirsin.

  10. Avatar

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    Oluşuyor olması lazım çünkü sql le id sorunsuz gidiyor. Emin olmamakla birlikte Activity ler arası sharedpreferences la ilgili bir sıkıntı var gibi. Kodların bulunduğu pc ye uzaktan bağlıydım. Yanlışlıkla kapattım. Yarın bakabilicem dediğinize.

  11. Avatar

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    Dediğim gibi id oluşuyor. sharedpreferences ile ilgili sıkıntı var.


  12. Taha Kırca

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    Sen bu dersi incelediğine eminsin dimi ?
    https://www.mobilhanem.com/android-google-cloud-messaging-ile-push-notification-gonderimi-php-mysql/

    Bak o derste hem SharedPreferences ile kayıt etme işlemi hemde SplashScreen.java activitysinde getRegistrationId methodu ile SharedPreferencestan çekme işlemi bulunmakta. Sen bence dersi ve dersin kodlarını güzelce incele.

    Kolay gelsin.

  13. Avatar

    Bu cevap rapor edilmelidir hissediyorum neden kısaca açıklayınız.

    Rapor et
    İptal

    Teşekkür ederim. Dersleri incelediğime emin olabilirsiniz. Ancak dersten çok kod paylaşımı olduğu için zaten bilgisi olmayanlar (Benim gibi) zorlanması normal.

    Kodlar buarda paylaşıldığı için buradan ve/veya kodu yayınlayandan yardım istemem normal.

    Soruna gelince. Yapmaya çalıştığım şey webview kullandığım uygulamada, uygulamayı açan kullanıcıyı tanımlayıp site içinde gerekli işlemleri (id yi kişiye bağlama vs) yapmak.

    SharedPreferences neden olmadı bilmiyorum, cidden kodları inceledim. Çözümü Intent ile buldum. Hem register da hem SplashScreen da Intent ile Anasayfa ya yani webview in olduğu ekrana veri gönderiyor kod. Tam bu alana regid ekleyince sorun çözüldü. İster ilk kez açılsın ister sonra webview içinden regid yi sorunsuz alabiliyorum.

    Aşağıdaki kodlar https://www.mobilhanem.com/android-google-cloud-messaging-ile-push-notification-gonderimi-php-mysql/ adresinde paylaşılan kodlar ile webview içinde açılan sayfaya RegistrationId yi göndermek için yapılan eklemeleri göstermektedir.

    Değişiklikler //Bu satır yeni eklendi. şeklinde vurgulanmıştır.

    SplashScreen.java

    RegisterApp.java

    Anasayfa.java

    En iyi cevap

Cevap bırak

Gözat

KOD PAYLAŞIRKEN DİKKAT!!!!

HTML kod paylaşmak için

<pre class="html">HTML KOD</pre>
XML kod paylaşmak için
<pre class="xml">XML KOD</pre>
Diğer dillerde(php,java,android,javasvript,c# vs..) kod paylaşmak için
<pre>KOD</pre>
tagları arasında paylaşmayı unutmayın.