• 20-03-2021, 01:15:14
    #1
    Merhabalar,
    Onesignal ile başarıyla bildirim gönderiyorum fakat bildirime tıklayınca ilgili activity ve ya fragmente yönlendirme olayını nasıl yapabilirim?
    Her gönderiğim bildirimde farklı 3 ayrı fragmen arasında değişik değişik gönderme durumum olucak
  • 20-03-2021, 09:47:52
    #2
    Öncelikle hangi fragmente gidileceği belli mi?
    Bunu nasıl ayırt etmeyi planlıyorsunuz?
    Hangi şartlara göre 1-2 veya 3. activitye gitmesi gerekiyor?
    Bunu öğrendikten sonra yapılabilir.
  • 20-03-2021, 11:21:10
    #3
    mobiledev adlı üyeden alıntı: mesajı görüntüle
    Öncelikle hangi fragmente gidileceği belli mi?
    Bunu nasıl ayırt etmeyi planlıyorsunuz?
    Hangi şartlara göre 1-2 veya 3. activitye gitmesi gerekiyor?
    Bunu öğrendikten sonra yapılabilir.
    mesela attığım bir bildirim 2.fragmentle alakalı diğeri ise 3. ile ilgili
  • 20-03-2021, 16:07:26
    #4
    Senaryoyu şöyle kurabiliriz.
    Fragmentların bulunduğu yere yönlendirilecek bir bildirim oluşturuyorsunuz ve varsayalım ki 2. fragment ile alakalı olsun bu bildirim.
    Bunun için 2 yol var:
    1. yol SharedPreferences kaydı ile kontrol
    2. yol putextra'larla veri taşıyıp kontrol etmek.
    ikisini de yapmak tercihinize kalmış bir durum.

    1. yol:
    Bildirimi yerel olarak oluşturduğunuz için öncelikle sharedpreferences ile boolean bir kayıt oluşturun ve bu kaydın key değeri "second_fragment" olsun.
    Bu kaydın değerini bildirimi oluşturduğunuz receiver içerisinde atayın. Örn. true olarak kaydedin ve fragmentleri gösterdiğiniz yerde def value olarak false belirleyin. Fragmentlerin olduğu aktivite içerisinde kontol edin eğer gelen değer true ise 2. fragmenti gösterin değil ise 1. fragment gösterilsin. Buraya geldikten sonra bu değeri false olarak kaydetmeyi unutmayın yoksa otomatik olarak her girdiğinizde 2. fragment gösterilir. Bu aktiviteye bildirimden gelmediğinizde değerimiz false olarak döneceği için hangi fragment default olarak gösteriliyorsa o gösterilmeye devam edecektir. Bildirimden gelince true olacağı için 2. fragment gösterilecek daha sonra değer false olacak ve yaşam döngüsü bu şekilde devam edecek.
    Not: Bunu integer bir değer saklayarak da yapabilirsiniz. Örneğin kayıt 1 ise 1., 2 ise 2., kayıt 3 ise 3. fragment gösterilsin gibi.
    Not2: Bu değerleri yaparken editor.commit(); ile kaydı onaylamayı unutmayın.

    2. yol:
    Bildirimin oluşturulduğu receiver içerisinde intent ile aktiviteye geçtiğiniz için putIntentExtra kullanabilirsiniz.
    Yine aynı şekilde bildirim intentinden 1. yolda anlattığım senaryoyu oluşturursunuz ve gönderdiğiniz değeri aktivite içerisinde yakalayıp if'lerle kontrol ederek istediğiniz fragmenti gösterirsiniz.

    2. yol kayıt işlemleriyle uğraşmadığınız için daha basit olacaktır, tercih sizin.
  • 20-03-2021, 16:22:41
    #5
    mobiledev adlı üyeden alıntı: mesajı görüntüle
    Senaryoyu şöyle kurabiliriz.
    Fragmentların bulunduğu yere yönlendirilecek bir bildirim oluşturuyorsunuz ve varsayalım ki 2. fragment ile alakalı olsun bu bildirim.
    Bunun için 2 yol var:
    1. yol SharedPreferences kaydı ile kontrol
    2. yol putextra'larla veri taşıyıp kontrol etmek.
    ikisini de yapmak tercihinize kalmış bir durum.

    1. yol:
    Bildirimi yerel olarak oluşturduğunuz için öncelikle sharedpreferences ile boolean bir kayıt oluşturun ve bu kaydın key değeri "second_fragment" olsun.
    Bu kaydın değerini bildirimi oluşturduğunuz receiver içerisinde atayın. Örn. true olarak kaydedin ve fragmentleri gösterdiğiniz yerde def value olarak false belirleyin. Fragmentlerin olduğu aktivite içerisinde kontol edin eğer gelen değer true ise 2. fragmenti gösterin değil ise 1. fragment gösterilsin. Buraya geldikten sonra bu değeri false olarak kaydetmeyi unutmayın yoksa otomatik olarak her girdiğinizde 2. fragment gösterilir. Bu aktiviteye bildirimden gelmediğinizde değerimiz false olarak döneceği için hangi fragment default olarak gösteriliyorsa o gösterilmeye devam edecektir. Bildirimden gelince true olacağı için 2. fragment gösterilecek daha sonra değer false olacak ve yaşam döngüsü bu şekilde devam edecek.
    Not: Bunu integer bir değer saklayarak da yapabilirsiniz. Örneğin kayıt 1 ise 1., 2 ise 2., kayıt 3 ise 3. fragment gösterilsin gibi.
    Not2: Bu değerleri yaparken editor.commit(); ile kaydı onaylamayı unutmayın.

    2. yol:
    Bildirimin oluşturulduğu receiver içerisinde intent ile aktiviteye geçtiğiniz için putIntentExtra kullanabilirsiniz.
    Yine aynı şekilde bildirim intentinden 1. yolda anlattığım senaryoyu oluşturursunuz ve gönderdiğiniz değeri aktivite içerisinde yakalayıp if'lerle kontrol ederek istediğiniz fragmenti gösterirsiniz.

    2. yol kayıt işlemleriyle uğraşmadığınız için daha basit olacaktır, tercih sizin.
    teşekkür ederim deneyeceğim
  • 20-03-2021, 16:28:04
    #6
    Rica ederim kolay gelsin.