Skill'ler SDK entegrasyonu, flow ve paywall oluşturma, yayın öncesi denetim, placement taşıma ve daha fazlasını kapsar. Görevi kendi cümlelerinizle anlatın, ajanınız doğru skill'i seçsin.
Arka ucunuzun URL’sinin App Store Connect’te kalması gerekiyorsa, App Store sunucu bildirimlerini arka ucunuzdan Adapty’ye değişiklik yapmadan iletin. Arka ucunuzun URL’sinin App Store Connect’te olması gerekmiyorsa, bunun yerine Adapty’de arka ucunuza yönlendirme kurulumu yapın. Bu yöntem için kod yazmaya gerek yoktur.
Adapty, arka ucunuzdan gelen bildirimleri Apple doğrudan göndermiş gibi işler. Refund Saver ile Adapty, bunlar arasındaki iade taleplerini yanıtlamaya devam eder.
Eğer backend’iniz Google Play’den gerçek zamanlı geliştirici bildirimlerini kendi Pub/Sub konusu aracılığıyla alıyorsa, bunları Adapty’ye iletmek için herhangi bir kod yazmanıza gerek yoktur. O konuya Adapty için bir push aboneliği ekleyin.
App Store sunucu bildirimlerini Adapty’ye iletmek için:
Adapty’de bağladığınız uygulamayı açın: her Adapty uygulamasının kendine ait bir bildirim URL’si vardır. App settings > iOS SDK sayfasına gidin. App Store server notifications bölümünde, URL for App Store server notifications alanındaki URL’yi kopyalayın.
Backend’inizde, Apple’dan gelen her bildirimi kopyaladığınız URL’ye gönderin. Her istekte:
Apple’dan gelen body’yi değiştirmeden bırakın: {"signedPayload": "…"}.
Content-Type: application/json başlığını ekleyin.
Authorization başlığı eklemeyin.
Adapty bildirimlerinizi backend’inize de iletiyorsa, bunları tekrar Adapty’e göndermeyin.
String url = "https://api.adapty.io/api/v1/sdk/apple/webhook/123a258e62fad41bfa734f4b0dbcad45/"; // don't forget to replace this URLString payload = "{\"signedPayload\":\"eyJhbGciOiJFUzI1NiIs...\"}"; // Apple's request body, unchangedOkHttpClient client = new OkHttpClient().newBuilder() .build();MediaType mediaType = MediaType.parse("application/json");RequestBody body = RequestBody.create(mediaType, payload);Request request = new Request.Builder() .url(url) .method("POST", body) .addHeader("Content-Type", "application/json") .build();Response response = client.newCall(request).execute();
package main "fmt" "strings" "net/http")func main() { url := "https://api.adapty.io/api/v1/sdk/apple/webhook/123a258e62fad41bfa734f4b0dbcad45/" // Replace this with the actual URL payload := strings.NewReader(`{"signedPayload":"eyJhbGciOiJFUzI1NiIs..."}`) // Apple's request body, unchanged method := "POST" client := &http.Client{} req, err := http.NewRequest(method, url, payload) if err != nil { fmt.Println("Error creating request:", err) return } req.Header.Add("Content-Type", "application/json") res, err := client.Do(req) if err != nil { fmt.Println("Error sending request:", err) return } defer res.Body.Close()}
200 yanıtı, Adapty’nin bildirimi kullanabildiğini doğrulamaz. Adapty, imzalı payload’ı çözmeden önce yanıt verir. Bildirimlerin Adapty’ye ulaştığını doğrulamak için bir sandbox satın alma işlemi gerçekleştirin. Ardından App Store server notifications bölümündeki bildirim durumununActive olduğundan emin olun.