SDK для Cocos Creator / Как подключить к проекту нативный Xsolla SDK для Android
  На главную

SDK для Cocos Creator

Как подключить к проекту нативный Xsolla SDK для Android

Для реализации некоторых возможностей в мобильных приложениях (например, для авторизации через социальные сети, возврата в приложение после оплаты покупки) используйте нативный Xsolla SDK для Android.

Чтобы подключить нативный SDK к проекту для Cocos Creator:

  1. Сгенерируйте проект для Android Studio.
  2. Подключите к проекту Xsolla SDK для Android.
  3. Настройте проект в Android Studio.
  4. Инициализируйте Xsolla SDK для Android на стороне Cocos Creator.

Генерация проекта для 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. В папке <CocosProjectPath>/native/engine/android будут сгенерированы файлы, которые будут использоваться для всех сборок под Android.

Подключение Xsolla SDK для Android к проекту

  1. Добавьте в исходный код приложения кастомные Activity из Xsolla 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 в любом текстовом редакторе и добавьте в список Activity следующие строки:
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. Добавьте библиотеки Xsolla SDK для Android в качестве зависимостей в настройки сборки проекта. Для этого:
    1. В Android Studio откройте файл build.gradle проекта.
    2. В раздел dependencies добавьте следующие строки:
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. Добавьте в проект нативные библиотеки AndroidX, необходимые для работы Xsolla SDK для Android:
    1. В файле gradle.properties добавьте следующие строки:
Copy
Full screen
Small screen
android.useAndroidX=true
android.enableJetifier=true
    1. Чтобы изменения вступили в силу, выполните команду Sync Now.

Инициализация Xsolla SDK для Android на стороне Cocos Creator

Перед тем как использовать какую-либо функциональность Xsolla SDK для Android необходимо инициализировать SDK. Для этого добавьте в проект скрипт инициализации через IDE или скопировав файл в директорию проекта.

Вызов нативных Java-методов из TypeScript в Cocos Creator осуществляется при помощи встроенного механизма рефлексии.

В проекте Cocos Creator необходимо вызвать метод xLoginInit для инициализации Xsolla 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 компонента, прикрепленного к сцене.
Была ли статья полезна?
Спасибо!
Что может сделать страницу еще лучше? Сообщение
Жаль, что так произошло
Расскажите, почему статья не была полезна. Сообщение
Спасибо за обратную связь!
Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.
Последнее обновление: 22 января 2024

Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.

Сообщите о проблеме
Мы постоянно улучшаем качество нашей документации. Ваш отзыв поможет нам в этом.
Укажите email-адрес, чтобы мы могли связаться с вами
Спасибо за обратную связь!