Dodawanie funkcji związanych z nagrodą

Jedną z metod na odblokowywanie produktów w aplikacji i związanych z nimi korzyści dla użytkowników jest utworzenie produkty z nagrodą, czyli produkty, które użytkownicy otrzymują po obejrzeniu filmu. reklama. Udostępniając reklamy wideo z nagrodą, umożliwiasz użytkownikom uzyskiwanie nagród w aplikacji nagród i korzyści bez konieczności dokonywania bezpośrednich zakupów.

Ten dokument wyjaśnia, jak wdrożyć funkcje reklam z nagrodą usług. Sekcja diagram przepływu pracy na tej stronie ilustruje ten proces.

Rozpoznawanie nagród za obejrzenie reklamy wideo w aplikacji

Nagrody za obejrzenie reklamy wideo mają SkuType z INAPP Aby użytkownicy mogli obejrzeć kilka reklam i zdobyć wiele nagród, oraz produktów i usług.

Aby móc zaoferować użytkownikowi nagrodę za obejrzenie reklamy wideo, musisz uzyskać SkuDetails dla usługi. W tym celu wywołaj querySkuDetailsAsync() z SkuType.INAPP jako typem produktu.

Deklarowanie reklam dostosowanych do wieku

Ułatwianie wypełnienia obowiązków prawnych związanych z dziećmi oraz niepełnoletnich użytkowników, w tym amerykańskiej ustawy o ochronie prywatności dzieci w internecie (Children's Online Privacy Protection Act); (COPPA) i Ogólnego rozporządzenia o ochronie danych (RODO), aplikacja powinna zadeklarować, które reklamy powinny być traktowane jako skierowane do dzieci w Stanach Zjednoczonych oraz które reklamy są kierowane do użytkowników, którzy nie osiągnęli obowiązującego w danym kraju wieku świadomego wyrażenia zgody ich kraju. AdMob Kiedy należy tagować żądania reklamy jako skierowane do dzieci? terapie i kiedy mogą oznaczyć je jako osoby, które nie osiągnęły wieku świadomego wyrażenia zgody; , a także skutków takiego postępowania.

Tworząc konto klienta aplikacji do rozliczeń, zastanów się, czy reklama z nagrodą żądania powinny być traktowane jako dotyczące treści skierowanych do dzieci, czy też powinny być skierowane do użytkowników, którzy nie osiągnęli wieku świadomego wyrażenia zgody. Jeśli żądania reklamy powinny zawierać te wartości: z obowiązującymi ograniczeniami, wywołaj funkcję setChildDirected() oraz setUnderAgeOfConsent() i przekazywanie odpowiednich wartości do każdej z nich.

Fragment kodu poniżej pokazuje, jak zadeklarować, że reklamy wideo powinny być odpowiednie dla dzieci lub użytkowników, którzy nie osiągnęli wieku świadomego wyrażenia zgody:

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();

Wczytaj reklamy wideo

Przed wyświetleniem użytkownikowi opcji obejrzenia reklamy wideo w celu uzyskania w reklamie z nagrodą, musisz wczytać film. Aby to zrobić, utwórz RewardLoadParams, wiążąc go z obiektem SkuDetails, który określa nagrodę za obejrzenie reklamy wideo. Następnie zadzwoń pod numer loadRewardedSku() i przekazywać obiekty RewardLoadParams oraz RewardResponseListener obiektu.

Detektor RewardResponseListener otrzyma powiadomienie o zakończeniu odtwarzania filmu wczytuję. Słuchacz otrzyma również powiadomienie, jeśli film będzie niedostępny lub inny takich jak przekroczenie limitu czasu serwera.

Aby zachować wydajność urządzenia podczas wczytywania filmów powiązanych z reklam wideo z nagrodą w aplikacji, pamiętaj o tych sprawdzonych metodach:

  • Możesz wczytać maksymalnie 3 kody SKU reklam z nagrodą jednocześnie.
  • Staraj się wczytywać filmy za każdym razem, gdy użytkownik otworzy aplikację. Ten krok pomaga sprawdzisz, czy filmy są nadal wczytywane i dostępne.
  • Podejmując decyzję o tym, kiedy wczytywać filmy, wybierz równowagę między przepustowością użytkowania i czasu reagowania aplikacji, które będą najlepsze w Twoim przypadku użycia:

    • Wczytaj filmy najwcześniej po wywołaniu przez: getSkuDetails() powiązanych reklam wideo z nagrodą. Aplikacja pozostaje bardzo elastyczna, ale możesz marnuje dane sieci podczas wczytywania filmu, którego użytkownik nigdy nie ogląda.
    • Najpóźniej wczytaj film, gdy użytkownik przejdzie na stronę, na której który ma zostać wyświetlony. W takiej sytuacji aplikacja rzadko zużywa przepustowość, użytkownik może poczekać chwilę na wyświetlenie przycisku gdy użytkownik kliknie reklamę.

Fragment kodu poniżej pokazuje proces wczytywania reklamy wideo, która odtwarza się, zanim użytkownik otrzyma nagrodę:

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.
                  }
            }
        });
}

