Skip to content

mattleibow/Android.Play.ExpansionLibrary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Deprecation

This library is deprecated moving forward. New packages have been uploaded that are no longer a C# port of the library, but a direct binding of the Java code:

There are several breaking changes, although the API is fairly similar - mostly namespace/type changes. All the changes are documented here, along with their replacements:

https://github.com/xamarin/XamarinComponents/blob/master/Android/GoogleAndroidVending/docs/API-Changes.md

More detailed docs can be found here:

https://github.com/xamarin/XamarinComponents/tree/master/Android/GoogleAndroidVending/docs

The new library is located here:

https://github.com/xamarin/XamarinComponents/tree/master/Android/GoogleAndroidVending


About this project

This is the C# implementation of Google's License Verification Library (r2) and the Android Play Expansion Library (r3)

The downloader currently, correctly, notices that it is on mobile data and asks the user to make a decision on to wait for wifi or use mobile.

For your app

There are no dependencies other than the included projects. There should be two:

  • the LicenseVerificationLibrary (which requires nothing)
  • the ExpansionDownloader (which requires the LVL).

No jars and no resources are needed.

What you do need to add is the required permissions. Either in the manifest:

<uses-permission android:name="com.android.vending.CHECK_LICENSE">

or as an assembly attribute:

[assembly: UsesPermission("com.android.vending.CHECK_LICENSE")]

You can even use the LVL without the Downloader for pure licensing purposes. The other projects are either:

  • Samples (to test using one of my accounts on Play, which you can change)
  • Tests (Unit Tests?).

For you

This is most of the work done and it just needs cleaning and refactoring. I also then want to make it friendlier towards .NET developers and using the C#/.NET types instead of the Java types.

I suppose the most important thing to note is that this is an almost direct translation of the Java code. This is not really bad, but some things could have been done better/differently in C#. eg: The IPCs could be better implemented, but I haven't gotten around to that yet.

Your contributions

The ToDo list is sort of the open issues part on GitHub. Please feel free to add any new issues as new things come up. Or any suggestions for improvements.

License

This code is released under the Apache 2.0 License. http://www.apache.org/licenses/LICENSE-2.0.html