Google Play SDK接入详细步骤与代码示例
今天咱们就来详细讲讲Google Play的登录、游戏服务和支付这几个常用SDK的接入方法,还会附上示例代码,给大家体验下Google Play SDK接入详细过程。
一、Google Play登录SDK接入指南
Google Play登录SDK主要用来实现用户登录功能,下面一步步来看看怎么接入。
(一)接入步骤
- 配置Google Play后台:先在Google Play Console里把应用的基本信息设置好,像应用名称、包名这些都不能填错,这是后续接入的基础。
- 导入SDK包:在Unity项目中,找到导入Google Play登录SDK包的地方,把这个包导入进去,为使用登录功能做好准备。
- 配置AndroidManifest.xml:打开AndroidManifest.xml文件,检查一下里面有没有必要的权限,比如
android.permission.INTERNET
权限,它是保证登录功能正常联网的关键。 - 编写调用代码:利用Unity的API来调用Google Play的登录功能。这里建议用协程处理异步调用,这样能让登录过程更流畅,用户体验更好。
(二)示例代码(Unity C#)
下面这段代码展示了如何在Unity项目中实现Google Play登录:
using UnityEngine; using GooglePlayGames; using GooglePlayGames.BasicApi; using UnityEngine.SocialPlatforms; public class GooglePlayLogin : MonoBehaviour { void Start() { // 初始化Google Play Games,这一步就像是给这个功能“打个招呼”,让它准备好工作 PlayGamesPlatform.InitializeInstance(); PlayGamesPlatform.Activate(); // 开始登录操作,登录成功或失败会执行对应的回调函数 Social.localUser.Authenticate((bool success) => { if (success) { Debug.Log("登录成功"); } else { Debug.Log("登录失败"); } }); } }
在这段代码里,PlayGamesPlatform.InitializeInstance()
和PlayGamesPlatform.Activate()
是初始化Google Play Games服务的关键步骤,而Social.localUser.Authenticate
则是发起登录请求的核心代码,通过回调函数判断登录是否成功。
二、Google Play服务SDK接入(以游戏服务为例)
Google Play服务SDK对于实现游戏服务,比如排行榜和成就功能,有着重要作用。下面是接入的具体步骤。
(一)接入步骤
- 设置Android Studio项目:在Android Studio项目中,要保证
minSdkVersion
是19或更高,compileSdkVersion
是28或更高。这两个参数就像是游戏运行的“门槛”,只有满足条件,游戏服务才能正常运行。 - 添加依赖:在
build.gradle
文件里添加Google Play服务的依赖,比如play-services-games-v2
。添加依赖就好比给项目“拉来”了实现游戏服务的“帮手”。 - 配置Google Play Console:回到Google Play Console,在这里设置游戏服务,并把应用相关信息都配置好,让游戏服务能和应用“对上号”。
(二)示例代码(Android Java)
下面的代码展示了在Android项目中如何使用Google Play游戏服务:
import com.google.android.gms.games.Games; import com.google.android.gms.games.GamesClient; public class GameActivity extends AppCompatActivity { private GamesClient gamesClient; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 初始化GamesClient,获取当前登录账号关联的游戏客户端 gamesClient = Games.getGamesClient(this, GoogleSignIn.getLastSignedInAccount(this)); } // 调用游戏服务API,提交分数到排行榜 public void submitScore(int score) { gamesClient.submitScoreImmediate("YOUR_LEADERBOARD_ID", score); } }
这里gamesClient = Games.getGamesClient(this, GoogleSignIn.getLastSignedInAccount(this));
初始化了游戏客户端,而gamesClient.submitScoreImmediate("YOUR_LEADERBOARD_ID", score);
则是向指定排行榜提交分数的关键代码,其中YOUR_LEADERBOARD_ID
需要替换为实际的排行榜ID。
三、Google Play支付SDK接入方法
Google Play支付SDK是实现应用内购买功能的关键。下面详细介绍接入步骤。
(一)接入步骤
- 创建Google Play Console应用:在Google Play Console中创建应用,并把必要的信息都配置好,这是后续支付功能的“基础框架”。
- 引入Google Billing SDK:在
build.gradle
文件里引入最新版本的Google Billing SDK,这是实现支付功能的核心“工具”。 - 配置OAuth权限:在Google Cloud Platform中创建OAuth客户端ID,并且配置好相应权限,确保支付功能的安全性。
- 测试支付功能:把应用上传到Google Play Console的内部测试渠道,添加测试账户,然后进行沙盒测试,看看支付功能是否正常。
(二)示例代码(Android Java)
下面的代码展示了在Android项目中如何实现应用内购买:
import com.android.billingclient.api.BillingClient; import com.android.billingclient.api.BillingClientStateListener; import com.android.billingclient.api.BillingFlowParams; import com.android.billingclient.api.Purchase; public class BillingActivity extends AppCompatActivity { private BillingClient billingClient; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 初始化BillingClient,设置购买结果监听器 billingClient = BillingClient.newBuilder(this).setListener(new PurchasesUpdatedListener() { @Override public void onPurchasesUpdated(BillingResult billingResult, List purchases) { // 处理购买结果,比如判断购买是否成功、获取购买商品信息等 } }).build(); } // 启动购买流程,传入商品的SKU ID public void startPurchase(String skuId) { BillingFlowParams flowParams = BillingFlowParams.newBuilder() .setSkuDetails(skuId) .setType(BillingClient.SkuType.INAPP) .build(); billingClient.launchBillingFlow(this, flowParams); } }
在这段代码中,billingClient = BillingClient.newBuilder(this).setListener(new PurchasesUpdatedListener() {... }).build();
初始化了支付客户端并设置了购买结果监听器,startPurchase
方法则是启动购买流程的关键,通过传入正确的商品SKU ID来发起购买请求。
通过上面这些步骤和示例代码,大家就能成功接入Google Play的不同SDK,为应用添加登录、游戏服务和支付功能啦。在实际开发过程中,大家根据项目需求灵活运用这些知识吧。