Udostępnij za pośrednictwem


Utwórz niestandardową kampanię promocji aplikacji

Oprócz tworzenia kampanii reklamowej dla aplikacji, która będzie wyświetlana w aplikacjach systemu Windows, możesz również promować swoją aplikację przy użyciu innych kanałów. Na przykład, możesz promować swoją aplikację przy użyciu zewnętrznego dostawcy marketingu aplikacji, lub możesz także opublikować linki do swojej aplikacji w serwisach mediów społecznościowych. Te działania są nazywane kampaniami niestandardowymi.

Jeśli uruchamiasz niestandardowe kampanie dla aplikacji, możesz śledzić względną wydajność każdej kampanii, tworząc inny adres URL dla każdej kampanii niestandardowej, gdzie każdy adres URL zawiera inny identyfikator kampanii . Gdy klient z systemem Windows 10 kliknie adres URL zawierający identyfikator kampanii, firma Microsoft kojarzy kliknięcie z odpowiednią kampanią niestandardową i udostępnia te dane w centrum partnerskim .

Ważny

Te dane są śledzone tylko dla klientów w systemie Windows 10. Klienci korzystający z innych systemów operacyjnych nadal mogą korzystać z linku do listy aplikacji, ale nie zostaną uwzględnione dane dotyczące działań tych klientów.

Istnieją dwa główne typy danych skojarzonych z kampaniami niestandardowymi: wyświetlenia stron dla listy sklepu Twojej aplikacji oraz konwersje. Konwersja to pozyskiwanie aplikacji, które wynika z wyświetlania przez klienta strony listy sklepu w Sklepie z adresu URL zawierającego niestandardowy identyfikator kampanii. Aby uzyskać więcej informacji na temat konwersji, zobacz Zrozumienie, jak przejęcia aplikacji kwalifikują się jako konwersje w tym temacie.

Niestandardowe dane wydajności kampanii dla aplikacji można uzyskać w następujący sposób:

  • Możesz wyświetlić dane o wyświetleniach stron i konwersjach dotyczących Twojej aplikacji lub dodatku z wykresów: wyświetlenia i konwersje strony aplikacji według identyfikatora kampanii oraz Łączna liczba konwersji kampanii, znajdujących się w raporcie Acquisitions.
  • Jeśli twoja aplikacja jest aplikacją Platformy Uniwersalnej Windows (UWP), możesz użyć API w Windows SDK, aby za pomocą kodu pobrać niestandardowy identyfikator kampanii, która doprowadziła do konwersji.

Przykładowy scenariusz kampanii niestandardowej

Rozważmy dewelopera gier, który zakończył tworzenie nowej gry i chciałby promować ją graczom swoich istniejących gier. Publikuje ogłoszenie nowego wydania gry na swojej stronie na Facebooku, w tym link do listy Sklepu gry. Wielu jej graczy śledzi ją również na Twitterze, więc ona również tweetuje ogłoszenie z linkiem do strony z grą w sklepie.

Aby śledzić sukces każdego z tych kanałów promocji, deweloper tworzy dwa warianty adresu URL do listy sklepu gry:

  • Adres URL, który opublikuje na swojej stronie na Facebooku, zawiera niestandardowy identyfikator kampanii my-facebook-campaign

  • Adres URL, który opublikuje w serwisie Twitter, zawiera identyfikator kampanii niestandardowej my-twitter-campaign

Gdy jej obserwatorzy na Facebooku i Twitterze klikną adresy URL, firma Microsoft śledzi każde kliknięcie i kojarzy je z odpowiednią kampanią niestandardową. Kolejne kwalifikujące się nabycia gry i wszelkie zakupy dodatków są skojarzone z kampanią niestandardową i odnotowywane jako konwersje.

Informacje o tym, jak przejęcia kwalifikują się jako konwersje

Niestandardowa kampania konwersji to pozyskanie, które następuje w wyniku kliknięcia przez klienta w adres URL promowany za pośrednictwem kampanii niestandardowej. Istnieją różne scenariusze kwalifikowania się do konwersji dla wyświetleń i konwersji stron aplikacji według identyfikatora kampanii oraz wykresów łącznej liczby konwersji kampanii w raporcie Akquisitions , jak i kwalifikowania się do konwersji przy programowym pobieraniu identyfikatora kampanii .

