无法使用 Plugin.InAppBilling 包获取 Xamarin Android 的应用程序产品
Unable to fetch inapp products for Xamarin Android using Plugin.InAppBilling package
我在检索 Android Xamarin 应用的应用内商品时遇到问题。我正在使用 Plugin.InAppBilling
nuget 包(4.0.1-beta 版)来实现计费功能。首先,我遵循说明如下的文档:
Android Testing:
- You MUST use a physical device. Emulators do not work.
- Ensure you have app in Alpha/Beta with the NuGet installed. This will add “com.android.vending.BILLING” permission for you
- Create an IAB product, make sure it is published and active
- Add a test account to the app, ensure it is the main account on device, and that account is opted-in as tester
- Validated your version code and number in your development environment match what is in the Play store.
- You MUST sign the APK even in debug mode.
因此我在 Android csproj 中指定了以下内容:
这是我在 Play 控制台中与 2 名测试人员进行内部测试的 aab 包:
以下是也添加为许可测试人员的测试人员:
但是,使用以下代码不会 return 来自调用 GetProductInfoAsync
的任何产品:
private partial async Task FetchProductDetails(bool isAdsDisabled)
{
var billing = CrossInAppBilling.Current;
try
{
//You must connect
var connected = await billing.ConnectAsync();
if (!connected)
{
//Couldn't connect
return;
}
var products = await billing.GetProductInfoAsync(ItemType.InAppPurchase, productIds);
.
.
.
}
catch (Exception ex)
{
...
}
finally
{
await billing.DisconnectAsync();
}
}
有人知道我是否漏掉了一步吗?缺少什么?
许可响应。您已获得许可。我一直使用 RESPOND_NORMALLY.
我没有使用插件,因为我使用 xamarin.android.google.billingclient.0.0 编写了自己的插件。都在这里工作。
嗯,调试 GetProductInfoAsync 时会发生什么?
如文档中所述,您需要 Alpha/Beta 中的应用程序。内测不行。
我在检索 Android Xamarin 应用的应用内商品时遇到问题。我正在使用 Plugin.InAppBilling
nuget 包(4.0.1-beta 版)来实现计费功能。首先,我遵循说明如下的文档:
Android Testing:
- You MUST use a physical device. Emulators do not work.
- Ensure you have app in Alpha/Beta with the NuGet installed. This will add “com.android.vending.BILLING” permission for you
- Create an IAB product, make sure it is published and active
- Add a test account to the app, ensure it is the main account on device, and that account is opted-in as tester
- Validated your version code and number in your development environment match what is in the Play store.
- You MUST sign the APK even in debug mode.
因此我在 Android csproj 中指定了以下内容:
这是我在 Play 控制台中与 2 名测试人员进行内部测试的 aab 包:
以下是也添加为许可测试人员的测试人员:
但是,使用以下代码不会 return 来自调用 GetProductInfoAsync
的任何产品:
private partial async Task FetchProductDetails(bool isAdsDisabled)
{
var billing = CrossInAppBilling.Current;
try
{
//You must connect
var connected = await billing.ConnectAsync();
if (!connected)
{
//Couldn't connect
return;
}
var products = await billing.GetProductInfoAsync(ItemType.InAppPurchase, productIds);
.
.
.
}
catch (Exception ex)
{
...
}
finally
{
await billing.DisconnectAsync();
}
}
有人知道我是否漏掉了一步吗?缺少什么?
许可响应。您已获得许可。我一直使用 RESPOND_NORMALLY.
我没有使用插件,因为我使用 xamarin.android.google.billingclient.0.0 编写了自己的插件。都在这里工作。
嗯,调试 GetProductInfoAsync 时会发生什么?
如文档中所述,您需要 Alpha/Beta 中的应用程序。内测不行。