Android向けのXsolla SDKのネイティブアプリをプロジェクトに接続する方法
ネイティブのAndroid向けのXolla SDKを利用して、ソーシャルログインや購入後のアプリケーションへの復帰などの機能をモバイルアプリケーションに実装することが可能です。
ネイティブSDKをCocos Creatorのプロジェクトに接続するには、以下の手順で行います:
- Android Studio用のプロジェクトを生成します。
- Android向けのXsolla SDKをプロジェクトに接続します。
- Android Studioでプロジェクトをセットアップします。
- Cocos Creator側でAndroid向けのXsolla SDKを初期化します。
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 をクリックします。
その結果、Android Studio用のプロジェクトが<CocosProjectPath>/build/android/proj
ディレクトリに生成されます。すべてのAndroidビルドに使われるファイルは<CocosProjectPath>/native/engine/android
ディレクトリに生成されます。
Android向けのXsolla SDKをプロジェクトに接続する
- Xsolla 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
1<activity
2android:name="com.cocos.game.XsollaNativeAuthActivity"
3android:configChanges="orientation|screenSize"
4android:theme="@android:style/Theme.NoTitleBar"/>
5<activity
6android:name="com.cocos.game.wxapi.WXEntryActivity"
7android:exported="true"
8android:theme="@android:style/Theme.NoTitleBar"/>
- プロジェクトのビルド設定にAndroid向けのXsolla SDKライブラリを依存関係として追加します:
- Android Studioで、プロジェクトの
build.gradle
ファイルを開きます。 - 依存関係セクションに以下の行を追加します:
- Android Studioで、プロジェクトの
Copy
- kotlin
1implementation 'com.xsolla.android:login:1.2.1'
2implementation 'com.xsolla.android:login-facebook:1.2.1'
3implementation 'com.xsolla.android:login-google:1.2.1'
4implementation 'com.xsolla.android:login-wechat:1.2.1'
5implementation 'com.xsolla.android:login-qq:1.2.1'
- 変更を有効にするには、
Sync Now
コマンドを実行します。
- 変更を有効にするには、
Android Studioが対応するライブラリをダウンロードし、プロジェクト内でそのメソッドを使用することができます。
Android Studioでプロジェクトをセットアップする
- Android Studioで、
<CocosProjectPath>/build/android/proj
ディレクトリからプロジェクトを開きます。 - Android向けのXolla SDKの動作に必要なAndroidXネイティブライブラリを追加します:
gradle.properties
ファイルで、次の行を追加します:
Copy
- kotlin
1android.useAndroidX=true
2android.enableJetifier=true
- 変更を有効にするには、
Sync Now
コマンドを実行します。
- 変更を有効にするには、
Cocos Creator側でAndroid向けのXsolla SDKを初期化する。
Android向けのXsolla SDKの機能を使用する前に、SDKを初期化する必要があります。これを行うには、IDEを使用してプロジェクトに初期化スクリプトを追加するか、プロジェクトディレクトリにファイルをコピーしてください。
Cocos Creatorで、ネイティブJavaメソッドの呼び出しは、ビルトインのリフレクションメカニズムを利用してTypeScriptで行われます。
Cocos Creatorプロジェクトでは、xLoginInit
メソッドを呼び出してXsolla SDKを初期化する必要があります。
初期化スクリプトの例:
Copy
- typescript
1if(sys.platform.toLowerCase() == 'android') {
2 jsb.reflection.callStaticMethod("com/cocos/game/XsollaNativeAuth", "xLoginInit",
3 "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V",
4 Xsolla.settings.loginId, Xsolla.settings.clientId.toString(), "https://login.xsolla.com/api/blank",
5 this.facebookAppId, this.googleAppId, this.wechatAppId, this.qqAppId);
6
7}
8}
お知らせ
初期化スクリプトは、アプリケーションの開始時に、例えば、シーンにアタッチされたコンポーネントの
start
メソッドで呼び出す必要があります。この記事は役に立ちましたか?
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。