Kwalifikujące się konwersje w raporcie Pozyskiwania

Scenariusze wymienione poniżej kwalifikują się jako konwersje dla wyświetleń stron aplikacji i konwersji według identyfikatora kampanii oraz dla wykresów łącznej liczby konwersji kampanii w raporcie pozyskań.

  • Klient z rozpoznanym kontem Microsoft lub bez rozpoznanego konta Microsoft klika adres URL aplikacji zawierający niestandardowy identyfikator kampanii i jest przekierowywany do listy Sklepu dla aplikacji. Następnie ten sam klient uzyskuje aplikację w ciągu 24 godzin po pierwszym kliknięciu adresu URL sklepu Microsoft Store przy użyciu niestandardowego identyfikatora kampanii.

  • Jeśli klient uzyska aplikację na innym urządzeniu niż ten, na którym kliknął adres URL z niestandardowym identyfikatorem kampanii, konwersja zostanie zliczona tylko wtedy, gdy klient jest zalogowany przy użyciu tego samego konta Microsoft, co po kliknięciu adresu URL.

Notatka

W przypadku przejęć aplikacji, które są liczone jako konwersje dla kampanii niestandardowej, wszystkie zakupy dodatków w tej aplikacji są również liczone jako konwersje dla tej samej kampanii niestandardowej.

Kwalifikowanie konwersji podczas programistycznego pobierania identyfikatora kampanii

Aby zakwalifikować się do konwersji podczas programowego pobierania identyfikatora kampanii skojarzonego z aplikacją, muszą zostać spełnione następujące warunki:

  • Na urządzeniu z systemem Windows 10 w wersji 1607 lub nowszej: klient (bez względu na to, czy zalogował się do rozpoznanego konta Microsoft, czy nie) klika adres URL zawierający niestandardowy identyfikator kampanii, i jest przekierowywany do strony listingu w Sklepie dla aplikacji. Klient uzyskuje aplikację podczas wyświetlania listy sklepu w wyniku kliknięcia adresu URL.

  • Na urządzeniu z systemem Windows 10 w wersji 1511 lub starszej: użytkownik (który musi zalogować się przy użyciu rozpoznanego konta Microsoft) klika adres URL zawierający niestandardowy identyfikator kampanii i zostaje przekierowany na stronę z listą w Sklepie dla aplikacji. Klient uzyskuje aplikację podczas wyświetlania listy sklepu w wyniku kliknięcia adresu URL. Na tych wersjach systemu Windows 10 lub Windows 11 użytkownik musi być zalogowany na rozpoznane konto Microsoft, aby akwizycja mogła zostać zakwalifikowana jako konwersja podczas automatycznego pobierania identyfikatora kampanii.

Notatka

Jeśli klient opuści stronę listy sklepu, ale powróci do strony z 24 godzinami (na tym samym urządzeniu lub na innym urządzeniu po zalogowaniu się przy użyciu tego samego konta Microsoft) i uzyska aplikację, ta będzie zakwalifikować się jako konwersja w widokach i konwersji strony aplikacji za pomocą identyfikatora kampanii i Wykresy łącznej konwersji kampaniiw raporciepozyskiwania. Jednak nie zostanie uznane za konwersję, jeśli identyfikator kampanii zostanie pobrany programowo.

Dodaj niestandardowy identyfikator kampanii do adresu URL strony aplikacji w Microsoft Store

Aby utworzyć adres URL strony sklepu Microsoft Store dla aplikacji z niestandardowym identyfikatorem kampanii:

  1. Utwórz ciąg identyfikatora dla kampanii niestandardowej. Ten ciąg może zawierać maksymalnie 100 znaków, chociaż zalecamy zdefiniowanie krótkich identyfikatorów kampanii, które można łatwo zidentyfikować.

Notatka

