Flow aksiyonlarına yanıt verme - Unity

Adapty Flow Builder veya Paywall Builder kullanarak flow’lar ya da paywalllar oluşturuyorsanız, butonları doğru şekilde yapılandırmanız son derece önemlidir:

  1. Builder’da bir buton ekleyin ve ona mevcut bir eylem atayın ya da özel bir eylem ID’si oluşturun.
  2. Atadığınız her eylemi işlemek için uygulamanıza kod yazın.

Bu kılavuz, kodunuzda özel ve mevcut eylemleri nasıl işleyeceğinizi gösterir.

Yalnızca satın almalar ve geri yüklemeler otomatik olarak işlenir. Flow’ları kapatmak veya bağlantı açmak gibi diğer tüm buton eylemleri, uygulama kodunda uygun bir yanıt implementasyonu gerektirir.

Flow olayları dinleyicisini ayarlayın

Flow aksiyonlarını yönetmek için IAdaptyFlowsEventsListener arayüzünü uygulayın ve Adapty.SetFlowsEventsListener() ile kaydedin. Bu işlem uygulamanızın yaşam döngüsünün başında, genellikle ana sahnenizde veya uygulama başlatma kodunuzda yapılmalıdır.

using AdaptySDK;

public class FlowsListener : MonoBehaviour, IAdaptyFlowsEventsListener
{
    void Start()
    {
        Adapty.SetFlowsEventsListener(this);
    }

    // implement all IAdaptyFlowsEventsListener methods here
}

IAdaptyFlowsEventsListener, tüm metotlarını uygulamanız gereken bir C# arayüzüdür — tam liste için bkz. Flow & paywall olaylarını yönetme. Aşağıdaki örnekler yalnızca FlowViewDidPerformAction metodunu göstermektedir.

Tüm buton eylemleri, FlowViewDidPerformAction(view, action) callback’ine Close, SystemBack, OpenUrl veya Custom türünde bir Type ile birlikte isteğe bağlı bir Value (URL veya özel eylem kimliği) içeren bir AdaptyUIUserAction nesnesi olarak ulaşır.

Flow’ları ve paywall’ları kapatma

Flow’unuzu veya paywall’ınızı kapatacak bir buton eklemek için:

  1. Builder’da bir buton ekleyin ve Close eylemini atayın.
  2. Uygulama kodunuzda, flow’u kapatan Close eylemi için bir işleyici uygulayın.

Kapatılan bir görünüm yok edilir ve tekrar gösterilemez. Flow’u bir kez daha görüntülemek için CreateFlowView’ı tekrar çağırın.

public void FlowViewDidPerformAction(
    AdaptyUIFlowView view,
    AdaptyUIUserAction action
) {
    switch (action.Type) {
        case AdaptyUIUserActionType.Close:
            view.Dismiss(null);
            break;
        default:
            // handle other events
            break;
    }
}

Android sistem geri düğmesini yönetme

Android sistem geri düğmesine basmak (veya geri hareketini kullanmak), SystemBack türünde bir eylem tetikler. Bu eylem flow’u kendiliğinden kapatmaz — flow açık kalır ve kullanıcı, builder’da tanımladığınız bir yol üzerinden (örneğin bir Close düğmesi veya on_device_back eylemi) flow’dan çıkar. Sistem geri düğmesinin flow’u kapatmasını istiyorsanız, eylemi kendiniz ele alın:

public void FlowViewDidPerformAction(
    AdaptyUIFlowView view,
    AdaptyUIUserAction action
) {
    switch (action.Type) {
        case AdaptyUIUserActionType.Close:
        case AdaptyUIUserActionType.SystemBack:
            view.Dismiss(null);
            break;
        default:
            // handle other events
            break;
    }
}

Flow ve paywall’lardan URL açma

Bir grup bağlantı eklemek istiyorsanız (örneğin, kullanım koşulları ve satın alma geri yükleme), builder’da bir Link öğesi ekleyin ve bunu Open URL eylemine sahip butonlarla aynı şekilde işleyin.

Flow’unuzdan veya paywall’ınızdan bir bağlantı açan bir buton eklemek için (örneğin, Terms of use veya Privacy policy):

  1. Builder’da bir buton ekleyin, Open URL eylemini atayın ve açmak istediğiniz URL’yi girin.
  2. Uygulama kodunuzda, alınan URL’yi açan OpenUrl eylemi için bir işleyici uygulayın.

AdaptyUI.OpenUrl metodunu kullanarak URL’yi yerel olarak açın; builder’da yapılandırılan harici veya uygulama içi tarayıcı seçeneğine (action.OpenIn) uyun:

public void FlowViewDidPerformAction(
    AdaptyUIFlowView view,
    AdaptyUIUserAction action
) {
    switch (action.Type) {
        case AdaptyUIUserActionType.OpenUrl:
            var urlString = action.Value;
            if (!string.IsNullOrWhiteSpace(urlString)) {
                AdaptyUI.OpenUrl(
                    urlString,
                    action.OpenIn ?? AdaptyWebPresentation.ExternalBrowser,
                    (error) => {
                        // handle the error
                    }
                );
            }
            break;
        default:
            // handle other events
            break;
    }
}

Uygulamaya giriş yapma

Kullanıcıların uygulamanıza giriş yapmasını sağlayan bir buton eklemek için:

  1. Builder’da bir buton ekleyin ve Custom eylemini login ID’siyle atayın.
  2. Uygulama kodunuzda, kullanıcınızı tanımlayan login özel eylemi için bir işleyici uygulayın.