Udostępnianie nagród za zakupy użytkownikom

Jeśli Biblioteka płatności w Google Play wczyta film powiązany z kontem nagrodę za obejrzenie reklamy wideo, czyli gdy RewardResponseListener otrzyma nagrodę responseCode z BillingResponse.OK—Ty może uruchomić proces płatności.

Rozpoczynasz odtwarzanie reklam nagród za obejrzenie reklamy wideo przez połączenie launchBillingFlow() Podobnie jak w przypadku wszystkich innych rodzajów reklam w aplikacjach, usług. Mimo że użytkownik nie dokonuje bezpośredniego zakupu w celu otrzymania nagrody, mimo to włącz przepływ płatności, aby użytkownik mógł uzyskać usługi.

Skonsumuj zakup

Aby powiadomić klienta obsługującego płatności, że użytkownik otrzymał i skorzystał z nagrody usługi, obsługuj zakupu na detektor klienta płatności onPurchasesUpdated(). . Pamiętaj, że zakupione nagrody muszą być wykorzystane.

Testowanie reklam wideo z nagrodą

Aby sprawdzić, jak Twoja aplikacja wczytuje reklamy wideo i zapewnia użytkownikom nagrody za obejrzenie reklamy wideo, korzystać z pomocy licencjonowanych testerów, którzy domyślnie widzą reklamy testowe zamiast tych. Więcej informacji o konfigurowaniu kont dla tych testerów znajdziesz w artykule Testowanie przez użytkowników Aplikacja Płatności w Play.

Inną metodą testowania jest użycie usługi android.test.reward ID. Ten produkt jest zarezerwowaną nazwą w Płatnościach w Google Play, więc nie musisz dodawać go do listy produktów w aplikacji w Konsoli Play.

Uwaga: podczas testowania nagród za obejrzenie reklamy wideo w aplikacji nie używaj: rzeczywiste produkty, w przeciwnym razie Twoje konto może zostać oznaczone jako spam lub nielegalnego konta.

Po zakończeniu testów pamiętaj jednak o zastąpieniu android.test.reward z identyfikatorami produktów rzeczywistej reklamy z nagrodą usług przed wdrożeniem wersji produkcyjnej dla użytkowników.

Schemat procesu tworzenia reklamy wideo z nagrodą

Na diagramie poniżej widać, jak użytkownik, Twoja aplikacja Biblioteka płatności w Google Play współpracuje, aby wyświetlać reklamy wideo i przyznawać dostęp użytkownika do nagrody za obejrzenie reklamy wideo:

Schemat sekwencji przedstawiający protokół reklam wideo z nagrodą
Rysunek 1. Instrukcje dotyczące zakupu nagrody za obejrzenie reklamy wideo za pomocą Płatności w Google Play
.