Ciąg identyfikatora kampanii może być widoczny dla innych deweloperów, gdy przeglądają raport Acquisitions dla swoich aplikacji. Taka sytuacja może wystąpić, gdy klient kliknie niestandardowy identyfikator kampanii, aby wejść do Sklepu i zakupić aplikację innego dewelopera w ramach tej samej sesji, przypisując tę konwersję do identyfikatora kampanii. Ten deweloper zobaczy, ile konwersji własnej aplikacji wynikało z początkowego kliknięcia identyfikatora kampanii, w tym nazwy identyfikatora kampanii, ale nie będą widzieć żadnych danych dotyczących liczby użytkowników zakupionych własnych aplikacji (lub aplikacji od innych deweloperów) po kliknięciu identyfikatora kampanii.

  1. Pobierz link do listy aplikacji w sklepie w formacie HTML lub protokołu.

    • Użyj adresu URL HTML, jeśli chcesz, aby klienci przechodzili do listy sklepu internetowego aplikacji w przeglądarce w dowolnym systemie operacyjnym. Na urządzeniach z systemem Windows aplikacja ze Sklepu będzie również uruchamiać i wyświetlać listę aplikacji. Ten adres URL ma format https://apps.microsoft.com/detail/*your app ID*. Na przykład adres URL HTML dla skype'a to https://apps.microsoft.com/detail/9wzdncrfj364. Ten adres URL można znaleźć na stronie tożsamości aplikacji .

    • Użyj formatu protokołu, jeśli promujesz aplikację z poziomu innych aplikacji systemu Windows uruchomionych na urządzeniu lub komputerze z zainstalowaną aplikacją platformy UWP lub gdy wiesz, że klienci znajdują się na urządzeniu obsługującym sklep Microsoft Store. Ten link przejdzie bezpośrednio do listy Sklepu Twojej aplikacji bez otwierania przeglądarki. Ten adres URL ma format ms-windows-store://pdp/?PRODUCTID=*your app id*. Na przykład adres URL protokołu dla programu Skype to ms-windows-store://pdp/?PRODUCTID=9wzdncrfj364.

  2. Dołącz następujący ciąg na końcu adresu URL aplikacji:

    • W przypadku adresu URL formatu HTML dołącz ?cid=*my custom campaign ID*. Jeśli na przykład skype wprowadzi identyfikator kampanii o wartości custom_campaign, nowy adres URL zawierający identyfikator kampanii będzie: https://apps.microsoft.com/detail/9wzdncrfj364?cid=custom_campaign.

    • W przypadku adresu URL formatu protokołu dołącz &cid=*my custom campaign ID*. Jeśli na przykład skype wprowadzi identyfikator kampanii o wartości custom_campaign, nowy adres URL protokołu zawierający identyfikator kampanii będzie: ms-windows-store://pdp/?PRODUCTID=9wzdncrfj364&cid=custom_campaign.

Automatyczne pobieranie niestandardowego identyfikatora kampanii dla aplikacji

Jeśli twoja aplikacja jest aplikacją UWP, możesz programowo pobrać niestandardowy identyfikator kampanii skojarzony z pozyskiwaniem aplikacji, używając interfejsów API w Windows SDK. Te interfejsy API umożliwiają wiele scenariuszy analizy i monetyzacji. Możesz na przykład dowiedzieć się, czy bieżący użytkownik nabył aplikację po odnalezieniu jej za pośrednictwem kampanii na Facebooku, a następnie odpowiednio dostosować środowisko aplikacji. Alternatywnie, jeśli używasz zewnętrznego dostawcy marketingu aplikacji, możesz wysłać dane z powrotem do dostawcy.

Te interfejsy API zwrócą ciąg identyfikatora kampanii tylko wtedy, gdy klient kliknie adres URL z osadzonym identyfikatorem kampanii, wyświetli stronę Sklepu Microsoft dla Twojej aplikacji, a następnie pobierze aplikację bez opuszczenia strony listingu w Sklepie. Jeśli użytkownik opuści stronę, a następnie zwróci i uzyska aplikację, nie będzie to zakwalifikować się jako konwersji podczas korzystania z tych interfejsów API.

