Huawei Push Kit Server Side Entegrasyonu
Merhabalar, bu yazımda sizler için Huawei “push kit” entegrasyonu nasıl yapılır? ve Nelere dikkat etmeliyiz? Sorularının cevaplarını derledim. Şimdiden keyifle okumalar dilerim.
Projede Kullanılan Teknolojiler
Beraber inceleyeceğimiz bu örnekte aşağıda belirttiğim teknolojiler kullanıldı.
- Java 1.8
- Spring Boot
Entegrasyon Süreci ve Adımları
Huawei push kit HTTPS isteklerini destekler. Diğer bir ifadeyle uygulamanız push kit servislerini çağırarak bir push mesaj isteği gönderebilir. Bu örnekte push notification mesajı üzerinden ilerleyeceğiz.
İlk olarak uygulamanızın client ile iletişim kurabilmesi için bir access token elde etmelisiniz. Acces token elde etme işlemi hakkında daha fazla bilgiye buradan ulaşabilirsiniz.
Push Notification Gönderme Sürecini Başlatmak
1. Servis Bilgileri — Access Token Alma
Protocol : HTTSP POST
Yön : Uygulamanızın sunucusu → HUAWEI Account Kit server
URL : https://oauth-login.cloud.huawei.com/oauth2/v2/token
Veri Formatı
Request : Content-Type: application/x-www-form-urlencoded
Response : Content-Type: application/json;charset=UTF-8
2 . Servis Bilgileri — Notification Mesajı Gönderme
Protocol : HTTSP POST
Yön : Uygulamanızın sunucusu → Huawei Push Kit server
URL : https://push-api.cloud.huawei.com/v1/[appid]/messages:send
Veri Formatı
Request: Content-Type: application/json
Response: Content-Type: application/json
Servis Parametreleri
appid : Uygulama id’si
Zorunlu bir parametredir ve veri tipi String’ dir
Push Request - Header
Authorization: 1. adımda elde edilen acces token bilgisidir. Örnek parametre formatı : Bearer ‘acces_token’
Bearer ile access_token değeri arasına mutlaka bir boşluk karakteri eklenmelidir. Siz burada acces_token’ı kendi uygulamanızın acces token’ı ile değiştirdiğinizde aşağıdaki gibi bir yapı elde edeceksiniz.
Bearer CF3Xl2XV6jMKZgqYSZFws9IPlgDvxqOfFSmrlmtkTRupbU2VklvhX9kC9JCnKVSDX2VrDgAPuzvNm3WccUIaDg ==
Push Request — Body
validate_only: Bu parametre bir mesajın test mesajı olup olmadığını gösterir. Test mesajı yalnızca format geçerliliğini doğrulamak için kullanılır ve kullanıcı cihazlarına gönderilmez. Zorunlu bir alan değildir ve default değer false olarak ayarlanmıştır.
- true : test mesajı
- false : resmi mesaj
Message: Gönderilecek olan notification mesajıdır ve karşılaması gereken format ile içermesi gereken zorunlu veriler vardır. Message parametresinin detaylarına buradan ulaşabilirsiniz. Projemizde kullanılan mesaj yapısı aşağıdaki gibidir.
Push Response — Body
Servisten dönen cevap aşağıda belirtilen formatta olacaktır.
Servis bize başarı ve hata durumlarında bir kod ve mesaj dönmektedir. Başarı durumunda bu kod 80000000'dir.
Burada en sık karşılaşabileceğiniz hata servisi geçerli bir request yapısıyla çağırmamaktır. Bu durumda servisten dönecek hata kodu ve mesajı 80100003 — Incorrect message structure şeklindedir.
Huawei Push Kit ile Notification Gönderme
Notification mesajını oluşturma: Uygulamanız için geçerli olan acces token’ı başarılı bir şekilde elde ettikten sonra göndereceğiniz notification mesajını oluşturmalısınız. Notification mesajını oluştururken yukarıda belirtilen sınıf yapılarına bire bir uymak zorundasınız. En tepedeki sınıfımız pushMessage.java sınıfıdır ve push servisinin ana request parametresidir.
Push servisinin request ve response formatı application/json olduğu için 10.satırda pushMessage objemizi jsona çeviriyoruz.
ClickAction: Notification mesajına tıklandığında gerçekleşecek olayı belirler. Biz projemizde ClickAction tipi olarak 3 kullanacağız yani mesaja tıklandığında uygulamamızın ana sayfası açılacak.
- 1: Uygulamanızdaki belirli bir sayfayı açar.
- 2: Sizin tarafınızdan verilen URL açar.
- 3: Uygulamayı açar/başlatır.
collapse_key : Push Kit server tarafından çevrimdışı bir kullanıcıya gönderilen mesajların kullanıcı çevrim içi olduktan sonra yönetilmesini sağlar. Biz projemiz collapse_key’i 0 olarak kullandık. Bunun anlamı uygulama tarafından kullanıcı cihazına gönderilen en son çevrimdışı mesaj önbelleğe alınması ve sadece son mesajın kullanıcıya iletilmesidir.
urgency: Bir veri mesajının teslim önceliğini belirtir.
- NORMAL
- HIGH : Yalnızca kurum içi iletişim veya VoIP telefon işlevini destekleyen uyarı uygulamaları için kullanılabilir. Hedef cihaza bir notification mesajı ulaştığında, ilgili uygulama doğrudan başlatılır.
Bu yazımda sizlerle paylaşmayı planladığım başlıkların sonuna geldik. Bir sonraki yazımda görüşmek dileğiyle.