14/11/2022
Shopify Mobile Buy SDK: Din guide til mobil handel
I en verden, hvor mobilhandel dominerer, er det essentielt for virksomheder at kunne tilbyde en problemfri og engagerende shoppingoplevelse direkte i deres egne mobilapps. Shopify, en førende e-handelsplatform, imødekommer dette behov med sit kraftfulde Mobile Buy SDK. Dette SDK gør det muligt for udviklere at skabe skræddersyede og native shoppingoplevelser på tværs af både Android- og iOS-platforme. Fra at vise produktkataloger og håndtere kundekonti til at facilitere sikre betalinger, giver Mobile Buy SDK dig værktøjerne til at bringe din Shopify-butik til live i en mobilverden.

Denne omfattende guide vil dykke ned i, hvad Shopify Mobile Buy SDK er, hvordan det fungerer, og hvordan du kan komme i gang med at integrere det i dine egne applikationer. Vi vil udforske de centrale koncepter, installationsprocessen, og hvordan du kan udnytte SDK'ets fulde potentiale til at skabe en uovertruffen kundeoplevelse.
Hvad er Shopify Mobile Buy SDK?
Shopify Mobile Buy SDK er en samling af værktøjer og biblioteker, der giver udviklere mulighed for at bygge brugerdefinerede butiksfacader i deres mobilapps. SDK'et forbinder til Shopify-platformen ved hjælp af GraphQL, en kraftfuld forespørgselssprog til API'er, og understøtter en bred vifte af native storefront-oplevelser. Dette betyder, at du ikke er begrænset af Shopifys standard online butiksgrænseflade, men i stedet kan designe og implementere en app, der passer perfekt til dit brand og dine kunders behov.
Nøglefunktioner inkluderer:
- Oprettelse af brugerdefinerede butiksfacader: Design en unik shoppingoplevelse, der afspejler dit brands identitet.
- Produkt- og kollektionshåndtering: Hent og vis produkter, kollektioner og relaterede detaljer direkte i din app.
- Kundekonti: Tillad kunder at oprette konti, logge ind, se ordrehistorik og administrere deres information.
- Indkøbskurv og checkout: Implementer en problemfri proces for at tilføje varer til kurven og gennemføre køb.
- Sikre betalinger: Understøtter betalingsmuligheder som Android Pay og Apple Pay for en sikker og bekvem checkout.
Installation og Opsætning
Processen for at installere og opsætte Mobile Buy SDK varierer lidt mellem Android og iOS, men grundprincipperne er de samme. Det involverer typisk at tilføje SDK'et som en afhængighed i dit projekt og derefter konfigurere en GraphQL-klient med din Shopify-butiks domænenavn og en API-nøgle.
Android Installation
For Android-udviklere involverer installationen at tilføje den relevante afhængighed til din Gradle-fil:
implementation "com.shopify.mobilebuysdk:buy3:2025.7.0" Dette inkluderer runtime-modulet, der understøtter opbygning og udførelse af GraphQL-forespørgsler.
iOS Installation
For iOS-udviklere er den anbefalede metode at bruge Swift Package Manager. Alternativt kan du bruge Carthage eller CocoaPods. Uanset metoden skal du importere SDK'et i dine projektfiler:
import Buy Opsætning af GraphQL-klienten
Uanset platform skal du initialisere en GraphClient (Android) eller Graph.Client (iOS) med din butiks domæne og API-nøgle. API-nøglen kan findes i din Shopify Admin under 'Apps' -> 'Udviklerapps'.