Istnieją różne interfejsy API, których można używać w zależności od wersji systemu Windows przeznaczonej dla aplikacji:

  • Windows 10, wersja 1607 lub nowsza: użyj klasy StoreContext w przestrzeni nazw Windows.Services.Store. Korzystając z tego interfejsu API, można pobrać niestandardowe identyfikatory kampanii dla dowolnych kwalifikowanych nabyć, niezależnie od tego, czy użytkownik jest zalogowany przy użyciu rozpoznanego konta Microsoft.

  • Windows 10, wersja 1511 lub starsza: użyj klasy CurrentApp w przestrzeni nazw Windows.ApplicationModel.Store. Korzystając z tego interfejsu API, można pobrać tylko niestandardowe identyfikatory kampanii dla kwalifikowanych pozyskań, gdzie użytkownik jest zalogowany za pomocą rozpoznanego konta Microsoft.

Notatka

Mimo że przestrzeń nazw Windows.ApplicationModel.Store jest dostępna we wszystkich wersjach systemu Windows 10 lub Windows 11, zalecamy używanie interfejsów API w przestrzeni nazw Windows.Services.Store, jeśli aplikacja jest przeznaczona dla systemu Windows 10, wersja 1607 lub nowsza. Aby uzyskać więcej informacji na temat różnic między tymi przestrzeniami nazw, zobacz Zakupy w aplikacji i wersje próbne. W poniższym przykładzie kodu pokazano, jak utworzyć strukturę kodu, aby używać obu interfejsów API w tym samym projekcie.

Przykład kodu

Poniższy przykład kodu przedstawia sposób pobierania niestandardowego identyfikatora kampanii. W tym przykładzie użyto obu zestawów interfejsów API w przestrzeniach nazw Windows.Services.Store i Windows.ApplicationModel.Store przy użyciu wersji kodu adaptacyjnego. Wykonując ten proces, kod może działać w dowolnej wersji systemu Windows 10 lub Windows 11. Aby użyć tego kodu, docelowa wersja systemu operacyjnego projektu musi być Rocznicowa wersja systemu Windows 10 (10.0; Kompilacja 14394) lub nowsza, chociaż minimalna wersja systemu operacyjnego może być starszą wersją.

// This example assumes the code file has using statements for
// System.Linq, System.Threading.Tasks, Windows.Data.Json,
// and Windows.Services.Store.
public async Task<string> GetCampaignId()
{
    // Use APIs in the Windows.Services.Store namespace if they are available
    // (the app is running on a device with Windows 10, version 1607, or later).
    if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent(
         "Windows.Services.Store.StoreContext"))
    {
        StoreContext context = StoreContext.GetDefault();

        // Try to get the campaign ID for users with a recognized Microsoft account.
        StoreProductResult result = await context.GetStoreProductForCurrentAppAsync();
        if (result.Product != null)
        {
            StoreSku sku = result.Product.Skus.FirstOrDefault(s => s.IsInUserCollection);

            if (sku != null)
            {
                return sku.CollectionData.CampaignId;
            }
        }

        // Try to get the campaign ID from the license data for users without a
        // recognized Microsoft account.
        StoreAppLicense license = await context.GetAppLicenseAsync();
        JsonObject json = JsonObject.Parse(license.ExtendedJsonData);
        if (json.ContainsKey("customPolicyField1"))
        {
            return json["customPolicyField1"].GetString();
        }

        // No campaign ID was found.
        return String.Empty;
    }
    // Fall back to using APIs in the Windows.ApplicationModel.Store namespace instead
    // (the app is running on a device with Windows 10, version 1577, or earlier).
    else
    {
#if DEBUG
        return await Windows.ApplicationModel.Store.CurrentAppSimulator.GetAppPurchaseCampaignIdAsync();
#else
        return await Windows.ApplicationModel.Store.CurrentApp.GetAppPurchaseCampaignIdAsync() ;
#endif
    }
}

