2.2.1
该门户网站正在开发中。文档的完整版本请看这里.
通过以下链接下载Unity插件以集成支付功能。
为了进行支付,必须遵守所有条件:
- 用户的设备上安装了RuStore应用程序。
- 用户在RuStore中已授权。
- 用户和应用程序不应在RuStore中被封锁。
- 应用程序必须在 RuStore 控制台系统中启用购买功能。
服务在俄罗斯联邦以外有一些运作限制。
在项目中集成
要集成,请下载RuStoreBilling SDK并将其导入项目(Assets → Import Package → Custom Package)。依赖项将通过SDK中包含的External Dependency Manager自动连接。
为了正确处理SDK的依赖项,需要设置以下参数:
- Edit-> Project Settings -> Player Settings -> Publishing Settings,启用Custom Main Gradle Template和CustomGradlePropertiesTemplate
- Assets-> External Dependencies Manager -> Android Resolver -> Settings,启用Use Jetifier, Patch mainTemplate.gradle,PatchgradleTemplate.properties
成设置后,请确保执行Assets -> External Dependencies Manager -> Android Resolver -> Force Resolve。
MinimumAPIlevel应设置为不低于24。应用程序的缩减(ProGuard/R8)目前不受支持,因此需要在项目设置中将其关闭(File → Build Settings → Player Settings → Publishing Settings → Minify)。
处理deeplink
当用户通过SberPay支付时,会跳转到俄罗斯储蓄银行应用程序。支付完成后,应使用deeplink返回原应用程序。要处理deeplink,需在AndroidManifest.xml中设置带有您项目scheme的intent-filter:
\< activity \`\`android:name = \"ru.rustore.unitysdk.RuStoreUnityActivity\" android:theme = \"@style/UnityThemeSelector\" android:exported = \"true\" \> \`\`\< intent-filter \> \`\`\< action android:name = \"android.intent.action.MAIN\" /\> \`\`\< category android:name = \"android.intent.category.LAUNCHER\" /\> \`\`\</ intent-filter \> \`\`\< intent-filter \> \`\`\< action android:name = \"android.intent.action.VIEW\" /\> \`\`\< category android:name = \"android.intent.category.DEFAULT\" /\> \`\`\< category android:name = \"android.intent.category.BROWSABLE\" /\> \`\`\< data android:scheme = \"yourappscheme\" /\> \`\`\</ intent-filter \>\</ activity \>
中"yourappscheme" - 您的deeplink方案,可以更改为其他方案。
接下来,扩展UnityPlayerActivity类,并在onNewIntent中添加对传入intent的处理。
package ru.rustore.unitysdk;import android.os.Bundle;import android.content.Intent;import ru.rustore.unitysdk.billingclient.RuStoreUnityBillingClient;import com.unity3d.player.UnityPlayerActivity;public class RuStoreUnityActivity extends UnityPlayerActivity { \`\`@Override protected void onCreate(Bundle savedInstanceState) { \`\`super .onCreate(savedInstanceState); \`\`if (savedInstanceState == null ) { \`\`RuStoreUnityBillingClient.onNewIntent(getIntent()); \`\`} \`\`} \`\`@Override protected void onNewIntent(Intent intent) { \`\`super .onNewIntent(intent); \`\`RuStoreUnityBillingClient.onNewIntent(intent); \`\`}}
包含UnityPlayerActivity扩展代码的Java文件放置在项目的Assets文件夹中。如果已有UnityPlayerActivity扩展,需合并onCreate和onNewIntent功能代码至该扩展。
初始化
在调用库的方法之前,需要先进行其初始化。库将使用在Unity编辑器中设置的参数进行初始化。在编辑器菜单中选择 Window → RuStoreSDK → Settings → Billing Client。
RuStoreBillingClient.Instance.Init();\<br\>