Så här gör du: Konfigurera din webbplats för att använda köp i appen

Uppdaterad den 18. februari 2024 av Jan Bunk


Skapa produkter för köp i appen

Du kan följa de här guiderna för att skapa produkter och prenumerationer för köp i appen:

Du kan bli ombedd att ange ytterligare information för att möjliggöra betalningar på ditt utvecklarkonto.

Eftersom du måste skapa en produkt för köp i appen på varje plattform, se till att du använder samma produkt-ID på båda plattformarna, så att det blir lättare att utlösa köpet i appen via Javascript (se nedan).

Utlösa ett köp i appen

För det första vill du troligen kontrollera om den aktuella användaren använder din app, eftersom en vanlig användare av en webbläsare inte kan göra köp i appen.

Du kan använda getAppPlatform() != nullmedhjälpskript för appar.

Om användaren sedan använder din app, kan du använda Javascript nedan för att utlösa ett köp i appen.

Du kanske vill kolla in executeWhenAppReady()-funktionen i vårt hjälparskript för appen. Det säkerställer att din webbplats inte försöker interagera med appen innan den är redo eller när din webbplats laddas med en vanlig webbläsare (ReferenceError, funktionen är inte definierad).

<script>
    try {
        // productId is the ID you specified for the in app purchase product in App Store Connect and the Google Play Console
        // consumable is a boolean value that indicates whether the product can be purchased multiple times (consumable==true) or just once (consumable==false)
        // subscriptions should use consumable==false
        // userIdentifier can be any string that identifies the current user.
        // The userIdentifier will be sent to your server's unlocking endpoint if the purchase is successful (so you can then unlock the product that was bought on your server)
        resultingStatus = await makeInAppPurchase(productId, consumable, userIdentifier)["status"];
        
        switch (resultingStatus) {
            case "failed":
                // The purchase failed, for example due to an error while verifying the purchase
                break;
            case "canceled":
                // The user canceled the purchase, for example by pressing the back button
                break;
            case "completed":
                // The purchase was successful
                break;
        }
    } catch (e) {
        // Some kind of error occurred, e.g. the given productId is invalid
    }
</script>
    

Medan du väntar på funktionen, kommer användaren att vara på en skärm som tillhandahålls av appen. JavaScript-funktionen kommer att returnera när köpet är slutfört så att du kan ladda om sidan eller uppdatera användargränssnittet som du anser nödvändigt. När användaren stänger den inbyggda appskärmen, kommer de tillbaka till din webbplats.

En skärmdump av appen som väntar på att köpet i appen ska slutföras.

Återställa köp i appen

Du kanske vill kolla in executeWhenAppReady()-funktionen i vårt hjälparskript för appen. Det säkerställer att din webbplats inte försöker interagera med appen innan den är redo eller när din webbplats laddas med en vanlig webbläsare (ReferenceError, funktionen är inte definierad).

Du kan också ge användarna ett alternativ för att återställa köp.


<script>
    restorePurchases()
</script>
    

Vanligtvis är det nödvändigt att återställa köp när användare avinstallerar appen och installerar den igen på en ny enhet. De kan då återställa sina tidigare köp. Du lagrar användarens information och köp redan på din server, som är oberoende av användarens enhet.

Vi ger dig fortfarande möjlighet att integrera en funktion för att återställa köp i hopp om att den kan vara användbar under andra omständigheter, t.ex. om något går fel när du verifierar och låser upp en användares köp.

Nästa steg

När en användare har genomfört ett köp i appen måste köpet verifieras på en server, och om det verifieras måste det köpta innehållet låsas upp på din server.

Se dina inställningar för köp i appen för mer information och guider.