Ten kod wykonuje następujące czynności:

  1. Najpierw sprawdza, czy klasa StoreContext w przestrzeni nazw Windows.Services.Store jest dostępna na bieżącym urządzeniu (oznacza to, że na urządzeniu jest uruchomiony system Windows 10, wersja 1607 lub nowsza). Jeśli tak, kod przejdzie do użycia tej klasy.

  2. Następnie próbuje uzyskać identyfikator kampanii niestandardowej dla przypadku, gdy bieżący użytkownik ma rozpoznane konto Microsoft. W tym celu kod pobiera obiekt StoreSku reprezentujący bieżącą jednostkę SKU aplikacji, a następnie uzyskuje dostęp do właściwości CampaignId w celu pobrania identyfikatora kampanii, jeśli jest dostępny.

  3. Następnie kod próbuje pobrać identyfikator kampanii dla przypadku, gdy bieżący użytkownik nie ma rozpoznanego konta Microsoft. W takim przypadku identyfikator kampanii jest osadzony w licencji aplikacji. Kod pobiera licencję przy użyciu metody GetAppLicenseAsync, a następnie analizuje zawartość JSON licencji pod kątem wartości klucza o nazwie customPolicyField1. Ta wartość zawiera identyfikator kampanii.

  4. Jeśli klasa StoreContext w przestrzeni nazw Windows.Services.Store jest niedostępna, kod wraca do używania metody GetAppPurchaseCampaignIdAsync w przestrzeni nazw Windows.ApplicationModel.Store, aby pobrać niestandardowy identyfikator kampanii (ta przestrzeń nazw jest dostępna we wszystkich wersjach systemach Windows 10 lub Windows 11). Należy pamiętać, że w przypadku korzystania z tej metody można pobrać tylko niestandardowe identyfikatory kampanii dla kwalifikowanych przejęć, gdzie użytkownik ma uznane konto Microsoft.

Określ identyfikator kampanii w pliku proxy dla przestrzeni nazw Windows.ApplicationModel.Store

Przestrzeń nazw Windows.ApplicationModel.Store zawiera CurrentAppSimulator, specjalną klasę, która symuluje operacje sklepu na potrzeby testowania kodu przed przesłaniem aplikacji do Sklepu. Ta klasa pobiera dane z pliku lokalnego o nazwie Windows.StoreProxy.xml file. W poprzednim przykładzie kodu pokazano, jak uwzględnić użycie zarówno CurrentApp, jak i CurrentAppSimulator w kodzie debugowania i bez debugowania w projekcie. Aby przetestować ten kod w środowisku debugowania, dodaj element AppPurchaseCampaignId do pliku WindowsStoreProxy.xml na komputerze dewelopera, jak pokazano w poniższym przykładzie. Po uruchomieniu aplikacji metoda GetAppPurchaseCampaignIdAsync zawsze zwróci tę wartość.

<CurrentApp>
    ...
    <AppPurchaseCampaignId>your custom campaign ID</AppPurchaseCampaignId>
</CurrentApp>

Przestrzeń nazw Windows.Services.Store nie udostępnia klasy, której można użyć do symulowania informacji o licencji podczas testowania. Zamiast tego należy opublikować aplikację w Sklepie i pobrać ją na urządzenie deweloperskie, aby korzystać z licencji na testowanie. Aby uzyskać więcej informacji, zobacz Zakupy w aplikacji i wersje próbne.

Testowanie kampanii niestandardowej

Przed udostępnieniem adresu URL niestandardowej kampanii zalecamy przetestowanie niestandardowej kampanii, wykonując następujące czynności:

  1. Zaloguj się do konta Microsoft na urządzeniu, którego używasz do testowania.

  2. Kliknij niestandardowy adres URL kampanii. Upewnij się, że jesteś przekierowany do strony aplikacji, a następnie zamknij aplikację platformy UWP lub stronę przeglądarki.

  3. Kliknij adres URL jeszcze kilka razy, zamykając aplikację platformy UWP lub stronę przeglądarki po każdej wizycie na stronie aplikacji. Podczas jednej wizyt na stronie aplikacji uzyskaj aplikację w celu wygenerowania konwersji. Zlicz łączną liczbę kliknięć adresu URL.

  4. Sprawdź, czy oczekiwane wyświetlenia i konwersje stron są wyświetlane w widokach i konwersjach strony aplikacji według identyfikatora kampanii i Łączna liczba konwersji kampanii wykresów w raporcie Acquisitionsi przetestuj kod aplikacji, aby sprawdzić, czy można pomyślnie pobrać identyfikator kampanii przy użyciu interfejsów API opisanych powyżej.