如何将原生Android专用艾克索拉SDK连接至项目

您可以使用原生Android专用艾克索拉SDK在移动应用上实现各种功能,例如社交网络登录以及在完成购买后返回应用等。

要将本原生SDK连接至Cocos Creator项目,请按照以下步骤操作:

  1. 生成Android Studio的项目
  2. 将Android专用艾克索拉SDK连接至项目
  3. 在Android Studio中设置项目
  4. 在Cocos Creator侧初始化Android专用艾克索拉SDK

生成Android Studio项目

  1. 在Cocos Creator编辑器中,前往主菜单中的Project > Build。如果应用程序之前未生成平台编译版本,将打开一个新建编译版本配置的窗口。如果编辑器已有编译版本配置,请单击New Build Task创建一个新配置。
  2. New Build Configuration窗口中,进行以下更改:

    1. Platform字段中,从可用编译版本平台列表里选择Android
    2. APP ABI字段中,指定arm64-v8a(推荐)。如计划在模拟器中运行移动应用,则指定x86
    3. Target API Level字段中,指定android-28或更高。

  1. 单击Build

随后,<CocosProjectPath>/build/android/proj目录下将生成一个Android Studio项目。用于所有Android编译版本的文件将在<CocosProjectPath>/native/engine/android目录下生成。

将Android专用艾克索拉SDK连接至项目

  1. 将艾克索拉SDK中的自定义活动添加到源代码。方法是:
    1. 复制<CocosProjectPath>/extensions/xsolla-commerce-sdk/native/android/Activities文件夹中的文件并替换<CocosProjectPath>/native/engine/android/app/src/com/cocos/game文件夹中的文件。
    2. 用任意文本编辑器打开<CocosProjectPath>/native/engine/android/app/AndroidManifest.xml文件,然后将以下代码行添加到活动列表中:

Copy
Full screen
Small screen
<activity
android:name="com.cocos.game.XsollaNativeAuthActivity"
android:configChanges="orientation|screenSize"
android:theme="@android:style/Theme.NoTitleBar"/>
<activity
android:name="com.cocos.game.wxapi.WXEntryActivity"
android:exported="true"
android:theme="@android:style/Theme.NoTitleBar"/>

  1. 将Android专用艾克索拉SDK库作为依赖项添加到项目的编译版本设置中:
    1. 在Android Studio中,打开项目的build.gradle文件。
    2. 在依赖项部分添加以下代码行:

Copy
Full screen
Small screen
implementation 'com.xsolla.android:login:1.2.1'
implementation 'com.xsolla.android:login-facebook:1.2.1'
implementation 'com.xsolla.android:login-google:1.2.1'
implementation 'com.xsolla.android:login-wechat:1.2.1'
implementation 'com.xsolla.android:login-qq:1.2.1'

    1. 要使更改生效,请运行Sync Now命令。

Android Studio将下载相应的库,然后即可在项目中使用库中的方法。

在Android Studio中设置项目

  1. 在Android Studio中,从<CocosProjectPath>/build/android/proj目录打开您的项目。
  2. 添加正常使用Android专用艾克索拉SDK必需的AndroidX原生库:
    1. gradle.properties文件中,添加以下代码行:

Copy
Full screen
Small screen
android.useAndroidX=true
android.enableJetifier=true

    1. 要使更改生效,请运行Sync Now命令。

在Cocos Creator侧初始化Android专用艾克索拉SDK

使用Android专用艾克索拉SDK的功能前,需先初始化SDK。方法是通过IDE将一个初始化脚本添加到项目,或将该文件复制到项目目录下。

在Cocos Creator中,对原生Java方法的调用是使用TypeScript通过内置反射机制进行。

在Cocos Creator项目中,应调用xLoginInit方法来初始化艾克索拉SDK。

初始化脚本示例:

Copy
Full screen
Small screen
if(sys.platform.toLowerCase() == 'android') {
    jsb.reflection.callStaticMethod("com/cocos/game/XsollaNativeAuth", "xLoginInit",
        "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V",
        Xsolla.settings.loginId, Xsolla.settings.clientId.toString(), "https://login.xsolla.com/api/blank",
        this.facebookAppId, this.googleAppId, this.wechatAppId, this.qqAppId);

}
}

注:
应在应用程序启动时调用初始化脚本,例如在场景附带组件的start方法中。
本文对您的有帮助吗?
谢谢!
我们还有其他可改进之处吗? 留言
非常抱歉
请说明为何本文没有帮助到您。 留言
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。
为此页面评分
为此页面评分
我们还有其他可改进之处吗?

不想回答

感谢您的反馈!
上次更新时间: 2022年9月9日

发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。

报告问题
我们非常重视内容质量。您的反馈将帮助我们做得更好。
请留下邮箱以便我们后续跟进
感谢您的反馈!