Android Eksempel:
GraphClient graphClient = GraphClient.builder(this) .shopDomain(BuildConfig.SHOP_DOMAIN) .accessToken(BuildConfig.API_KEY) .build(); iOS Eksempel:
let client = Graph.Client(shopDomain: "your-shop.myshopify.com", apiKey: "YOUR_API_KEY") Grundlæggende om GraphQL med Buy SDK
Mobile Buy SDK er bygget oven på GraphQL. GraphQL er et forespørgselssprog, der giver dig mulighed for at bede om præcis de data, du har brug for, og intet andet. Dette er en markant forbedring i forhold til traditionelle REST API'er, hvor du ofte modtager overflødige data. SDK'et håndterer automatisk generering af forespørgsler og parsing af svar, hvilket betyder, at du ikke behøver at skrive rå GraphQL-strenge eller JSON-parsing.
Kodegenerering
SDK'et bruger genererede klasser til at konstruere og parse GraphQL-forespørgsler og svar. Disse klasser genereres automatisk baseret på din Shopify-butiks GraphQL-skema. Dette sikrer type-sikkerhed og kompileringstidsvalidering, hvilket reducerer risikoen for fejl markant.
Request Models
Alle forespørgsler starter med en roddefinition, f.eks. Storefront.QueryRootQueryDefinition på Android. Du bygger dine forespørgsler ved at definere de felter, du ønsker at hente. Lambda-udtryk kan bruges til at gøre koden mere koncis.
Eksempel på en simpel forespørgsel (Android):
Storefront.QueryRootQuery query = Storefront.query(rootQuery -> rootQuery.shop(shopQuery -> shopQuery.name())); Dette genererer følgende GraphQL-forespørgsel:
query { shop { name } } Response Models
Svar modellerne er afledt af en abstrakt klasse, der giver adgang til dataene. Det er vigtigt at bruge de typede egenskaber i de genererede underklasser i stedet for direkte at tilgå dataene via nøgler.
Korrekt adgang til data (Android):
String shopName = response.getShop().getName(); Node Protokollen og Aliasser
GraphQL-skemaet definerer en Node-interface, der giver en fælles måde at forespørge objekter på via deres ID. SDK'et understøtter dette, men kræver ofte en type-cast til den korrekte type. Aliasser er nyttige, når du skal forespørge flere felter med samme navn på samme niveau, ved at give dem unikke navne.
Udførelse af Forespørgsler og Mutationer
Mobile Buy SDK adskiller operationer i queries (til at hente data) og mutations (til at ændre data). Begge udføres via GraphClient.

