Ödül ürünlere özgü özellikler ekleyin

Kullanıcılarınız için uygulama içi ürünlerin ve avantajların kilidini açmanın bir yöntemi de ödüllü ürünler veya kullanıcıların videoyu izledikten sonra aldıkları öğeler daha fazla bilgi edineceksiniz. Ödüllü ürünler sunarak kullanıcıların uygulama içi satın alma işlemi gerçekleştirmelerine olanak tanırsınız. ödüller ve avantajlar sağlar.

Bu dokümanda, ödüllü reklamlara özgü işlevlerin nasıl uygulanacağı açıklanmaktadır ürünler. Bu sayfanın iş akışı şeması bölümü sürecin bir örneğidir.

Uygulamanızın ödüllü ürünlerini belirleyin

Ödüllü ürünlerde SkuType / INAPP. Kullanıcıların birden fazla reklam izleyip birden fazla ödül kazanabilmelerini sağlamak için emin olmanız gerekir.

Bir kullanıcıya ödül ürün sunabilmeniz için önce Şu için SkuDetails: belirler. Bunun için şu numarayı arayın: querySkuDetailsAsync() SkuType.INAPP içeriyor.

Yaşa uygun reklamları bildirme

Çocuklarla ilgili yasal yükümlülüklere uygunluğu kolaylaştırmak ve dahil olmak üzere, reşit olmayan kullanıcılar için Çocukların Çevrimiçi Gizliliğini Koruma Yasası (COPPA) ve Genel Veri Koruma Yönetmeliği (GDPR), uygulamanız, ABD'de hangi reklamların çocuklara yönelik olarak değerlendirilmesi gerektiğini beyan etmelidir. geçerli olan yaş sınırının altındaki kullanıcılara yönelik reklamlar ve reklamlar iletişim kurabiliyorlar. AdMob Yardım Merkezi'nde, reklam isteklerinizi ne zaman çocuklara yönelik olarak etiketlemeniz gerektiği açıklanmaktadır. ve ne zaman bunları reşit olma yaşının altındakiler için etiketle ile ve etkisini konuşacağız.

Uygulamanızın faturalandırma istemcisini oluştururken ödüllü reklamın isteklerin çocuklara yönelik olarak değerlendirilmesi veya yönlendirilmesinin gerekip gerekmediği reşit olma yaşının altındaki kullanıcılara. Reklam isteklerinde olduğunu düşünüyorsanız setChildDirected() ve setUnderAgeOfConsent() uygun değerleri iletir.

Aşağıdaki kod snippet'i, video reklamların çocuklar veya reşit olma yaşının altındaki kullanıcılar için uygun:

Kotlin

val billingClient = BillingClient.newBuilder(context)
        .setListener(this)
        .setChildDirected(ChildDirected.CHILD_DIRECTED)
        .setUnderAgeOfConsent(UnderAgeOfConsent.UNDER_AGE_OF_CONSENT)
        .build()

Java

BillingClient billingClient =
    BillingClient.newBuilder(context)
        .setListener(this)
        .setChildDirected(ChildDirected.CHILD_DIRECTED)
        .setUnderAgeOfConsent(UnderAgeOfConsent.UNDER_AGE_OF_CONSENT)
        .build();

Video reklam yükle

Kullanıcıya bir video reklam izleme seçeneği göstermeden önce, videoyu yüklemeniz gerekir. Bunu yapmak için RewardLoadParams nesnesiyle ilişkilendirerekSkuDetails ödül ürünü temsil eder. Ardından, faturalandırma müşterinizin loadRewardedSku() yöntemini kullanarak RewardLoadParams nesnesini ve bir RewardResponseListener nesnesini tanımlayın.

Video bittiğinde RewardResponseListener dinleyicisine bildirim gönderilir yükleniyor. Video mevcut değilse veya başka bir video yoksa dinleyiciye de bildirim gönderilir. sunucu zaman aşımı gibi bir hata oluşur.

