在2017 Unite大会上,我们讲过我们的改进定制店面开发工具包,它源于新的GraphQL storefrontapi,允许开发者更有效地将电子商务体验构建到网站、移动游戏和移动应用程序中。
考虑到在美国,大概30%的电子商务销售发生在移动设备上还有ANdroid最近宣布每月活跃用户达20亿,在原生Android手机应用中添加应用内购物体验对应用开发者来说意义重大——还有ShopifyAndroid购买SDK使此操作简单且易于实现。
为了帮助指导您如何使用我们的Android Buy SDK,将Shopify的全套电子商务功能添加到您现有的Android应用程序中,Josh Brown - Shopify应用程序团队的开发者倡导者-最近带领您通过此SDK进行网络研讨会,以及如何在移动应用程序开发中使用此库。
Android Buy SDK是什么?
Android Buy SDK是一个移动开发者可以使用的库在任何安卓手机应用中构建商务.使用这个库,你可以:
- 设置一个客户端来安全地访问Shopify的Storefront API。
- 获取产品和集合,并将它们表面到你的应用程序。
- 允许客户通过你的应用程序注册。
- 创建结帐和处理付款。
你所能构建的基础
知道许多开发人员喜欢亲自操作他们的代码,我们从Android Buy SDK构建了一个示例应用程序,它将允许您快速分析它是如何工作的,以及如何在未来的项目中实现它。你可以通过Android Buy SDK访问样例应用Github库.
基于这个示例应用程序,下面是应用程序的索引屏幕的示例,以及集合页面、产品页面和包含web checkout和checkout选项的结帐页面Android支付.
现在你已经对使用Android Buy SDK可以构建什么有了一个概述,下面是在你的移动应用程序中构建电子商务体验的九个步骤。
你可能还会喜欢:自定义店面-构建商业无处不在.
步骤1。创建一个销售渠道以获得API密钥
访问API密钥将允许您将Shopify商店连接到您的Android应用程序,并且可以在Shopify管理中直接完成,只需几秒钟。要连接您的存储,您将使用销售渠道函数。如下图所示,你需要:
- 点击+旁边销售渠道在右手菜单里。
- 向下滚动并选择手机应用程序。
- 将加载一个新屏幕;复制并粘贴顶部提供的API键。
此外,如果你想将Android Pay集成为一种支付选项,请向下滚动刚刚创建的移动应用程序页面,然后单击启用在Android支付部分在页面底部。这将为您提供该功能的特定公钥。
步骤2。添加构建依赖项
既然有了API密钥,就需要为构建依赖项添加几行代码。如果你使用的是常见的Android应用开发工具Gradle在没有Android Pay的情况下,你需要添加以下代码行来使用Shopify的Android Buy SDK。
编译“com.shopify.mobilebuysdk: buy3:3.x.x”
如果你想使用SDK并启用Android Pay,也可以添加下面这行代码。
编译com.shopify.mobilebuysdk: buy3-pay-support: 1.0.0的
步骤3。设置GraphQL客户端
如前所述,这个SDK源于storefrontapi,它是用查询语言GraphQL构建的。通过设置GraphQL客户端,您将能够通过Shopify进行查询请求,以及通过修改数据突变.
通过添加下面的代码,并插入您的商店域名(如。)和API密钥,您将能够快速设置您的GraphQL客户端。
graphClient = graphClient .builder(this) .shopDomain(BuildConfig.SHOP_DOMAIN) .accessToken(BuildConfig.API_KEY) .build();
步骤4。定义查询
通过定义查询,您将能够帮助构建GraphQL请求,将应用程序连接到Shopify商店数据,包括产品和产品详细信息,如价格、描述和库存数量。
这个特定的请求允许我们获取数据,但不能修改数据。在下面的例子中,我们请求Shopify商店的隐私政策,这样它就可以包含在移动应用程序中。
专业技巧:你可以让你的代码更小使用Lambda表达式.这可以通过SDK通过复古Lambda获得。本教程中的其余代码示例将使用Lambda。
第5步。调用API
定义了查询之后,使用Lambda表达式调用Shopify API。首先,您将使用queryGraph
.然后,您将使用call.enqueue
.您需要两个回调:一个用于onResponse
一个是onFailure
.的失败
回调对于由于服务器中断而发出错误信号非常有用。
步骤6。检索产品和收集数据
在Shopify中,产品被组织成集合,其中有一个或多个产品变体,包括可用的价格和数量。为了让你想通过应用程序销售的产品浮出水面,你必须检索这些信息。同样,在Shopify管理中,您可以制作专属于您的移动应用程序的产品。
下面的代码是请求产品数据和集合数据。我们要求Shopify为我们提供最多十个系列,每个系列的标题,以及在每个系列中,最多十个该系列的产品。
步骤7。添加搜索
如果你的商店有很多产品可供选择,添加一个搜索功能可能会很有用。下面的代码提供了与客户查询的标题相匹配的产品搜索。在本例中,标题中带有“lime”的产品。
上面的例子是一个特定字段搜索的例子(只搜索标题),但是这个SDK还允许:
- 模糊匹配搜索:即使搜索词没有完全匹配,也能找到匹配。为提交的部分文本找到通信。
- 消极比赛:根据特定的单词阻止搜索结果。例如,如果一个应用程序用户在搜索中提交了“免费”,你可以阻止包含这个词的产品出现。
- 组合搜索:如果shopify商店里有很多商品,你可以让用户同时提交两个搜索查询。一种情况是,如果他们想搜索产品类别(例如。“饮料”)和产品类型(例如。“茶”)
步骤8。整合客户注册
该SDK还支持变异请求,允许您在Shopify商店中创建和修改数据。
在GraphQL中,查询请求具有与得到
REST中的请求。类似地,突变对应拉
或帖子
请求。
突变的一个很好的用例是允许客户在应用程序内注册。在下面的代码的第一部分中,您可以收集客户信息,包括姓名、电子邮件地址和密码。您还可以请求加入营销促销,这对未来的通讯和CRM很有用。ob欧宝娱乐app下载地址
此外,由于突变允许您修改Shopify数据,客户注册将在在线商店和在线商店中被识别欧宝体育官网入口首页Shopify POS还有系统。
代码的后半部分创建了一个用户错误字段,以帮助您捕获任何验证错误。在这个例子中,如果用户试图使用数据库中已经存在的电子邮件地址注册,你可以推送这样的响应,“电子邮件地址已经存在于应用程序中。也许你已经在我们这里有一个帐户?”
你可能还会喜欢:学习使用Shopify的POS应用程序SDK构建面对面销售的应用程序.
第9步。设置结帐
正如本教程开头所提到的,这个SDK为您提供了两种类型的checkout在您的应用程序的选项。第一个选项是添加Shopify web checkout,另一个是使用Android Pay cart。
网络付款
一个简单的选择是在Shopify中创建结帐,并将客户重定向到Shopify网络商店中的结帐。你要用突变来实现这一点。一旦结帐完成,客户将通过您可以设置的特殊UTM参数重定向回您的应用程序。
设置web签出最重要的部分是输入一行项。行项目输入将询问一个变量ID,并将询问客户他们想要购买的产品数量。请注意,这些变量id不同于REST api中的变量id。对于产品任务,我们将使用产品变体id。
您还需要再次设置两个回调:一个用于响应,一个用于失败。
- 错误1:网络问题。由于服务器意外停机,无法完成签出。
- 错误2:用户错误.由于用户输入错误,例如登录信息不正确,无法完成签出。
Android支付
再说一次,如果你想用Android支付在签出时,你需要在Gradle中添加以下构建依赖项。
编译com.shopify.mobilebuysdk: buy3-pay-support: 1.0.0的
需要注意的重要一点是,Android Pay并非在所有国家都可以使用。如果你的应用服务于全球商户,你应该仔细检查这种支付方式在你的客户所在国家是否可行。
安装Android Pay Cart:
恭喜!你现在已经将Shopify商店连接到你的Android应用程序!
既然您已经在应用程序中启用了购物功能,您的客户就有了在线购物的新选项。或者,你的客户很高兴你为他们提供了一种新的在线销售方式。
你对Android Buy SDK有什么想法?请在下面的评论中告诉我们!