如何将原生Android专用艾克索拉SDK连接至项目
您可以使用原生Android专用艾克索拉SDK在移动应用上实现各种功能,例如社交网络登录以及在完成购买后返回应用等。
要将本原生SDK连接至Cocos Creator项目,请按照以下步骤操作:
生成Android Studio项目
- 在Cocos Creator编辑器中,前往主菜单中的
Project > Build 。如果应用程序之前未生成平台编译版本,将打开一个新建编译版本配置的窗口。如果编辑器已有编译版本配置,请单击New Build Task 创建一个新配置。 - 在
New Build Configuration 窗口中,进行以下更改:
- 在
Platform 字段中,从可用编译版本平台列表里选择Android 。 - 在
APP ABI 字段中,指定arm64-v8a (推荐)。如计划在模拟器中运行移动应用,则指定x86 。 - 在
Target API Level 字段中,指定android-28 或更高。
- 在
- 单击
Build 。
随后,<CocosProjectPath>/build/android/proj
目录下将生成一个Android Studio项目。用于所有Android编译版本的文件将在<CocosProjectPath>/native/engine/android
目录下生成。
将Android专用艾克索拉SDK连接至项目
- 将艾克索拉SDK中的自定义活动添加到源代码。方法是:
- 复制
<CocosProjectPath>/extensions/xsolla-commerce-sdk/native/android/Activities
文件夹中的文件并替换<CocosProjectPath>/native/engine/android/app/src/com/cocos/game
文件夹中的文件。 - 用任意文本编辑器打开
<CocosProjectPath>/native/engine/android/app/AndroidManifest.xml
文件,然后将以下代码行添加到活动列表中:
- 复制
Copy
- kotlin
<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"/>
- 将Android专用艾克索拉SDK库作为依赖项添加到项目的编译版本设置中:
- 在Android Studio中,打开项目的
build.gradle
文件。 - 在依赖项部分添加以下代码行:
- 在Android Studio中,打开项目的
Copy
- kotlin
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'
- 要使更改生效,请运行
Sync Now
命令。
- 要使更改生效,请运行
Android Studio将下载相应的库,然后即可在项目中使用库中的方法。
在Android Studio中设置项目
- 在Android Studio中,从
<CocosProjectPath>/build/android/proj
目录打开您的项目。 - 添加正常使用Android专用艾克索拉SDK必需的AndroidX原生库:
- 在
gradle.properties
文件中,添加以下代码行:
- 在
Copy
- kotlin
android.useAndroidX=true
android.enableJetifier=true
- 要使更改生效,请运行
Sync Now
命令。
- 要使更改生效,请运行
在Cocos Creator侧初始化Android专用艾克索拉SDK
使用Android专用艾克索拉SDK的功能前,需先初始化SDK。方法是通过IDE将一个初始化脚本添加到项目,或将该文件复制到项目目录下。
在Cocos Creator中,对原生Java方法的调用是使用TypeScript通过内置反射机制进行。
在Cocos Creator项目中,应调用xLoginInit
方法来初始化艾克索拉SDK。
初始化脚本示例:
Copy
- typescript
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
方法中。本文对您的有帮助吗?
感谢您的反馈!
我们会查看您的留言并运用它改进用户体验。发现了错别字或其他内容错误? 请选择文本,然后按Ctrl+Enter。