Hesabınızla ilişkilendirilmiş videoları yüklerken cihaz performansını korumak için uygulamasının ödüllü ürünleri konusunda aşağıdaki en iyi uygulamaları aklınızda bulundurun:

  • Tek seferde en fazla üç ödül ürün SKU'su yükleyin.
  • Kullanıcı uygulamanıza her girdiğinde videoları yüklemeyi deneyin. Bu adım, videoların hâlâ yüklü ve kullanılabilir olup olmadığını kontrol edebilirsiniz.
  • Videoların ne zaman yükleneceğine karar verirken bant genişliği arasındaki dengeyi seçin size en uygun kullanım ve uygulama yanıt verme özellikleridir:

    • En kısa sürede, şu adım için getSkuDetails() adlı kişiyi aradıktan sonra videoları yükleyin ilişkili ödüllü ürün olabilir. Uygulamanız çok duyarlı olmaya devam ediyor, ancak Kullanıcıların hiç izlemediği bir videoyu yükleyerek ağ verilerini boşa harcamalıdır.
    • En azından, kullanıcı, videonun gösterileceği anlamına gelir. Uygulamanız bu durumda bant genişliğini nadiren harcıyor ancak kullanıcının, düğmeyi tıklayarak videoyu izlemesi için birkaç dakika video tıklanabilir hale gelir.

Aşağıdaki kod snippet'i, Kullanıcı ödüllü ürünü almadan önce oynatılır:

Kotlin

if (skuDetails.isRewarded()) {
    val params = RewardLoadParams.Builder()
            .setSkuDetails(skuDetails)
            .build()
    mBillingClient.loadRewardedSku(params.build(),
            object : RewardResponseListener {
        override fun onRewardResponse(@BillingResponse responseCode : Int) {
            if (responseCode == BillingResponse.OK) {
                // Enable the reward product, or make
                // any necessary updates to the UI.
            }
        }
    })
}

Java

if (skuDetails.isRewarded()) {
    RewardLoadParams.Builder params = RewardLoadParams.newBuilder();
    params.setSkuDetails(skuDetails);
    mBillingClient.loadRewardedSku(params.build(),
        new RewardResponseListener() {
            @Override
            public void onRewardResponse(int responseCode) {
                if (responseCode == BillingResponse.OK) {
                      // Enable the reward product, or make
                      // any necessary updates to the UI.
                  }
            }
        });
}

Kullanıcılara ödüllü alışverişler verin

Google Play Faturalandırma Kitaplığı, ödül ürün (RewardResponseListener, ödül olarak bir ürün) responseCode / BillingResponse.OK: Siz faturalandırma akışını başlatabilirsiniz.

Telefon ederek bir ödül ürün için reklam oynatmaya başlıyorsunuz launchBillingFlow() yaptığınız gibi uygulama içi reklamlardaki ürünler. Her ne kadar ödül ürün almak için doğrudan satın alma işlemi yapmasa bile faturalandırma akışını etkinleştirmeniz gerekir. Böylece kullanıcının belirler.

Satın alınan ürünü kullanma

Faturalandırma müşterinize bir kullanıcının ödül aldığını ve tükettiğini bildirmek için kullanıcıların ihtiyaçlarını hesabınızdaki faturalandırma müşterisi dinleyici onPurchasesUpdated() yöntemidir. Ödüllü satın alma işlemlerinin tüketilmesi gerektiğini unutmayın.

Ödül ürünlerinizi test edin

Uygulamanızın video reklamları nasıl yüklediğini ve kullanıcılara nasıl ödüllü ürünler sağladığını test etmek için: gerçek yerine varsayılan olarak test reklamları alan lisanslı test kullanıcılarından yararlanma girin. Bu test kullanıcıları için nasıl hesap oluşturacağınızı öğrenmek istiyorsanız Google'da kullanıcı testi Play Faturalandırma uygulaması.

Diğer bir test yöntemi de android.test.reward ürününü kullanmaktır Kimlik. Bu ürün, Google Play Faturalandırma'da ayrılmış bir ad olduğundan uygulamayı Play Console'da uygulama içi ürünler listenize eklemeniz gerekmez.

Dikkat: Uygulamanızın ödüllü ürünlerini test ederken gerçek ürünler; Aksi takdirde, hesabınız spam veya sahte hesap.

Ancak, testleri tamamladıktan sonra, Gerçek ödülünüzün ürün kimliklerini içeren android.test.reward kontrol etmenizi öneririz.

Ödüllü ürün iş akışı şeması

Aşağıdaki sıra şemasında kullanıcının, uygulamanızın ve Google Play Faturalandırma Kitaplığı birlikte çalışarak bir video reklam gösterir ve Kullanıcının ödüllü ürüne erişimi:

Ödüllü ürünler protokolünü gösteren sıra şeması
Şekil 1. Ödül ürün satın alma işlemini tamamlama adımları (Google Play Faturalandırma'yı kullanarak)
'nı inceleyin.