Push teknolojisi, uygulamanızın kullanıcılarına bildirim göndermenin en hızlı yollarından biridir. Bunları almak için kullanıcının herhangi bir işlem yapmasına gerek yoktur ve bunlar sunucu tarafında başlatılır ve doğrudan mobil cihazın ekranındaki bildirim çubuğunda görünür. Bu derste, AppMaster platformunda oluşturulan uygulamalarda anlık bildirimlerin nasıl uygulanacağını anlayacağız.
Send Push
Push bildirimleri göndermek için, hedef cihazın işletim sistemine ( iOS veya Android ) karşılık gelen Send Push blokları kullanılır.
Push Token ve Bundle ID Alma
Bir gönderim gerçekleştirmek için en az iki parametre belirtmelisiniz: Push Token ve IOS (Android) Bundle ID . Bu nedenle, hazırlık bölümü ile başlamaya ve bu parametrelerin nasıl alınacağını bulmaya değer.
Varsayılan olarak, her projenin veritabanı, User modeline bağlı ve gerekli alanları içeren bir Mobile Instance modeli içerir: push_token ve bundle_id .
Tamamlanan Mobile Instance modelini oluşturacak olan mobil uygulama için ayrı bir iş süreci oluşturalım. Bir push jetonu almak için Get Push Token bloğunu kullanın.
Bir sonraki adım, cihaz hakkında bilgi almaktır. Ve burada işletim sistemine bağlı olarak farklı bloklar gerekli olacaktır. Bu nedenle işletim sistemini belirlemek için Platform Switch bloğunu kullanmalısınız.
Sonuca göre ilgili IOS Device Info veya Android Device Info bloğu kullanılır. Oradan cihazla ilgili çeşitli bilgiler edinebilirsiniz ancak bizim örneğimizde sadece Bundle ID bulmanız yeterli.
Tüm verileri topladıktan sonra, bir Mobile Instance modeli oluşturabilir, hangi işletim sistemine ait olduğunu belirtebilir ve iş sürecinin bir çıktı parametresi olarak iletebilirsiniz.
Kullanıcının mobil cihazıyla ilgili bilgilerin kaydedilmesi
Bir sonraki adım, oluşturulan Mobile Instance belirli bir kullanıcıya bağlamak ve veritabanına kaydetmek için bir arka uç iş süreci oluşturmaktır. Bu iş süreci aşağıdakileri gerektirir:
- Auth: Get current user bloğunu kullanarak mevcut kullanıcıyı bulun.
- Ortaya çıkan Mobile Instance modelinin içeriğini genişletin.
- Modeli yeniden birleştirin ve Make Mobile Instance bloğunu kullanarak bir kullanıcı bağlantısı ekleyin.
- DB: Create Mobile Instance bloğunu kullanın ve verileri veritabanına kaydedin.
POST /Mobile Instance/ uç noktasında, standart iş sürecini az önce oluşturulmuş olanla değiştirebilirsiniz.
Hazırlığın son aşaması, kullanıcının cihazıyla ilgili bilgileri veritabanına tam olarak ne zaman yazmaya değer olduğuna karar vermektir. Uygulamada yetkilendirme yapılırken bunu yapmak mantıklı çözüm olacaktır. Bunun için Set Auth Token blokunun hemen ardından mobil uygulamadaki kullanıcı yetkilendirme işlemine önceden oluşturulmuş iş süreçleri ile iki yeni blok eklenmesi gerekmektedir. Birincisi gerekli bilgileri alır ve üretir, ikincisi ise kullanıcı ile bağlantı kurar ve veritabanına yazar.
Push bildirimleri gönderme
Hazırlık kısmı tamamlandı ve push bildirimleri göndermeye başlayabilirsiniz. Bunu yapmak için bir arka uç iş süreci oluşturacağız. Görevimizin, uygulamamızın tüm kullanıcılarına bir bildirim göndermek olacağını hayal edin. Bunları yalnızca Android işletim sistemine sahip cihazlara göndereceğiz ve kullanıcının tüm cihazlarına değil, yalnızca en son kullanılan cihaza göndereceğiz.
Giriş parametreleriyle başlayalım. Bildirim metninin kendisinin aktarılması gerekir. Üç bölümden oluşur: mesajın gövdesi ( body ), başlığı ( title ) ve alt başlığı ( subtitle ).
Ardından, uygulamanın tüm kullanıcılarını bulmanız gerekir. Bunu yapmak için Search User bloğunu kullanın ve gerekli parametreleri ayarlayın:
- _With = Mobile Instances (yalnızca kullanıcı hakkında değil, aynı zamanda onunla ilişkili mobil cihaz hakkında da bilgi almanız gerekir)
- Limit = -1 (varsayılan olarak, sorgu 25 kayıt döndürür, bu sınırı kaldırmak ve tüm kullanıcıları almak için “-1” belirtilir)
- _mobile_instances_os = Android (görevin şartlarına göre sadece Android cihazlarla ilgileniyoruz)
Oluşturulan kullanıcı dizisi için bir işlem döngüsü çalıştırmanız gerekir ( For each loop bloğu için)
Expand User bloğundan her kullanıcı için, mobil cihazlar ( Mobile Instances ) hakkında bilgi almanız gerekir. Yalnızca bir aygıta bildirim göndermemiz gerekiyor, bu nedenle Array Element bloğunda index = 0 ayarlıyoruz ve ayrıca dizinin en az bir öğe içerip içermediğini de kontrol ediyoruz (sonuçta, bir kullanıcının yalnızca bir iOS aygıtı olabilir). Bunu yapmak için öğenin geçerliliğini kontrol ederiz, geçerli dizin değerini If-Else bloğuna iletiriz ve yalnızca değer true ise döngüye devam ederiz.
Her şey doğruysa ve kullanıcının cihazı hakkında bilgi bulunursa, Expand Mobile Instance bloğunu kullanmanız ve gerekli değerleri Send Push (Android) bloğuna iletmeniz gerekir.
Developer App bir uygulama geliştirirken ve test ederken, Developer Mode = True olarak ayarlamanız gerektiğini lütfen unutmayın.
TTL (Time to live) seçeneğini de kullanabilirsiniz. Bildirimin gönderileceği süreyi saniye cinsinden tanımlar. Bildirim hemen teslim edilemiyorsa, örneğin kullanıcı geçici olarak menzil dışındaysa, ayrılan zamanda tekrarlanan teslim girişimleri yapılacaktır.
Döngünün sonunda ve olası tüm kullanıcılara bildirim göndererek, iş sürecinin çalışması da tamamlanır.
Ek parametreler
Ayrı olarak, gönderme bloğunun ek parametrelerini tartışmaya değer:
- Push ID
- Push Class
- Data
Bir bildirimin gönderilmesini veya içeriğini etkilemezler ancak kullanıcı tarafında bir bildirimi işlerken kullanılabilirler. Mobil uygulama, alınan bir push bildirimi alındığında veya tıklandığında tetiklenen özel tetikleyicilere sahiptir.
Anlık bildirim tetikleyicileri, yukarıdaki ek metin parametrelerinden veriler içerir. Örnek olarak, tetik tıklandığında Data parametresinde iletilen bilgilerle birlikte ekranda başka bir bildirim görüntüleyen en basit işlemi verebiliriz.
Tetikleyiciler için bir başka popüler kullanım durumu, bildirimlerin teslimi hakkında bilgi toplamaktır. Örneğin, sunucuya bir Push bildiriminin gerçekten teslim edildiğini belirten bir mesaj gönderebilir, istatistik toplayabilir ve bildirimlere yapılan tıklama sayısını sayabilirler.