Skip to content

Commit

Permalink
Finish Migration to new Android Billing Client Library
Browse files Browse the repository at this point in the history
  • Loading branch information
jamesmontemagno committed Jun 26, 2020
1 parent ede49ec commit 6899f2a
Show file tree
Hide file tree
Showing 16 changed files with 5,473 additions and 2,809 deletions.
Expand Up @@ -15,8 +15,7 @@
<AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
<MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix>
<MonoAndroidAssetsPrefix>Assets</MonoAndroidAssetsPrefix>
<AndroidUseLatestPlatformSdk>false</AndroidUseLatestPlatformSdk>
<TargetFrameworkVersion>v9.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v10.0</TargetFrameworkVersion>
<AndroidHttpClientHandlerType>Xamarin.Android.Net.AndroidClientHandler</AndroidHttpClientHandlerType>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
Expand Down Expand Up @@ -49,13 +48,7 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="System.ValueTuple">
<Version>4.5.0</Version>
</PackageReference>
<PackageReference Include="Xamarin.Android.Google.BillingClient">
<Version>2.0.0</Version>
</PackageReference>
<PackageReference Include="Xamarin.Forms" Version="4.2.0.848062" />
<PackageReference Include="Xamarin.Forms" Version="4.7.0.968" />
</ItemGroup>
<ItemGroup>
<Compile Include="MainActivity.cs" />
Expand Down Expand Up @@ -94,7 +87,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\InAppBillingTests\InAppBillingTests.csproj">
<Project>{4B28D0B8-D15A-43AD-B7A6-9C2338D39F86}</Project>
<Project>{6D4D9135-F225-4626-A9CE-32BDF97AEA89}</Project>
<Name>InAppBillingTests</Name>
</ProjectReference>
</ItemGroup>
Expand Down
Expand Up @@ -18,6 +18,7 @@ protected override void OnCreate(Bundle savedInstanceState)
ToolbarResource = Resource.Layout.Toolbar;

base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
LoadApplication(new App());
}
Expand Down
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.companyname.InAppBillingTests">
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="28" />
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="29" />
<application android:label="InAppBillingTests.Android"></application>
</manifest>
7,297 changes: 5,239 additions & 2,058 deletions src/InAppBillingTests/InAppBillingTests.Android/Resources/Resource.designer.cs

Large diffs are not rendered by default.

Expand Up @@ -151,12 +151,12 @@
<PackageReference Include="System.ValueTuple">
<Version>4.5.0</Version>
</PackageReference>
<PackageReference Include="Xamarin.Forms" Version="4.2.0.848062" />
<PackageReference Include="Xamarin.Forms" Version="4.7.0.968" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
<ItemGroup>
<ProjectReference Include="..\InAppBillingTests\InAppBillingTests.csproj">
<Project>{4B28D0B8-D15A-43AD-B7A6-9C2338D39F86}</Project>
<Project>{6D4D9135-F225-4626-A9CE-32BDF97AEA89}</Project>
<Name>InAppBillingTests</Name>
</ProjectReference>
</ItemGroup>
Expand Down
Expand Up @@ -11,7 +11,7 @@

<ItemGroup>
<PackageReference Include="System.ValueTuple" Version="4.5.0" />
<PackageReference Include="Xamarin.Forms" Version="4.2.0.848062" />
<PackageReference Include="Xamarin.Forms" Version="4.7.0.968" />
</ItemGroup>

<ItemGroup>
Expand Down
10 changes: 3 additions & 7 deletions src/InAppBillingTests/InAppBillingTests/MainPage.xaml.cs
@@ -1,14 +1,10 @@
using Plugin.InAppBilling;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;

namespace InAppBillingTests
{
public partial class MainPage : ContentPage
public partial class MainPage : ContentPage
{
public MainPage()
{
Expand All @@ -25,7 +21,7 @@ private async void ButtonNonConsumable_Clicked(object sender, EventArgs e)
var id = "iaptest";
try
{
var purchase = await CrossInAppBilling.Current.PurchaseAsync(id, ItemType.InAppPurchase, "mypayload");
var purchase = await CrossInAppBilling.Current.PurchaseAsync(id, ItemType.InAppPurchase);

if (purchase == null)
{
Expand All @@ -48,7 +44,7 @@ private async void ButtonSub_Clicked(object sender, EventArgs e)
var id = "renewsub";
try
{
var purchase = await CrossInAppBilling.Current.PurchaseAsync(id, ItemType.Subscription, "mypayload");
var purchase = await CrossInAppBilling.Current.PurchaseAsync(id, ItemType.Subscription);

if(purchase == null)
{
Expand Down
31 changes: 31 additions & 0 deletions src/Plugin.InAppBilling/Converters.android.cs
@@ -0,0 +1,31 @@
using System;
using Android.BillingClient.Api;

namespace Plugin.InAppBilling
{
public static class Converters
{
public static InAppBillingPurchase ToIABPurchase(this Purchase purchase)
{
var finalPurchase = new InAppBillingPurchase
{
AutoRenewing = purchase.IsAutoRenewing,
ConsumptionState = ConsumptionState.NoYetConsumed,
Id = purchase.OrderId,
IsAcknowledged = purchase.IsAcknowledged,
Payload = purchase.DeveloperPayload,
ProductId = purchase.Sku,
PurchaseToken = purchase.PurchaseToken,
TransactionDateUtc = DateTimeOffset.FromUnixTimeMilliseconds(purchase.PurchaseTime).DateTime
};

finalPurchase.State = purchase.PurchaseState switch
{
Android.BillingClient.Api.PurchaseState.Pending => PurchaseState.PaymentPending,
Android.BillingClient.Api.PurchaseState.Purchased => PurchaseState.Purchased,
_ => PurchaseState.Unknown
};
return finalPurchase;
}
}
}

0 comments on commit 6899f2a

Please sign in to comment.