Webhook entegrasyonunu kurma
Adapty webhook entegrasyonu şu adımlardan oluşur:
- Endpoint’inizi kurarsınız:
- Sunucunuzun Content-Type başlığı
application/jsonolarak ayarlanmış Adapty isteklerini işleyebildiğinden emin olun. - Sunucunuzu Adapty’nin doğrulama isteğini alacak ve herhangi bir
2xxdurum koduyla JSON gövdesiyle yanıt verecek şekilde yapılandırın. - Bağlantı doğrulandıktan sonra abonelik olaylarını işleyin.
- Sunucunuzun Content-Type başlığı
- Webhook entegrasyonunu yapılandırıp etkinleştirirsiniz Adapty Kontrol Paneli’nden. Ayrıca Adapty olaylarını özel olay adlarıyla eşleştirebilirsiniz. Üretime geçmeden önce Sandbox ortamında test etmenizi öneririz.
- Adapty sunucunuza bir doğrulama isteği gönderir.
- Sunucunuz
2XXdurum kodu ve JSON gövdesiyle yanıt verir. - Adapty geçerli bir yanıt aldığında abonelik olaylarını göndermeye başlar.
Adapty isteklerini işlemek için sunucunuzu kurma
Adapty, webhook endpoint’inize 2 tür istek gönderir:
- Doğrulama isteği: Bağlantının doğru kurulduğunu doğrulamak için gönderilen ilk istek. Bu istek herhangi bir olay içermez ve Adapty Kontrol Paneli’nin Webhook entegrasyonunda Save düğmesine tıkladığınız anda gönderilir. Endpoint’inizin doğrulama isteğini başarıyla aldığını onaylamak için doğrulama yanıtıyla cevap vermeniz gerekir.
- Abonelik olayı: Adapty sunucusunun bir olay oluşturulduğunda gönderdiği standart istek. Sunucunuzun belirli bir yanıt vermesi gerekmez; Adapty sunucusunun ihtiyacı olan tek şey, mesajı başarıyla alması durumunda standart 200 kodlu bir HTTP yanıtıdır.
Doğrulama isteği
Adapty Kontrol Paneli’nde webhook entegrasyonunu etkinleştirdikten sonra Adapty, gövde olarak boş bir JSON nesnesi {} içeren bir POST doğrulama isteği gönderir.
Endpoint’inizin Content-Type header’ını application/json olarak ayarlayın; yani sunucunuzun endpoint’i, gelen webhook isteğinin yükünün JSON formatında olmasını beklemelidir.
Sunucunuz 2xx durum koduyla yanıt vermeli ve örneğin şu şekilde geçerli bir JSON yanıtı göndermelidir:
{}
Adapty doğrulama yanıtını doğru formatta ve 2xx durum koduyla aldığında, Adapty webhook entegrasyonunuz tam olarak yapılandırılmış olur.
Abonelik olayları
Abonelik olayları, Content-Type başlığı application/json olarak ayarlanmış şekilde gönderilir ve JSON formatında olay verisi içerir. Olası olay türleri ve istek yapıları için Webhook olay türleri ve alanları sayfasına bakın.
Adapty Kontrol Paneli’nde webhook entegrasyonunu yapılandırma
Adapty’de, Apple veya Stripe sandbox ortamından ya da Google test hesabından alınan test olayları ve üretim olayları için ayrı akışlar yapılandırabilirsiniz.
Üretim olayları için, geri çağrıların gönderileceği URL’yi belirten Production endpoint URL alanını kullanın. Ayrıca Authorization header value for production endpoint alanını da yapılandırın; bu başlık, sunucunuzun Adapty olaylarını doğrulaması için kullanılır. Authorization header value for production endpoint alanında belirtilen değerin, herhangi bir değişiklik veya ekleme yapılmadan Authorization başlığı olarak aynen kullanılacağını unutmayın.
Test olayları için Sandbox endpoint URL ve Authorization header value for sandbox endpoint alanlarını kullanın.
Webhook entegrasyonunu kurmak için:
- Adapty Kontrol Paneli’nde Integrations -> Webhook sayfasını açın.
-
Entegrasyonu başlatmak için geçiş düğmesini açın.
-
Entegrasyon alanlarını doldurun:
Alan Açıklama Production endpoint URL Adapty’nin üretimdeki olaylar için HTTP POST istekleri göndermek üzere kullandığı URL. Authorization header value for production endpoint Sunucunuzun üretimdeki Adapty isteklerini doğrulamak için kullanacağı başlık. Bu alanda belirtilen değerin, herhangi bir değişiklik veya ekleme yapılmadan
Authorizationbaşlığı olarak aynen kullanılacağını unutmayın.Zorunlu olmamakla birlikte, güvenliği artırmak için kullanılması önemle tavsiye edilir.
Sandbox ortamındaki test ihtiyaçlarınız için iki ek alan daha mevcuttur:
Test alanı Açıklama Sandbox endpoint URL Adapty’nin sandbox ortamındaki olaylar için HTTP POST istekleri göndermek üzere kullandığı URL. Authorization header value for sandbox endpoint Sunucunuzun sandbox ortamında test sırasında Adapty isteklerini doğrulamak için kullanacağı başlık. Bu alanda belirtilen değerin, herhangi bir değişiklik veya ekleme yapılmadan
Authorizationbaşlığı olarak aynen kullanılacağını unutmayın.Zorunlu olmamakla birlikte, güvenliği artırmak için kullanılması önemle tavsiye edilir.
-
(isteğe bağlı) Almak istediğiniz olayları seçin ve adlarını eşleştirin. Farklı durumlarda hangi olayların tetiklendiğini görmek için Olay akışları sayfasına göz atın.
Olay ID’leriniz Adapty’de kullanılanlardan farklıysa, sisteminizdeki ID’leri olduğu gibi tutun ve Integrations -> Webhooks sayfasının Events names bölümünde varsayılan Adapty olay ID’lerini kendinizinkilerle değiştirin.
Olay ID’si herhangi bir dize olabilir; webhook işleme sunucunuzdaki olay ID’sinin Adapty Kontrol Paneli’ne girdiğinizle eşleştiğinden emin olun. Etkinleştirilmiş olaylar için olay ID alanını boş bırakamazsınız.
-
Ek alanlar ve seçenekler zorunlu değildir; gerektiğinde kullanın:
Ayar Açıklama Send Trial Price Etkinleştirildiğinde, Adapty Trial Started olayı için price_localveprice_usdalanlarına abonelik fiyatını ekler.Exclude Historical Events Kullanıcının Adapty SDK ile uygulamayı yüklemesinden önce gerçekleşen olayları hariç tutmayı seçin. Bu, olayların tekrarlanmasını önler ve doğru raporlamayı sağlar. Örneğin, bir kullanıcı 10 Ocak’ta aylık abonelik başlattıysa ve 6 Mart’ta Adapty SDK ile uygulamayı güncellediyse, Adapty 6 Mart öncesindeki olayları atlayıp sonraki olayları saklar. Send user attributes Dil tercihleri gibi kullanıcıya özgü nitelikleri göndermek için bu seçeneği etkinleştirin. Bu nitelikler user_attributesalanında görünecektir. Daha fazla bilgi için Olay alanları bölümüne bakın.Send attribution Attribution bilgilerini (örn. AppsFlyer verileri) attributionsalanına eklemek için bu seçeneği açın. Ayrıntılar için Attribution verisi bölümüne bakın.Send Play Store purchase token Gerektiğinde satın alma yeniden doğrulaması için gereken Play Store token’ını almak üzere bu seçeneği açın. Etkinleştirildiğinde olaya play_store_purchase_tokenparametresi eklenir. İçeriği hakkında ayrıntılar için Play Store purchase token bölümüne bakın. -
Değişiklikleri onaylamak için Save düğmesine tıklamayı unutmayın.
Save düğmesine tıkladığınız anda Adapty bir doğrulama isteği gönderir ve sunucunuzun doğrulama yanıtını bekler.
Gönderilecek olayları seçme ve olay adlarını eşleştirme
Yanındaki geçiş düğmesini etkinleştirerek sunucunuzda almak istediğiniz olayları seçin. Olay adlarınız Adapty’dekilerden farklıysa ve kendi adlarınızı korumak istiyorsanız, Integrations -> Webhooks sayfasının Events names bölümünde varsayılan Adapty olay adlarını kendinizinkilerle değiştirerek eşleştirme yapabilirsiniz.
Olay adı herhangi bir dize olabilir. Etkinleştirilmiş olaylar için alanları boş bırakamazsınız. Adapty olay adını yanlışlıkla sildiyseniz, adı her zaman Üçüncü taraf entegrasyonlarına gönderilecek olaylar konusundan kopyalayabilirsiniz.
Webhook olaylarını işleme
Webhook’lar genellikle olay gerçekleştikten 5 ila 60 saniye içinde iletilir. Ancak iptal olayları, kullanıcı aboneliğini iptal ettikten sonra iletilmesi 2 saate kadar sürebilir. Sunucunuzun yanıt durum kodu 200-404 aralığının dışındaysa Adapty, olayı üstel geri çekilme (exponential backoff) yöntemiyle 24 saat boyunca 9 defaya kadar yeniden göndermeye çalışır. Webhook’unuzu, yanıt vermeden önce Adapty’den gelen olay gövdesinin yalnızca temel doğrulamasını yapacak şekilde kurmanızı öneririz. Sunucunuz olayı işleyemiyorsa ve Adapty’nin yeniden denemesini istemiyorsanız 200-404 aralığında bir durum kodu kullanın. Ayrıca zaman alan görevleri asenkron olarak ele alın ve Adapty’ye hızlıca yanıt verin. Adapty 10 saniye içinde yanıt alamazsa girişimi başarısız sayar ve yeniden dener.