Queries
Queries bruges til at hente data fra din Shopify-butik, f.eks. produktinformation, samlinger eller kundedetaljer. De svarer funktionelt til HTTP GET-anmodninger.
Eksempel på hentning af kollektioner og produkter (Android):
Storefront.QueryRootQuery query = Storefront.query(rootQuery -> rootQuery.shop(shopQuery -> shopQuery.collections(args -> args.first(10), collectionConnection -> collectionConnection.edges(collectionEdge -> collectionEdge.node(collection -> collection.title() .products(args -> args.first(10), productConnection -> productConnection.edges(productEdge -> productEdge.node(product -> product.title().productType().description() ) ) ) ) ) ) ) ); client.queryGraph(query).enqueue(new GraphCall.Callback() { @Override public void onResponse(@NonNull GraphResponse response) { // Håndter svar } @Override public void onFailure(@NonNull GraphError error) { // Håndter fejl } }); Denne forespørgsel henter de første 10 kollektioner og de første 10 produkter i hver kollektion i én enkelt netværksanmodning, hvilket effektivt løser n+1 problemet.
Mutations
Mutations bruges til at ændre data på Shopify-serveren, f.eks. oprettelse af en kunde, opdatering af en adresse eller tilføjelse af et produkt til indkøbskurven. De svarer funktionelt til HTTP POST-, PUT- eller DELETE-anmodninger.
Eksempel på kundeoprettelse (Android):
Storefront.CustomerCreateInput input = new Storefront.CustomerCreateInput( "[email protected]", "hemmeligt123") .setFirstName(Input.value("Peter")) .setLastName(Input.value("Jensen")); Storefront.MutationQuery mutationQuery = Storefront.mutation(mutation -> mutation.customerCreate(input, payload -> payload.customer(customer -> customer.id().firstName().lastName() ).userErrors(userError -> userError.field().message() ) ) ); client.mutateGraph(mutationQuery).enqueue(new GraphCall.Callback() { @Override public void onResponse(@NonNull GraphResponse response) { // Håndter svar } @Override public void onFailure(@NonNull GraphError error) { // Håndter fejl } }); Det er vigtigt at inkludere userErrors i mutationssvar for at kunne give brugeren meningsfuld feedback ved fejl, f.eks. hvis en e-mail allerede er i brug.
Avancerede Funktioner
Mobile Buy SDK tilbyder en række avancerede funktioner til at forbedre din mobile shoppingoplevelse:
Søgning og Filtrering
Du kan implementere kraftfulde søge- og filtreringsfunktioner direkte i din app. Dette kan gøres ved at sende søgetermer direkte i forespørgslerne. SDK'et understøtter både fuzzy matching (hvor små variationer i søgeord accepteres) og specifik felt-matching, samt negation og boolske operatorer for komplekse søgninger.
Eksempel på søgning efter kollektioner (Android):
.collections(arg -> arg.query("sko"), connection -> ...) Pagination
For at håndtere store mængder data effektivt, understøtter SDK'et pagination. Dette sikrer, at du kun henter de nødvendige data ad gangen, hvilket forbedrer ydeevnen og reducerer dataforbruget. Du bruger first, after, last og before argumenter til at navigere gennem resultaterne.

Retry Mekanismer
SDK'et tilbyder indbyggede mekanismer til at håndtere midlertidige netværksfejl eller serverproblemer ved automatisk at forsøge forespørgsler igen. Du kan konfigurere RetryHandler med forskellige strategier som forsinkelse eller eksponentiel backoff.
Fejlhåndtering
SDK'et giver detaljerede fejloplysninger, både for GraphQL-specifikke fejl (GraphResponse.Error) og for mere kritiske fejl som netværksproblemer eller parsefejl (GraphError). En robust fejlhåndtering er afgørende for en god brugeroplevelse.
Kundehåndtering
En af de mest værdifulde funktioner ved Mobile Buy SDK er muligheden for at håndtere kundekonti fuldstændigt i din app. Dette inkluderer:
- Oprettelse af kunder: Brug
customerCreatemutationen til at lade nye brugere registrere sig. - Login: Implementer kunde login med
customerAccessTokenCreatemutationen for at udveksle legitimationsoplysninger mod en access token. - Password Reset: Muliggør nulstilling af adgangskoder via
customerRecovermutationen. - Adressehåndtering: Tillad kunder at oprette, opdatere og slette adresser med mutationer som
customerAddressCreate. - Visning af kundedata: Hent og vis kundens profiloplysninger, adresser og ordrehistorik ved hjælp af queries, der kræver en gyldig access token.
Husk at opbevare kundens access token sikkert, f.eks. ved hjælp af enheder som Keychain.
Opsummering og Bedste Praksis
Shopify Mobile Buy SDK er et uundværligt værktøj for enhver, der ønsker at skabe en dybdegående og brandet e-handelsoplevelse på mobile enheder. Ved at udnytte GraphQL's effektivitet og SDK'ets robuste funktionalitet kan du bygge apps, der ikke kun sælger produkter, men også opbygger kundeloyalitet.
Nøglepunkter at huske:
- Brug GraphQL til effektive og specifikke dataforespørgsler.
- Udnyt kodegenerering for typesikkerhed og færre fejl.
- Implementer robust fejlhåndtering og retry-mekanismer.
- Fokusér på en intuitiv brugeroplevelse for både produktbrowsing og checkout.
- Opbevar kundesensitive data, som access tokens, sikkert.
Med de rette værktøjer og en klar strategi kan Shopify Mobile Buy SDK hjælpe dig med at transformere din mobile tilstedeværelse og drive salg i en stadigt voksende mobil-først verden.
Ofte Stillede Spørgsmål
- Hvad er forskellen på Mobile Buy SDK og JavaScript Buy SDK?
- Mobile Buy SDK er designet til native mobilapps (Android og iOS), mens JavaScript Buy SDK er til websteder og webapplikationer.
- Er der en JavaScript-version af Buy SDK?
- Ja, Shopify tilbyder et JavaScript Buy SDK, der giver dig mulighed for at integrere e-handel i ethvert website eller JavaScript-applikation.
- Hvordan forbinder jeg min Shopify-butik til min Android-app?
- Du opretter en 'Mobile App' salgskanal i Shopify Admin for at generere en API-nøgle, som derefter bruges til at konfigurere GraphQL-klienten i din Android-app.
- Vil Shopify migrere Mobile Buy SDK fra REST til GraphQL?
- Ja, Shopify har allerede migreret Mobile Buy SDK fra REST til GraphQL med version 3.0. Den nye version er fuldt baseret på GraphQL Storefronts API.
- Kan jeg bruge Android Pay og Apple Pay med Mobile Buy SDK?
- Ja, SDK'et understøtter integration med Android Pay (nu Google Pay) og Apple Pay for en sikker og bekvem checkout-oplevelse.
Hvis du vil læse andre artikler, der ligner Shopify Mobile Buy SDK: Din guide til mobil handel, kan du besøge kategorien Mobil.