public void FlowViewDidPerformAction(
    AdaptyUIFlowView view,
    AdaptyUIUserAction action
) {
    switch (action.Type) {
        case AdaptyUIUserActionType.Custom:
            if (action.Value == "login") {
                // Navigate to login scene
                SceneManager.LoadScene("LoginScene");
            }
            break;
        default:
            // handle other events
            break;
    }
}

Özel işlemleri yönetin

Başka işlemleri yöneten bir buton eklemek için:

  1. Builder’da bir buton ekleyin, Custom eylemini atayın ve bir ID verin.
  2. Uygulama kodunuzda, oluşturduğunuz eylem ID’si için bir işleyici uygulayın.

Örneğin, başka bir abonelik teklifi veya tek seferlik satın alma seçeneğiniz varsa, başka bir flow veya paywall görüntüleyen bir buton ekleyebilirsiniz:

public void FlowViewDidPerformAction(
    AdaptyUIFlowView view,
    AdaptyUIUserAction action
) {
    switch (action.Type) {
        case AdaptyUIUserActionType.Custom:
            if (action.Value == "openNewFlow") {
                // Display another flow or paywall
                ShowAlternativeFlow();
            }
            break;
        default:
            // handle other events
            break;
    }
}

private void ShowAlternativeFlow() {
    // Implement your logic to show an alternative flow
}

Adapty paywall builder kullanarak paywall oluşturuyorsanız, düğmeleri doğru şekilde yapılandırmanız kritik öneme sahiptir:

  1. Paywall builder’a bir düğme ekleyin ve bu düğmeye önceden tanımlanmış bir eylem atayın ya da özel bir eylem kimliği oluşturun.
  2. Atadığınız her eylemi işlemek için uygulamanızda kod yazın.

Bu kılavuz, özel ve önceden tanımlanmış eylemlerin kodunuzda nasıl ele alınacağını gösterir.

Yalnızca satın almalar ve geri yüklemeler otomatik olarak işlenir. Paywallları kapatma veya bağlantı açma gibi diğer tüm düğme eylemleri, uygulama kodunda uygun yanıtların uygulanmasını gerektirir.

Paywallları kapatma

Paywall’ınızı kapatacak bir düğme eklemek için:

  1. Paywall builder’da bir düğme ekleyin ve Close eylemini atayın.
  2. Uygulama kodunuzda, paywall’ı kapatan close eylemi için bir işleyici uygulayın.
public void PaywallViewDidPerformAction(
    AdaptyUIPaywallView view, 
    AdaptyUIUserAction action
) {
    switch (action.Type) {
        case AdaptyUIUserActionType.Close:
            view.Dismiss(null);
            break;
        default:
            // handle other events
            break;
    }
}

Paywall’lardan URL açma

Bir grup bağlantı eklemek istiyorsanız (örneğin, kullanım koşulları ve satın alma geri yükleme), paywall builder’da bir Link öğesi ekleyin ve bunu Open URL eylemine sahip düğmelerle aynı şekilde işleyin.

Paywall’ınızdan bir bağlantı açan bir düğme eklemek için (örneğin, Kullanım Koşulları veya Gizlilik Politikası):

  1. Paywall builder’da bir düğme ekleyin, Open URL eylemini atayın ve açmak istediğiniz URL’yi girin.
  2. Uygulama kodunuzda, alınan URL’yi tarayıcıda açan openUrl eylemi için bir işleyici uygulayın.
public void PaywallViewDidPerformAction(
    AdaptyUIPaywallView view,
    AdaptyUIUserAction action
) {
    switch (action.Type) {
        case AdaptyUIUserActionType.OpenUrl:
            var urlString = action.Value;
            if(!string.IsNullOrWhiteSpace(urlString)) {
                Application.OpenURL(urlString);
            }
            break;
        default:
            // handle other events
            break;
    }
}

Uygulamaya giriş yapma

Kullanıcıların uygulamanıza giriş yapmasını sağlayan bir düğme eklemek için:

  1. Paywall builder’da bir düğme ekleyin ve login ID’siyle Custom eylemini atayın.
  2. Uygulama kodunuzda, kullanıcınızı tanımlayan login özel eylemi için bir işleyici uygulayın.
public void PaywallViewDidPerformAction(
    AdaptyUIPaywallView view,
    AdaptyUIUserAction action
) {
    switch (action.Type) {
        case AdaptyUIUserActionType.Custom:
            if (action.Value == "login") {
                // Navigate to login scene
                SceneManager.LoadScene("LoginScene");
            }
            break;
        default:
            // handle other events
            break;
    }
}

Özel eylemleri yönetme

Diğer eylemleri yöneten bir düğme eklemek için:

  1. Paywall builder’da bir düğme ekleyin, Custom eylemini atayın ve bir ID belirleyin.
  2. Uygulama kodunuzda, oluşturduğunuz eylem ID’si için bir işleyici uygulayın.

Örneğin, başka bir abonelik teklifi veya tek seferlik satın alma seçeneğiniz varsa, başka bir paywall görüntüleyen bir düğme ekleyebilirsiniz:

public void PaywallViewDidPerformAction(
    AdaptyUIPaywallView view,
    AdaptyUIUserAction action
) {
    switch (action.Type) {
        case AdaptyUIUserActionType.Custom:
            if (action.Value == "openNewPaywall") {
                // Display another paywall
                ShowAlternativePaywall();
            }
            break;
        default:
            // handle other events
            break;
    }
}

private void ShowAlternativePaywall() {
    // Implement your logic to show alternative paywall
}